summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile23
-rw-r--r--build/aodh-os-cloud-config.patch28
-rw-r--r--build/aodh-puppet-tripleo.patch111
-rw-r--r--build/aodh-tripleoclient.patch51
-rw-r--r--build/cache.sh8
-rw-r--r--build/network-environment.yaml19
-rw-r--r--build/nics-compute.yaml.template (renamed from build/nics/controller_storage.yaml)142
-rw-r--r--build/nics-controller.yaml.template (renamed from build/nics/controller_private_storage.yaml)66
-rw-r--r--build/nics/compute.yaml102
-rw-r--r--build/nics/compute_br-ex.yaml108
-rw-r--r--build/nics/compute_br-ex_no-public-ip.yaml101
-rw-r--r--build/nics/compute_no-public-ip.yaml91
-rw-r--r--build/nics/compute_private.yaml108
-rw-r--r--build/nics/compute_private_br-ex.yaml114
-rw-r--r--build/nics/compute_private_br-ex_no-public-ip.yaml107
-rw-r--r--build/nics/compute_private_no-public-ip.yaml98
-rw-r--r--build/nics/compute_private_storage.yaml115
-rw-r--r--build/nics/compute_private_storage_br-ex.yaml121
-rw-r--r--build/nics/compute_private_storage_br-ex_no-public-ip.yaml114
-rw-r--r--build/nics/compute_private_storage_no-public-ip.yaml104
-rw-r--r--build/nics/compute_storage.yaml108
-rw-r--r--build/nics/compute_storage_br-ex.yaml114
-rw-r--r--build/nics/compute_storage_br-ex_no-public-ip.yaml107
-rw-r--r--build/nics/compute_storage_no-public-ip.yaml97
-rw-r--r--build/nics/controller.yaml116
-rw-r--r--build/nics/controller_private.yaml123
-rw-r--r--build/opnfv-apex-undercloud.spec46
-rwxr-xr-xbuild/overcloud-full.sh35
-rwxr-xr-xbuild/overcloud-opendaylight.sh13
-rw-r--r--build/puppet-cinder-quota-fix.patch24
-rw-r--r--build/puppet-neutron-force-metadata.patch50
-rwxr-xr-xbuild/undercloud.sh31
-rw-r--r--build/variables.sh4
-rwxr-xr-xci/clean.sh29
-rwxr-xr-xci/deploy.sh30
35 files changed, 250 insertions, 2408 deletions
diff --git a/build/Makefile b/build/Makefile
index 53f8a488..36c6e696 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -35,6 +35,9 @@ images-clean: undercloud-clean overcloud-full-clean overcloud-opendaylight-clean
.PHONY: rpms
rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm opendaylight-sfc-rpm
+.PHONY: rpms-check
+rpms-check: common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check opendaylight-sfc-rpm-check
+
.PHONY: rpms-clean
rpms-clean: common-rpm-clean undercloud-rpm-clean opendaylight-rpm-clean onos-rpm-clean opendaylight-sfc-rpm-clean
@@ -62,16 +65,25 @@ images/undercloud.qcow2:
@echo "Building the Apex Undercloud Image"
@./undercloud.sh
-.PHONY: undercloud-rpm
-undercloud-rpm: images/undercloud.qcow2 $(RPMUDR)
+.PHONY: undercloud-rpm-prep
+undercloud-rpm-prep: opnfv-apex-undercloud.tar
-$(RPMUDR):
- @echo "Building the Apex Undercloud RPM"
- # build the undercloud RPM
+opnfv-apex-undercloud.tar: images/undercloud.qcow2
+ @echo "Preparing the Apex Undercloud RPM prerequisites"
pushd ../ && git archive --format=tar --prefix=opnfv-apex-undercloud-$(RPMVERS)/ HEAD > build/opnfv-apex-undercloud.tar
tar -rf opnfv-apex-undercloud.tar \
--xform="s:images/undercloud.qcow2:opnfv-apex-undercloud-$(RPMVERS)/build/undercloud.qcow2:" images/undercloud.qcow2
gzip -f opnfv-apex-undercloud.tar
+
+.PHONY: undercloud-rpm-check
+undercloud-rpm-check: undercloud-rpm-prep
+ rpmbuild --clean -bi -bl opnfv-apex-undercloud.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
+
+.PHONY: undercloud-rpm
+undercloud-rpm: images/undercloud.qcow2 $(RPMUDR)
+
+$(RPMUDR):
+ @echo "Building the Apex Undercloud RPM"
rpmbuild --clean -ba opnfv-apex-undercloud.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
###############
@@ -80,6 +92,7 @@ $(RPMUDR):
.PHONY: overcloud-full-clean
overcloud-full-clean:
+ @rm -rf images/overcloud-full.d
@rm -f images/overcloud-full.*
.PHONY: overcloud-full
diff --git a/build/aodh-os-cloud-config.patch b/build/aodh-os-cloud-config.patch
deleted file mode 100644
index e2995401..00000000
--- a/build/aodh-os-cloud-config.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6809aa30bdd447dc839fe66af59b88836a2dd2ef Mon Sep 17 00:00:00 2001
-From: Tim Rozet <trozet@redhat.com>
-Date: Mon, 25 Jan 2016 21:48:22 +0000
-Subject: [PATCH] Adds aodh
-
----
- keystone.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/keystone.py b/keystone.py
-index 90ea00a..b74f223 100644
---- a/keystone.py
-+++ b/keystone.py
-@@ -75,6 +75,11 @@ SERVICES = {
- 'type': 'metering',
- 'port': 8777,
- },
-+ 'aodh': {
-+ 'description': 'Aodh Service',
-+ 'type': 'alarming',
-+ 'port': 8042,
-+ },
- 'cinder': {
- 'description': 'Cinder Volume Service',
- 'type': 'volume',
---
-1.8.3.1
-
diff --git a/build/aodh-puppet-tripleo.patch b/build/aodh-puppet-tripleo.patch
deleted file mode 100644
index 819b9061..00000000
--- a/build/aodh-puppet-tripleo.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 784cd3f4e6481b9c802db25ab379fccdab4bd1c3 Mon Sep 17 00:00:00 2001
-From: Emilien Macchi <emilien@redhat.com>
-Date: Tue, 3 Nov 2015 17:43:01 -0500
-Subject: [PATCH] loadbalancer: add Aodh API support
-
-Add Aodh (Ceilometer Alarming) support in TripleO Loadbalancer config.
-
-Change-Id: I891985da9248a88c6ce2df1dd186881f582605ee
----
- manifests/loadbalancer.pp | 43 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
-diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp
-index 16a4f80..2fcfac6 100644
---- a/manifests/loadbalancer.pp
-+++ b/manifests/loadbalancer.pp
-@@ -130,6 +130,11 @@
- # When set, enables SSL on the Ceilometer public API endpoint using the specified file.
- # Defaults to undef
- #
-+# [*aodh_certificate*]
-+# Filename of an HAProxy-compatible certificate and key file
-+# When set, enables SSL on the Aodh public API endpoint using the specified file.
-+# Defaults to undef
-+#
- # [*swift_certificate*]
- # Filename of an HAProxy-compatible certificate and key file
- # When set, enables SSL on the Swift public API endpoint using the specified file.
-@@ -198,6 +203,10 @@
- # (optional) Enable or not Ceilometer API binding
- # Defaults to false
- #
-+# [*aodh*]
-+# (optional) Enable or not Aodh API binding
-+# Defaults to false
-+#
- # [*swift_proxy_server*]
- # (optional) Enable or not Swift API binding
- # Defaults to false
-@@ -262,6 +271,7 @@ class tripleo::loadbalancer (
- $glance_certificate = undef,
- $nova_certificate = undef,
- $ceilometer_certificate = undef,
-+ $aodh_certificate = undef,
- $swift_certificate = undef,
- $heat_certificate = undef,
- $horizon_certificate = undef,
-@@ -278,6 +288,7 @@ class tripleo::loadbalancer (
- $nova_metadata = false,
- $nova_novncproxy = false,
- $ceilometer = false,
-+ $aodh = false,
- $swift_proxy_server = false,
- $heat_api = false,
- $heat_cloudwatch = false,
-@@ -421,6 +432,11 @@ class tripleo::loadbalancer (
- } else {
- $ceilometer_bind_certificate = $service_certificate
- }
-+ if $aodh_certificate {
-+ $aodh_bind_certificate = $aodh_certificate
-+ } else {
-+ $aodh_bind_certificate = $service_certificate
-+ }
- if $swift_certificate {
- $swift_bind_certificate = $swift_certificate
- } else {
-@@ -558,6 +574,19 @@ class tripleo::loadbalancer (
- }
- }
-
-+ $aodh_api_vip = hiera('aodh_api_vip', $controller_virtual_ip)
-+ if $aodh_bind_certificate {
-+ $aodh_bind_opts = {
-+ "${aodh_api_vip}:8042" => [],
-+ "${public_virtual_ip}:13042" => ['ssl', 'crt', $aodh_bind_certificate],
-+ }
-+ } else {
-+ $aodh_bind_opts = {
-+ "${aodh_api_vip}:8042" => [],
-+ "${public_virtual_ip}:8042" => [],
-+ }
-+ }
-+
- $swift_proxy_vip = hiera('swift_proxy_vip', $controller_virtual_ip)
- if $swift_bind_certificate {
- $swift_bind_opts = {
-@@ -840,6 +869,20 @@ class tripleo::loadbalancer (
- }
- }
-
-+ if $aodh {
-+ haproxy::listen { 'aodh':
-+ bind => $aodh_bind_opts,
-+ collect_exported => false,
-+ }
-+ haproxy::balancermember { 'aodh':
-+ listening_service => 'aodh',
-+ ports => '8042',
-+ ipaddresses => hiera('aodh_api_node_ips', $controller_hosts_real),
-+ server_names => $controller_hosts_names_real,
-+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
-+ }
-+ }
-+
- if $swift_proxy_server {
- haproxy::listen { 'swift_proxy_server':
- bind => $swift_bind_opts,
---
-1.8.3.1
-
diff --git a/build/aodh-tripleoclient.patch b/build/aodh-tripleoclient.patch
deleted file mode 100644
index 5464ddf5..00000000
--- a/build/aodh-tripleoclient.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From de3bb2ff31fb19238b164dcc794f6df80f0d0d38 Mon Sep 17 00:00:00 2001
-From: Tim Rozet <trozet@redhat.com>
-Date: Mon, 25 Jan 2016 19:15:38 +0000
-Subject: [PATCH] Adds aodh keystone
-
----
- constants.py | 1 +
- utils.py | 2 ++
- v1/overcloud_deploy.py | 1 +
- 3 files changed, 4 insertions(+)
-
-diff --git a/constants.py b/constants.py
-index 5b0218f..3816622 100644
---- a/constants.py
-+++ b/constants.py
-@@ -29,6 +29,7 @@ SERVICE_LIST = {
- 'port': '80',
- 'path': WEBROOT,
- 'admin_path': '%sadmin' % WEBROOT},
-+ 'aodh': {'password_field': 'OVERCLOUD_AODH_PASSWORD'},
- }
-
- TRIPLEO_HEAT_TEMPLATES = "/usr/share/openstack-tripleo-heat-templates/"
-diff --git a/utils.py b/utils.py
-index 35591f2..a8eae54 100644
---- a/utils.py
-+++ b/utils.py
-@@ -60,6 +60,8 @@ def generate_overcloud_passwords(output_file="tripleo-overcloud-passwords"):
- "OVERCLOUD_NOVA_PASSWORD",
- "OVERCLOUD_SWIFT_HASH",
- "OVERCLOUD_SWIFT_PASSWORD",
-+ "OVERCLOUD_AODH_PASSWORD",
-+ "OVERCLOUD_AODH_SECRET",
- )
-
- passwords = dict((p, passutils.generate_password(size=_MIN_PASSWORD_SIZE))
-diff --git a/v1/overcloud_deploy.py b/v1/overcloud_deploy.py
-index f4c4892..1a356c4 100644
---- a/v1/overcloud_deploy.py
-+++ b/v1/overcloud_deploy.py
-@@ -79,6 +79,7 @@ class DeployOvercloud(command.Command):
- parameters['SwiftPassword'] = passwords['OVERCLOUD_SWIFT_PASSWORD']
- parameters['SnmpdReadonlyUserPassword'] = (
- undercloud_ceilometer_snmpd_password)
-+ parameters['AodhPassword'] = passwords['OVERCLOUD_AODH_PASSWORD']
-
- def _update_paramaters(self, args, network_client, stack):
- parameters = constants.PARAMETERS.copy()
---
-1.8.3.1
-
diff --git a/build/cache.sh b/build/cache.sh
index b8cd8ecc..72d0a87f 100644
--- a/build/cache.sh
+++ b/build/cache.sh
@@ -25,8 +25,10 @@ function cache_git_tar {
# $2 = filename to write to
function curl_file {
echo "Downloading $1"
- echo "Cache location: $CACHE_DIR/$2"
- curl -L $1 > $CACHE_DIR/$2
+ echo "Cache download location: $CACHE_DIR/$2"
+ until curl -C- -L -o $CACHE_DIR/$2 $1 || (( count++ >= 20 )); do
+ echo -n '' #do nothing, we just want to loop
+ done
sed -i "/$2/d" $CACHE_DIR/.cache
echo "$(md5sum $CACHE_DIR/$2) $2" >> $CACHE_DIR/.cache
}
@@ -44,7 +46,7 @@ function populate_cache {
if [ ! -f $CACHE_DIR/${filename} ]; then
curl_file $1 $filename
else
- remote_md5="$(curl -L ${1}.md5 | awk {'print $1'})"
+ remote_md5="$(curl -sf -L ${1}.md5 | awk {'print $1'})"
if [ -z "$remote_md5" ]; then
echo "Got empty MD5 from remote for $filename, skipping MD5 check"
elif [ "$remote_md5" != "$(grep ${filename} $CACHE_DIR/.cache | awk {'print $1'})" ]; then
diff --git a/build/network-environment.yaml b/build/network-environment.yaml
index b5ac5e7b..27733005 100644
--- a/build/network-environment.yaml
+++ b/build/network-environment.yaml
@@ -1,12 +1,23 @@
-# Enable the creation of Neutron networks for isolated Overcloud
+# Enable the creation of Neutron networks for isolated OvercloudV
# traffic and configure each role to assign ports (related
# to that role) on these networks.
+# Many networks are disabled by default because they are not used
+# in a typical configuration. Override via parameter_defaults.
resource_registry:
OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml
OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/noop.yaml
OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/noop.yaml
OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/noop.yaml
OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/noop.yaml
+ # Management network is optional and disabled by default
+ #OS::TripleO::Network::Management: /usr/share/openstack-tripleo-heat-templates/network/noop.yaml
+
+ # Port assignments for the VIPs
+ OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
+ OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/ctlplane_vip.yaml
# Port assignments for the controller role
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
@@ -14,15 +25,15 @@ resource_registry:
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ #OS::TripleO::Controller::Ports::ManagementPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
# Port assignments for the compute role
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml
-
- # Port assignments for service virtual IPs for the controller role
- OS::TripleO::Controller::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
+ #OS::TripleO::Compute::Ports::ManagementPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
# NIC assignments
OS::TripleO::Compute::Net::SoftwareConfig: nics/compute.yaml
diff --git a/build/nics/controller_storage.yaml b/build/nics-compute.yaml.template
index 7962592a..86f3972a 100644
--- a/build/nics/controller_storage.yaml
+++ b/build/nics-compute.yaml.template
@@ -1,8 +1,100 @@
+#!/bin/bash
+if [[ $nics_cfg == *_private* ]]; then
+ private_net=$( cat << END
+
+ -
+ # Create a bridge which can also be used for VLAN-mode bridge mapping
+ type: ovs_bridge
+ name: br-tenant
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
+ members:
+ -
+ type: interface
+ name: nic2
+ use_dhcp: false
+ # force the MAC address of the bridge to this interface
+ primary: true
+END
+)
+fi
+
+if [[ $nics_cfg == *_storage* ]]; then
+ storage_net=$( cat << END
+ -
+ type: interface
+ name: nic4
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
+END
+)
+fi
+
+if [[ $nics_cfg == *_br-ex* ]]; then
+ br_ex=$( cat << END
+
+ members:
+ -
+ type: interface
+ name: nic3
+ # force the MAC address of the bridge to this interface
+ primary: true
+
+END
+)
+ nic3=$( cat << END
+
+ -
+ type: ovs_bridge
+ name: {get_input: bridge_name}
+END
+)
+else
+ nic3=$( cat << END
+
+ -
+ type: interface
+ name: nic3
+
+END
+)
+fi
+
+if [[ $nics_cfg == *_no-public-ip* ]]; then
+ if [[ $nics_cfg == *_br-ex* ]]; then
+ nic3+=$( cat << END
+
+ use_dhcp: false
+END
+)
+ else
+ nic3=""
+ fi
+else
+ nic3+=$( cat << END
+
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: ExternalIpSubnet}
+ routes:
+ -
+ ip_netmask: 0.0.0.0/0
+ next_hop: {get_param: ExternalInterfaceDefaultRoute}
+END
+)
+fi
+
+cat <<END
heat_template_version: 2015-04-30
description: >
Software Config to drive os-net-config to configure multiple interfaces
- for the controller role.
+ for the compute role.
parameters:
ControlPlaneIp:
@@ -25,10 +117,18 @@ parameters:
default: ''
description: IP address/subnet on the storage mgmt network
type: string
+ StorageMgmtNetworkVlanID:
+ default: 40
+ description: Vlan ID for the storage mgmt network traffic.
+ type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -41,14 +141,14 @@ parameters:
default: 30
description: Vlan ID for the storage network traffic.
type: number
- StorageMgmtNetworkVlanID:
- default: 40
- description: Vlan ID for the storage mgmt network traffic.
- type: number
TenantNetworkVlanID:
default: 50
description: Vlan ID for the tenant network traffic.
type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
@@ -58,12 +158,12 @@ parameters:
description: The subnet CIDR of the control plane network.
type: string
ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
+ description: The default route of the control plane network.
type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
+ type: comma_delimited_list
EC2MetadataIp: # Override this via parameter_defaults
description: The IP address of the EC2 metadata server.
type: string
@@ -92,32 +192,12 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
-
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-
+ default: true
+ next_hop: {get_param: ControlPlaneDefaultRoute}$private_net$nic3$br_ex
+$storage_net
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value: {get_resource: OsNetConfigImpl}
+END
diff --git a/build/nics/controller_private_storage.yaml b/build/nics-controller.yaml.template
index dee02013..d5a0bcdd 100644
--- a/build/nics/controller_private_storage.yaml
+++ b/build/nics-controller.yaml.template
@@ -1,3 +1,41 @@
+#!/bin/bash
+if [[ $nics_cfg == *_private* ]]; then
+ private_net=$( cat << END
+
+ # Create a bridge which can also be used for VLAN-mode bridge mapping
+ type: ovs_bridge
+ name: br-tenant
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
+ members:
+ -
+ type: interface
+ name: nic2
+ use_dhcp: false
+ # force the MAC address of the bridge to this interface
+ primary: true
+ -
+END
+)
+fi
+
+if [[ $nics_cfg == *_storage* ]]; then
+ storage_net=$( cat << END
+
+ -
+ type: interface
+ name: nic4
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
+END
+)
+fi
+
+cat <<END
heat_template_version: 2015-04-30
description: >
@@ -29,6 +67,10 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -63,7 +105,7 @@ parameters:
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
+ type: comma_delimited_list
EC2MetadataIp: # Override this via parameter_defaults
description: The IP address of the EC2 metadata server.
type: string
@@ -92,39 +134,27 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
+ -$private_net
type: ovs_bridge
name: {get_input: bridge_name}
+ dns_servers: {get_param: DnsServers}
use_dhcp: false
addresses:
-
ip_netmask: {get_param: ExternalIpSubnet}
routes:
-
- ip_netmask: 0.0.0.0/0
+ default: true
next_hop: {get_param: ExternalInterfaceDefaultRoute}
members:
-
type: interface
name: nic3
# force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ primary: true$storage_net
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value: {get_resource: OsNetConfigImpl}
+END
diff --git a/build/nics/compute.yaml b/build/nics/compute.yaml
deleted file mode 100644
index 6978e9e3..00000000
--- a/build/nics/compute.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic3
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_br-ex.yaml b/build/nics/compute_br-ex.yaml
deleted file mode 100644
index d187a96c..00000000
--- a/build/nics/compute_br-ex.yaml
+++ /dev/null
@@ -1,108 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_br-ex_no-public-ip.yaml b/build/nics/compute_br-ex_no-public-ip.yaml
deleted file mode 100644
index 30c23c4d..00000000
--- a/build/nics/compute_br-ex_no-public-ip.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_no-public-ip.yaml b/build/nics/compute_no-public-ip.yaml
deleted file mode 100644
index 5a1d0fd8..00000000
--- a/build/nics/compute_no-public-ip.yaml
+++ /dev/null
@@ -1,91 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private.yaml b/build/nics/compute_private.yaml
deleted file mode 100644
index 9bc1b69d..00000000
--- a/build/nics/compute_private.yaml
+++ /dev/null
@@ -1,108 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: interface
- name: nic3
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_br-ex.yaml b/build/nics/compute_private_br-ex.yaml
deleted file mode 100644
index 94a39bf5..00000000
--- a/build/nics/compute_private_br-ex.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_br-ex_no-public-ip.yaml b/build/nics/compute_private_br-ex_no-public-ip.yaml
deleted file mode 100644
index 2355eacc..00000000
--- a/build/nics/compute_private_br-ex_no-public-ip.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_no-public-ip.yaml b/build/nics/compute_private_no-public-ip.yaml
deleted file mode 100644
index 019334e3..00000000
--- a/build/nics/compute_private_no-public-ip.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_storage.yaml b/build/nics/compute_private_storage.yaml
deleted file mode 100644
index fc51cfdd..00000000
--- a/build/nics/compute_private_storage.yaml
+++ /dev/null
@@ -1,115 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: interface
- name: nic3
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_storage_br-ex.yaml b/build/nics/compute_private_storage_br-ex.yaml
deleted file mode 100644
index 1094bb25..00000000
--- a/build/nics/compute_private_storage_br-ex.yaml
+++ /dev/null
@@ -1,121 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_storage_br-ex_no-public-ip.yaml b/build/nics/compute_private_storage_br-ex_no-public-ip.yaml
deleted file mode 100644
index 32c47eb1..00000000
--- a/build/nics/compute_private_storage_br-ex_no-public-ip.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_private_storage_no-public-ip.yaml b/build/nics/compute_private_storage_no-public-ip.yaml
deleted file mode 100644
index a335ca34..00000000
--- a/build/nics/compute_private_storage_no-public-ip.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_storage.yaml b/build/nics/compute_storage.yaml
deleted file mode 100644
index a1f22a35..00000000
--- a/build/nics/compute_storage.yaml
+++ /dev/null
@@ -1,108 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic3
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_storage_br-ex.yaml b/build/nics/compute_storage_br-ex.yaml
deleted file mode 100644
index 47412a51..00000000
--- a/build/nics/compute_storage_br-ex.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_storage_br-ex_no-public-ip.yaml b/build/nics/compute_storage_br-ex_no-public-ip.yaml
deleted file mode 100644
index 34583b8e..00000000
--- a/build/nics/compute_storage_br-ex_no-public-ip.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/compute_storage_no-public-ip.yaml b/build/nics/compute_storage_no-public-ip.yaml
deleted file mode 100644
index 38fdd0cd..00000000
--- a/build/nics/compute_storage_no-public-ip.yaml
+++ /dev/null
@@ -1,97 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the compute role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic4
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/controller.yaml b/build/nics/controller.yaml
deleted file mode 100644
index 336b34a1..00000000
--- a/build/nics/controller.yaml
+++ /dev/null
@@ -1,116 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the controller role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- ExternalNetworkVlanID:
- default: 10
- description: Vlan ID for the external network traffic.
- type: number
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- StorageMgmtNetworkVlanID:
- default: 40
- description: Vlan ID for the storage mgmt network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/nics/controller_private.yaml b/build/nics/controller_private.yaml
deleted file mode 100644
index f1edf020..00000000
--- a/build/nics/controller_private.yaml
+++ /dev/null
@@ -1,123 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- Software Config to drive os-net-config to configure multiple interfaces
- for the controller role.
-
-parameters:
- ControlPlaneIp:
- default: ''
- description: IP address/subnet on the ctlplane network
- type: string
- ExternalIpSubnet:
- default: ''
- description: IP address/subnet on the external network
- type: string
- InternalApiIpSubnet:
- default: ''
- description: IP address/subnet on the internal API network
- type: string
- StorageIpSubnet:
- default: ''
- description: IP address/subnet on the storage network
- type: string
- StorageMgmtIpSubnet:
- default: ''
- description: IP address/subnet on the storage mgmt network
- type: string
- TenantIpSubnet:
- default: ''
- description: IP address/subnet on the tenant network
- type: string
- ExternalNetworkVlanID:
- default: 10
- description: Vlan ID for the external network traffic.
- type: number
- InternalApiNetworkVlanID:
- default: 20
- description: Vlan ID for the internal_api network traffic.
- type: number
- StorageNetworkVlanID:
- default: 30
- description: Vlan ID for the storage network traffic.
- type: number
- StorageMgmtNetworkVlanID:
- default: 40
- description: Vlan ID for the storage mgmt network traffic.
- type: number
- TenantNetworkVlanID:
- default: 50
- description: Vlan ID for the tenant network traffic.
- type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The subnet CIDR of the control plane network.
- type: string
- DnsServers: # Override this via parameter_defaults
- default: []
- description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
- type: json
- EC2MetadataIp: # Override this via parameter_defaults
- description: The IP address of the EC2 metadata server.
- type: string
-
-resources:
- OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- os_net_config:
- network_config:
- -
- type: interface
- name: nic1
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
- list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- type: interface
- name: nic2
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: false
- addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
- routes:
- -
- ip_netmask: 0.0.0.0/0
- next_hop: {get_param: ExternalInterfaceDefaultRoute}
- members:
- -
- type: interface
- name: nic3
- # force the MAC address of the bridge to this interface
- primary: true
-
-outputs:
- OS::stack_id:
- description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
diff --git a/build/opnfv-apex-undercloud.spec b/build/opnfv-apex-undercloud.spec
index 9477551b..d8b342ea 100644
--- a/build/opnfv-apex-undercloud.spec
+++ b/build/opnfv-apex-undercloud.spec
@@ -25,52 +25,18 @@ mkdir -p %{buildroot}%{_var}/opt/opnfv/nics/
install build/undercloud.qcow2 %{buildroot}%{_var}/opt/opnfv/images/
install build/network-environment.yaml %{buildroot}%{_var}/opt/opnfv/
-install build/nics/controller.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_private.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_private_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
+install build/nics-controller.yaml.template %{buildroot}%{_var}/opt/opnfv/nics-controller.yaml.template
+install build/nics-compute.yaml.template %{buildroot}%{_var}/opt/opnfv/nics-compute.yaml.template
%files
%defattr(644, root, root, -)
%{_var}/opt/opnfv/images/undercloud.qcow2
%{_var}/opt/opnfv/network-environment.yaml
-%{_var}/opt/opnfv/nics/controller.yaml
-%{_var}/opt/opnfv/nics/compute.yaml
-%{_var}/opt/opnfv/nics/controller_private.yaml
-%{_var}/opt/opnfv/nics/compute_private.yaml
-%{_var}/opt/opnfv/nics/controller_storage.yaml
-%{_var}/opt/opnfv/nics/compute_storage.yaml
-%{_var}/opt/opnfv/nics/controller_private_storage.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage.yaml
-%{_var}/opt/opnfv/nics/compute_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_private_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_storage_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_storage_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_storage_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_br-ex_no-public-ip.yaml
+%{_var}/opt/opnfv/nics-controller.yaml.template
+%{_var}/opt/opnfv/nics-compute.yaml.template
%changelog
+* Wed Mar 30 2016 Dan Radez <dradez@redhat.com> - 2.1-2
+- Replacing NIC files with templates
* Thu Jan 14 2016 Dan Radez <dradez@redhat.com> - 2.1-1
- Package Split
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index 5e11b778..065201f8 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -22,42 +22,11 @@ mv -f images/overcloud-full.qcow2 images/overcloud-full_build.qcow2
##########################################################
pushd images > /dev/null
-# Update puppet-aodh it's old
-rm -rf aodh
-git clone https://github.com/openstack/puppet-aodh aodh
-pushd aodh > /dev/null
-git checkout stable/liberty
-popd > /dev/null
-tar -czf puppet-aodh.tar.gz aodh
-
-# grab latest puppet-neutron module
-rm -rf puppet-neutron
-git clone -b stable/liberty https://github.com/openstack/puppet-neutron.git
-pushd puppet-neutron
-git archive --format=tar.gz --prefix=neutron/ HEAD > ../puppet-neutron.tar.gz
-popd
-
-# Add epel to install ceph
-# update aodh
-# puppet-neutron-force-metadata.patch
-# puppet-cinder-quota-fix
-#aodh-puppet-tripleo
-AODH_PKG="openstack-aodh-api,openstack-aodh-common,openstack-aodh-compat,openstack-aodh-evaluator,openstack-aodh-expirer"
-AODH_PKG+=",openstack-aodh-listener,openstack-aodh-notifier"
+# remove openstack-neutron-openvswitch, ain't nobody need that in OPNFV
+# enable connection tracking for protocal sctp
LIBGUESTFS_BACKEND=direct virt-customize \
- --upload puppet-aodh.tar.gz:/etc/puppet/modules/ \
- --run-command "cd /etc/puppet/modules/ && rm -rf aodh && tar xzf puppet-aodh.tar.gz" \
--run-command "echo 'nf_conntrack_proto_sctp' > /etc/modules-load.d/nf_conntrack_proto_sctp.conf" \
- --install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
- --install "$AODH_PKG,ceph" \
- --run-command "rm -rf /etc/puppet/modules/neutron" \
- --upload puppet-neutron.tar.gz:/etc/puppet/modules/ \
- --run-command "cd /etc/puppet/modules/ && tar xzf puppet-neutron.tar.gz" \
- --upload ../puppet-cinder-quota-fix.patch:/tmp \
- --run-command "cd /etc/puppet/modules/cinder && patch -Np1 < /tmp/puppet-cinder-quota-fix.patch" \
- --upload ../aodh-puppet-tripleo.patch:/tmp \
- --run-command "cd /etc/puppet/modules/tripleo && patch -Np1 < /tmp/aodh-puppet-tripleo.patch" \
-a overcloud-full_build.qcow2
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh
index 3ce88349..8d5a2b9f 100755
--- a/build/overcloud-opendaylight.sh
+++ b/build/overcloud-opendaylight.sh
@@ -27,18 +27,19 @@ gpgcheck=0
EOF
# install ODL packages
-# patch puppet-neutron: ODL Bug, Url check reports ODL is up but it's not quite up
+# install Jolokia for ODL HA
+# Patch in OPNFV custom puppet-tripleO
LIBGUESTFS_BACKEND=direct virt-customize \
--upload /tmp/opendaylight.repo:/etc/yum.repos.d/opendaylight.repo \
--install opendaylight,python-networking-odl \
--install https://github.com/michaeltchapman/networking_rpm/raw/master/openstack-neutron-bgpvpn-2015.2-1.el7.centos.noarch.rpm \
+ --run-command "wget https://github.com/rhuss/jolokia/releases/download/v1.3.3/jolokia-1.3.3-bin.tar.gz -O /tmp/jolokia-1.3.3-bin.tar.gz" \
+ --run-command "tar -xvf /tmp/jolokia-1.3.3-bin.tar.gz -C /opt/opendaylight/system/org" \
-a overcloud-full-opendaylight_build.qcow2
-# install Jolokia for ODL HA
-LIBGUESTFS_BACKEND=direct virt-customize \
- --upload ${odl_artifacts_cache}/jolokia.tar.gz:/tmp/ \
- --run-command "tar -xvf /tmp/jolokia.tar.gz -C /opt/opendaylight/system/org" \
- -a overcloud-full-opendaylight_build.qcow2
+ # Move these two lines above the -a overcloud-full-opendaylight_build.qcow2 when the patch has been rebased
+ #--upload ../opnfv-puppet-tripleo.patch:/tmp \
+ #--run-command "cd /etc/puppet/modules/tripleo && patch -Np1 < /tmp/opnfv-puppet-tripleo.patch" \
## WORK AROUND
## when OpenDaylight lands in upstream RDO manager this can be removed
diff --git a/build/puppet-cinder-quota-fix.patch b/build/puppet-cinder-quota-fix.patch
deleted file mode 100644
index 2369a517..00000000
--- a/build/puppet-cinder-quota-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b005b350768987d9423ab22b09f52e79b2eda5d9 Mon Sep 17 00:00:00 2001
-From: Tim Rozet <tdrozet@gmail.com>
-Date: Wed, 20 Jan 2016 13:57:01 -0500
-Subject: [PATCH] Fixes quota problem with cinder
-
----
- manifests/api.pp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/manifests/api.pp b/manifests/api.pp
-index 6ffd8a6..9fcb59e 100644
---- a/manifests/api.pp
-+++ b/manifests/api.pp
-@@ -282,6 +282,7 @@ class cinder::api (
- if $keystone_enabled {
- cinder_config {
- 'DEFAULT/auth_strategy': value => 'keystone' ;
-+ 'keystone_authtoken/auth_uri': value => $auth_uri_real;
- }
-
- cinder_api_paste_ini {
---
-2.5.0
-
diff --git a/build/puppet-neutron-force-metadata.patch b/build/puppet-neutron-force-metadata.patch
deleted file mode 100644
index df6061ba..00000000
--- a/build/puppet-neutron-force-metadata.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From ca931831dbfe876095357acbf39dca17c3d3df71 Mon Sep 17 00:00:00 2001
-From: root <root@overcloud-controller-0.localdomain>
-Date: Sun, 17 Jan 2016 03:07:49 +0000
-Subject: [PATCH] Adds force metadata option
-
----
- manifests/agents/dhcp.pp | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp
-index 0c10492..cf772b5 100644
---- a/manifests/agents/dhcp.pp
-+++ b/manifests/agents/dhcp.pp
-@@ -53,6 +53,10 @@
- # (optional) enable metadata support on isolated networks.
- # Defaults to false.
- #
-+# [*enable_force_metadata*]
-+# (optional) enable metadata support on all networks.
-+# Defaults to false.
-+#
- # [*enable_metadata_network*]
- # (optional) Allows for serving metadata requests coming from a dedicated metadata
- # access network whose cidr is 169.254.169.254/16 (or larger prefix), and is
-@@ -86,6 +90,7 @@ class neutron::agents::dhcp (
- $dnsmasq_config_file = undef,
- $dhcp_delete_namespaces = true,
- $enable_isolated_metadata = false,
-+ $enable_force_metadata = false,
- $enable_metadata_network = false,
- $dhcp_broadcast_reply = false,
- # DEPRECATED PARAMETERS
-@@ -110,11 +115,12 @@ class neutron::agents::dhcp (
- }
- }
-
-- if (! $enable_isolated_metadata) and $enable_metadata_network {
-- fail('enable_metadata_network to true requires enable_isolated_metadata also enabled.')
-+ if (! ($enable_isolated_metadata or $enable_force_metadata)) and $enable_metadata_network {
-+ fail('enable_metadata_network to true requires enable_isolated_metadata or enable_force_metadata also enabled.')
- } else {
- neutron_dhcp_agent_config {
- 'DEFAULT/enable_isolated_metadata': value => $enable_isolated_metadata;
-+ 'DEFAULT/force_metadata': value => $enable_force_metadata;
- 'DEFAULT/enable_metadata_network': value => $enable_metadata_network;
- }
- }
---
-1.8.3.1
-
diff --git a/build/undercloud.sh b/build/undercloud.sh
index 351eaf3a..02ff3ff6 100755
--- a/build/undercloud.sh
+++ b/build/undercloud.sh
@@ -18,40 +18,19 @@ cp -f cache/undercloud.qcow2 images/
#Adding OpenStack packages to undercloud
pushd images > /dev/null
-LIBGUESTFS_BACKEND=direct virt-customize --install yum-priorities -a undercloud.qcow2
-PACKAGES="qemu-kvm-common,qemu-kvm,libvirt-daemon-kvm,libguestfs,python-libguestfs,openstack-nova-compute"
-PACKAGES+=",openstack-swift,openstack-ceilometer-api,openstack-neutron-ml2,openstack-ceilometer-alarm"
-PACKAGES+=",openstack-nova-conductor,openstack-ironic-inspector,openstack-ironic-api,python-openvswitch"
-PACKAGES+=",openstack-glance,python-glance,python-troveclient,openstack-puppet-modules"
-PACKAGES+=",openstack-neutron,openstack-neutron-openvswitch,openstack-nova-scheduler,openstack-keystone,openstack-swift-account"
-PACKAGES+=",openstack-swift-container,openstack-swift-object,openstack-swift-plugin-swift3,openstack-swift-proxy"
-PACKAGES+=",openstack-nova-api,openstack-nova-cert,openstack-heat-api-cfn,openstack-heat-api,"
-PACKAGES+=",openstack-ceilometer-central,openstack-ceilometer-polling,openstack-ceilometer-collector,"
-PACKAGES+=",openstack-heat-api-cloudwatch,openstack-heat-engine,openstack-heat-common,openstack-ceilometer-notification"
-PACKAGES+=",hiera,puppet,memcached,keepalived,mariadb,mariadb-server,rabbitmq-server,python-pbr,python-proliantutils"
-PACKAGES+=",ceph-common"
-
# install the packages above and enabling ceph to live on the controller
# OpenWSMan package update supports the AMT Ironic driver for the TealBox
-LIBGUESTFS_BACKEND=direct virt-customize --install $PACKAGES \
+LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "sed -i '/ControllerEnableCephStorage/c\\ ControllerEnableCephStorage: true' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml" \
--run-command "sed -i '/ \$enable_ceph = /c\\ \$enable_ceph = true' /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller_pacemaker.pp" \
--run-command "sed -i '/ \$enable_ceph = /c\\ \$enable_ceph = true' /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller.pp" \
--run-command "curl http://download.opensuse.org/repositories/Openwsman/CentOS_CentOS-7/Openwsman.repo > /etc/yum.repos.d/wsman.repo" \
--run-command "yum update -y openwsman*" \
- --run-command "sed -i '/pxe_wol/c\\ enabled_drivers => ['pxe_ipmitool', 'pxe_ssh', 'pxe_drac', 'pxe_ilo', 'pxe_wol', 'pxe_amt'],' /usr/share/instack-undercloud/puppet-stack-config/puppet-stack-config.pp" \
+ --run-command "cp /usr/share/instack-undercloud/undercloud.conf.sample /home/stack/undercloud.conf && chown stack:stack /home/stack/undercloud.conf" \
-a undercloud.qcow2
# Patch in OpenDaylight installation and configuration
-LIBGUESTFS_BACKEND=direct virt-customize --upload ../opnfv-tripleo-heat-templates.patch:/tmp \
- --run-command "cd /usr/share/openstack-tripleo-heat-templates/ && patch -Np1 < /tmp/opnfv-tripleo-heat-templates.patch" \
- -a undercloud.qcow2
-
-# adds tripleoclient aodh workaround
-# for keystone
-LIBGUESTFS_BACKEND=direct virt-customize --upload ../aodh-tripleoclient.patch:/tmp \
- --run-command "cd /usr/lib/python2.7/site-packages/tripleoclient && patch -Np1 < /tmp/aodh-tripleoclient.patch" \
- --upload ../aodh-os-cloud-config.patch:/tmp \
- --run-command "cd /usr/lib/python2.7/site-packages/os_cloud_config && patch -Np1 < /tmp/aodh-os-cloud-config.patch" \
- -a undercloud.qcow2
+#LIBGUESTFS_BACKEND=direct virt-customize --upload ../opnfv-tripleo-heat-templates.patch:/tmp \
+# --run-command "cd /usr/share/openstack-tripleo-heat-templates/ && patch -Np1 < /tmp/opnfv-tripleo-heat-templates.patch" \
+# -a undercloud.qcow2
popd > /dev/null
diff --git a/build/variables.sh b/build/variables.sh
index 9342ddf9..5a0de36c 100644
--- a/build/variables.sh
+++ b/build/variables.sh
@@ -9,8 +9,8 @@
##############################################################################
rdo_images_cache=/stable-images
-#rdo_images_uri=https://ci.centos.org/artifacts/rdo/images/mitaka/delorean/stable/
-rdo_images_uri=file://$rdo_images_cache
+rdo_images_uri=https://ci.centos.org/artifacts/rdo/images/mitaka/delorean/stable/
+#rdo_images_uri=file://$rdo_images_cache
#onos_artifacts_uri=http://205.177.226.237:9999/onosfw
onos_artifacts_uri=file:///stable-images/onos/
odl_artifacts_cache=/stable-images/odl
diff --git a/ci/clean.sh b/ci/clean.sh
index 40ae6edd..2a91b7ce 100755
--- a/ci/clean.sh
+++ b/ci/clean.sh
@@ -11,7 +11,9 @@
#Clean script to uninstall provisioning server for Apex
#author: Dan Radez (dradez@redhat.com)
#author: Tim Rozet (trozet@redhat.com)
-CONFIG=/var/opt/opnfv
+
+# Use default if no param passed
+CONFIG=${1-"/var/opt/opnfv"}
##LIBRARIES
source $CONFIG/lib/common-functions.sh
@@ -21,31 +23,26 @@ ovs_bridges="br-admin br-private br-public br-storage"
# Clean off instack/undercloud VM
for vm in instack undercloud; do
- virsh destroy $vm 2> /dev/null || echo -n ''
- virsh undefine $vm 2> /dev/null || echo -n ''
- if ! virsh vol-delete ${vm}.qcow2 --pool default 2> /dev/null; then
- if [ ! -e /var/lib/libvirt/images/${vm}.qcow2 ]; then
- /usr/bin/touch /var/lib/libvirt/images/${vm}.qcow2
- virsh vol-delete ${vm}.qcow2 --pool default
- fi
- fi
+ virsh destroy $vm 2> /dev/null | xargs echo -n
+ virsh undefine $vm 2> /dev/null | xargs echo -n
+ /usr/bin/touch /var/lib/libvirt/images/${vm}.qcow2
+ virsh vol-delete ${vm}.qcow2 --pool default 2> /dev/null | xargs echo -n
+ rm -f /var/lib/libvirt/images/${vm}.qcow2 2> /dev/null
done
-rm -f /var/lib/libvirt/images/undercloud.qcow2 2> /dev/null
-
# Clean off baremetal VMs in case they exist
for i in $(seq 0 $vm_index); do
- virsh destroy baremetal$i 2> /dev/null || echo -n ''
- virsh undefine baremetal$i 2> /dev/null || echo -n ''
+ virsh destroy baremetal$i 2> /dev/null | xargs echo -n
+ virsh undefine baremetal$i 2> /dev/null | xargs echo -n
/usr/bin/touch /var/lib/libvirt/images/baremetal${i}.qcow2
- virsh vol-delete baremetal${i}.qcow2 --pool default 2> /dev/null
+ virsh vol-delete baremetal${i}.qcow2 --pool default 2> /dev/null | xargs echo -n
rm -f /var/lib/libvirt/images/baremetal${i}.qcow2 2> /dev/null
done
# Clean off created bridges
for bridge in ${ovs_bridges}; do
- virsh net-destroy ${bridge} 2> /dev/null
- virsh net-undefine ${bridge} 2> /dev/null
+ virsh net-destroy ${bridge} 2> /dev/null | xargs echo -n
+ virsh net-undefine ${bridge} 2> /dev/null | xargs echo -n
if detach_interface_from_ovs ${bridge} 2> /dev/null; then
ovs-vsctl del-br ${bridge} 2> /dev/null
fi
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 8aeb5f5f..9e317c8a 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -29,6 +29,7 @@ ntp_server="pool.ntp.org"
net_isolation_enabled="TRUE"
post_config="TRUE"
debug="FALSE"
+nics_cfg=''
declare -i CNT
declare UNDERCLOUD
@@ -648,7 +649,7 @@ function define_vm () {
if virsh vol-list default | grep ${1}.qcow2 2>&1> /dev/null; then
volume_path=$(virsh vol-path --pool default ${1}.qcow2 || echo "/var/lib/libvirt/images/${1}.qcow2")
echo "Volume ${1} exists. Deleting Existing Volume $volume_path"
- virsh vol-dumpxml ${1}.qcow2 --pool default
+ virsh vol-dumpxml ${1}.qcow2 --pool default > /dev/null || echo '' #ok for this to fail
touch $volume_path
virsh vol-delete ${1}.qcow2 --pool default
fi
@@ -674,9 +675,8 @@ function define_vm () {
##Set network-environment settings
##params: network-environment file to edit
function configure_network_environment {
- local tht_dir nic_ext
+ local tht_dir
tht_dir=/usr/share/openstack-tripleo-heat-templates/network
- nic_ext=''
sed -i '/ControlPlaneSubnetCidr/c\\ ControlPlaneSubnetCidr: "'${admin_network_cidr##*/}'"' $1
sed -i '/ControlPlaneDefaultRoute/c\\ ControlPlaneDefaultRoute: '${admin_network_provisioner_ip}'' $1
@@ -692,7 +692,7 @@ function configure_network_environment {
sed -i 's#^.*Compute::Ports::TenantPort:.*$# OS::TripleO::Compute::Ports::TenantPort: '${tht_dir}'/ports/tenant.yaml#' $1
sed -i "/TenantAllocationPools/c\\ TenantAllocationPools: [{'start': '${private_network_usable_ip_range%%,*}', 'end': '${private_network_usable_ip_range##*,}'}]" $1
sed -i '/TenantNetCidr/c\\ TenantNetCidr: '${private_network_cidr}'' $1
- nic_ext+=_private
+ nics_cfg+=_private
else
sed -i 's#^.*Network::Tenant.*$# OS::TripleO::Network::Tenant: '${tht_dir}'/noop.yaml#' $1
sed -i 's#^.*Controller::Ports::TenantPort:.*$# OS::TripleO::Controller::Ports::TenantPort: '${tht_dir}'/ports/noop.yaml#' $1
@@ -702,27 +702,24 @@ function configure_network_environment {
# check for storage network
if [[ ! -z "$storage_network_enabled" && "$storage_network_enabled" == "true" ]]; then
sed -i 's#^.*Network::Storage:.*$# OS::TripleO::Network::Storage: '${tht_dir}'/storage.yaml#' $1
+ sed -i 's#^.*Network::Ports::StorageVipPort:.*$# OS::TripleO::Network::Ports::StorageVipPort: '${tht_dir}'/ports/storage.yaml#' $1
sed -i 's#^.*Controller::Ports::StoragePort:.*$# OS::TripleO::Controller::Ports::StoragePort: '${tht_dir}'/ports/storage.yaml#' $1
sed -i 's#^.*Compute::Ports::StoragePort:.*$# OS::TripleO::Compute::Ports::StoragePort: '${tht_dir}'/ports/storage.yaml#' $1
sed -i "/StorageAllocationPools/c\\ StorageAllocationPools: [{'start': '${storage_network_usable_ip_range%%,*}', 'end': '${storage_network_usable_ip_range##*,}'}]" $1
sed -i '/StorageNetCidr/c\\ StorageNetCidr: '${storage_network_cidr}'' $1
- nic_ext+=_storage
+ nics_cfg+=_storage
else
sed -i 's#^.*Network::Storage:.*$# OS::TripleO::Network::Storage: '${tht_dir}'/noop.yaml#' $1
+ sed -i 's#^.*Network::Ports::StorageVipPort:.*$# OS::TripleO::Network::Ports::StorageVipPort: '${tht_dir}'/ports/noop.yaml#' $1
sed -i 's#^.*Controller::Ports::StoragePort:.*$# OS::TripleO::Controller::Ports::StoragePort: '${tht_dir}'/ports/noop.yaml#' $1
sed -i 's#^.*Compute::Ports::StoragePort:.*$# OS::TripleO::Compute::Ports::StoragePort: '${tht_dir}'/ports/noop.yaml#' $1
fi
- sed -i 's#^.*Controller::Net::SoftwareConfig:.*$# OS::TripleO::Controller::Net::SoftwareConfig: nics/controller'${nic_ext}'.yaml#' $1
-
# check for ODL L3
if [ "${deploy_options_array['sdn_l3']}" == 'true' ]; then
- nic_ext+=_br-ex_no-public-ip
+ nics_cfg+=_br-ex_no-public-ip
fi
- # set nics appropriately
- sed -i 's#^.*Compute::Net::SoftwareConfig:.*$# OS::TripleO::Compute::Net::SoftwareConfig: nics/compute'${nic_ext}'.yaml#' $1
-
}
##Copy over the glance images and instackenv json file
##params: none
@@ -735,8 +732,16 @@ function configure_undercloud {
echo -e "${blue}Network Environment set for Deployment: ${reset}"
cat $CONFIG/network-environment.yaml
scp ${SSH_OPTIONS[@]} $CONFIG/network-environment.yaml "stack@$UNDERCLOUD":
+ ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" << EOI
+mkdir nics/
+cat > nics/controller.yaml << EOF
+$(nics_cfg=$nics_cfg sh $CONFIG/nics-controller.yaml.template)
+EOF
+cat > nics/compute.yaml << EOF
+$(nics_cfg=$nics_cfg sh $CONFIG/nics-compute.yaml.template)
+EOF
+EOI
fi
- scp ${SSH_OPTIONS[@]} -r $CONFIG/nics/ "stack@$UNDERCLOUD":
# ensure stack user on Undercloud machine has an ssh key
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "if [ ! -e ~/.ssh/id_rsa.pub ]; then ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa; fi"
@@ -878,6 +883,7 @@ function undercloud_prep_overcloud_deploy {
fi
echo "Copying overcloud image to Undercloud"
+ ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "rm -f overcloud-full.qcow2"
scp ${SSH_OPTIONS[@]} $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 "stack@$UNDERCLOUD":overcloud-full.qcow2
# make sure ceph is installed