From 9a96f371f290fdf8530239a4c0df591527fe636f Mon Sep 17 00:00:00 2001 From: Dan Radez Date: Tue, 8 Mar 2016 16:19:04 -0500 Subject: Migrating to Mitaka - Only support for NOSDN for this patch - Other SDN controllers will not be tested for this patch - AODH is now upstream and not needed to be carried in Apex - puppet-cinder-quota-fix.patch is now upstream and not needed to be carried in Apex - puppet-neutron-force-metadata.patch is now upstream and not needed to be carried in Apex - removing the catalog of nic files and creating a templatization for them JIRA: APEX-108 JIRA: APEX-93 JIRA: APEX-92 Change-Id: Ic1a24baec7ef295e9dc1b8b72ac36ca5b05578ea Signed-off-by: Dan Radez --- build/Makefile | 23 ++- build/aodh-os-cloud-config.patch | 28 --- build/aodh-puppet-tripleo.patch | 111 ----------- build/aodh-tripleoclient.patch | 51 ------ build/cache.sh | 8 +- build/network-environment.yaml | 19 +- build/nics-compute.yaml.template | 203 +++++++++++++++++++++ build/nics-controller.yaml.template | 160 ++++++++++++++++ build/nics/compute.yaml | 102 ----------- build/nics/compute_br-ex.yaml | 108 ----------- build/nics/compute_br-ex_no-public-ip.yaml | 101 ---------- build/nics/compute_no-public-ip.yaml | 91 --------- build/nics/compute_private.yaml | 108 ----------- build/nics/compute_private_br-ex.yaml | 114 ------------ build/nics/compute_private_br-ex_no-public-ip.yaml | 107 ----------- build/nics/compute_private_no-public-ip.yaml | 98 ---------- build/nics/compute_private_storage.yaml | 115 ------------ build/nics/compute_private_storage_br-ex.yaml | 121 ------------ ...compute_private_storage_br-ex_no-public-ip.yaml | 114 ------------ .../nics/compute_private_storage_no-public-ip.yaml | 104 ----------- build/nics/compute_storage.yaml | 108 ----------- build/nics/compute_storage_br-ex.yaml | 114 ------------ build/nics/compute_storage_br-ex_no-public-ip.yaml | 107 ----------- build/nics/compute_storage_no-public-ip.yaml | 97 ---------- build/nics/controller.yaml | 116 ------------ build/nics/controller_private.yaml | 123 ------------- build/nics/controller_private_storage.yaml | 130 ------------- build/nics/controller_storage.yaml | 123 ------------- build/opnfv-apex-undercloud.spec | 46 +---- build/overcloud-full.sh | 35 +--- build/overcloud-opendaylight.sh | 13 +- build/puppet-cinder-quota-fix.patch | 24 --- build/puppet-neutron-force-metadata.patch | 50 ----- build/undercloud.sh | 31 +--- build/variables.sh | 4 +- ci/clean.sh | 29 ++- ci/deploy.sh | 30 +-- 37 files changed, 454 insertions(+), 2612 deletions(-) delete mode 100644 build/aodh-os-cloud-config.patch delete mode 100644 build/aodh-puppet-tripleo.patch delete mode 100644 build/aodh-tripleoclient.patch create mode 100644 build/nics-compute.yaml.template create mode 100644 build/nics-controller.yaml.template delete mode 100644 build/nics/compute.yaml delete mode 100644 build/nics/compute_br-ex.yaml delete mode 100644 build/nics/compute_br-ex_no-public-ip.yaml delete mode 100644 build/nics/compute_no-public-ip.yaml delete mode 100644 build/nics/compute_private.yaml delete mode 100644 build/nics/compute_private_br-ex.yaml delete mode 100644 build/nics/compute_private_br-ex_no-public-ip.yaml delete mode 100644 build/nics/compute_private_no-public-ip.yaml delete mode 100644 build/nics/compute_private_storage.yaml delete mode 100644 build/nics/compute_private_storage_br-ex.yaml delete mode 100644 build/nics/compute_private_storage_br-ex_no-public-ip.yaml delete mode 100644 build/nics/compute_private_storage_no-public-ip.yaml delete mode 100644 build/nics/compute_storage.yaml delete mode 100644 build/nics/compute_storage_br-ex.yaml delete mode 100644 build/nics/compute_storage_br-ex_no-public-ip.yaml delete mode 100644 build/nics/compute_storage_no-public-ip.yaml delete mode 100644 build/nics/controller.yaml delete mode 100644 build/nics/controller_private.yaml delete mode 100644 build/nics/controller_private_storage.yaml delete mode 100644 build/nics/controller_storage.yaml delete mode 100644 build/puppet-cinder-quota-fix.patch delete mode 100644 build/puppet-neutron-force-metadata.patch 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 -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 -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 -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-compute.yaml.template b/build/nics-compute.yaml.template new file mode 100644 index 00000000..86f3972a --- /dev/null +++ b/build/nics-compute.yaml.template @@ -0,0 +1,203 @@ +#!/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 < + 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 + 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. + 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 + 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 + 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 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: comma_delimited_list + 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} + - + 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.yaml.template b/build/nics-controller.yaml.template new file mode 100644 index 00000000..d5a0bcdd --- /dev/null +++ b/build/nics-controller.yaml.template @@ -0,0 +1,160 @@ +#!/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 < + 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 + 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. + 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: comma_delimited_list + 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} + -$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: + - + default: true + next_hop: {get_param: ExternalInterfaceDefaultRoute} + members: + - + type: interface + name: nic3 + # force the MAC address of the bridge to this interface + 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/nics/controller_private_storage.yaml b/build/nics/controller_private_storage.yaml deleted file mode 100644 index dee02013..00000000 --- a/build/nics/controller_private_storage.yaml +++ /dev/null @@ -1,130 +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 - - - 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_storage.yaml b/build/nics/controller_storage.yaml deleted file mode 100644 index 7962592a..00000000 --- a/build/nics/controller_storage.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: 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/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 - 2.1-2 +- Replacing NIC files with templates * Thu Jan 14 2016 Dan Radez - 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 -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 -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 -- cgit 1.2.3-korg