Migrating to Mitaka 07/11707/16
authorDan Radez <dradez@redhat.com>
Tue, 8 Mar 2016 21:19:04 +0000 (16:19 -0500)
committerDan Radez <dradez@redhat.com>
Fri, 1 Apr 2016 23:12:25 +0000 (19:12 -0400)
- 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 <dradez@redhat.com>
35 files changed:
build/Makefile
build/aodh-os-cloud-config.patch [deleted file]
build/aodh-puppet-tripleo.patch [deleted file]
build/aodh-tripleoclient.patch [deleted file]
build/cache.sh
build/network-environment.yaml
build/nics-compute.yaml.template [moved from build/nics/controller_storage.yaml with 68% similarity]
build/nics-controller.yaml.template [moved from build/nics/controller_private_storage.yaml with 81% similarity]
build/nics/compute.yaml [deleted file]
build/nics/compute_br-ex.yaml [deleted file]
build/nics/compute_br-ex_no-public-ip.yaml [deleted file]
build/nics/compute_no-public-ip.yaml [deleted file]
build/nics/compute_private.yaml [deleted file]
build/nics/compute_private_br-ex.yaml [deleted file]
build/nics/compute_private_br-ex_no-public-ip.yaml [deleted file]
build/nics/compute_private_no-public-ip.yaml [deleted file]
build/nics/compute_private_storage.yaml [deleted file]
build/nics/compute_private_storage_br-ex.yaml [deleted file]
build/nics/compute_private_storage_br-ex_no-public-ip.yaml [deleted file]
build/nics/compute_private_storage_no-public-ip.yaml [deleted file]
build/nics/compute_storage.yaml [deleted file]
build/nics/compute_storage_br-ex.yaml [deleted file]
build/nics/compute_storage_br-ex_no-public-ip.yaml [deleted file]
build/nics/compute_storage_no-public-ip.yaml [deleted file]
build/nics/controller.yaml [deleted file]
build/nics/controller_private.yaml [deleted file]
build/opnfv-apex-undercloud.spec
build/overcloud-full.sh
build/overcloud-opendaylight.sh
build/puppet-cinder-quota-fix.patch [deleted file]
build/puppet-neutron-force-metadata.patch [deleted file]
build/undercloud.sh
build/variables.sh
ci/clean.sh
ci/deploy.sh

index 53f8a48..36c6e69 100644 (file)
@@ -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 (file)
index e299540..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6809aa30bdd447dc839fe66af59b88836a2dd2ef Mon Sep 17 00:00:00 2001
-From: Tim Rozet <trozet@redhat.com>
-Date: Mon, 25 Jan 2016 21:48:22 +0000
-Subject: [PATCH] Adds aodh
-
----
- keystone.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/keystone.py b/keystone.py
-index 90ea00a..b74f223 100644
---- a/keystone.py
-+++ b/keystone.py
-@@ -75,6 +75,11 @@ SERVICES = {
-         'type': 'metering',
-         'port': 8777,
-     },
-+    'aodh': {
-+        'description': 'Aodh Service',
-+        'type': 'alarming',
-+        'port': 8042,
-+    },
-     'cinder': {
-         'description': 'Cinder Volume Service',
-         'type': 'volume',
--- 
-1.8.3.1
-
diff --git a/build/aodh-puppet-tripleo.patch b/build/aodh-puppet-tripleo.patch
deleted file mode 100644 (file)
index 819b906..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From 784cd3f4e6481b9c802db25ab379fccdab4bd1c3 Mon Sep 17 00:00:00 2001
-From: Emilien Macchi <emilien@redhat.com>
-Date: Tue, 3 Nov 2015 17:43:01 -0500
-Subject: [PATCH] loadbalancer: add Aodh API support
-
-Add Aodh (Ceilometer Alarming) support in TripleO Loadbalancer config.
-
-Change-Id: I891985da9248a88c6ce2df1dd186881f582605ee
----
- manifests/loadbalancer.pp | 43 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
-diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp
-index 16a4f80..2fcfac6 100644
---- a/manifests/loadbalancer.pp
-+++ b/manifests/loadbalancer.pp
-@@ -130,6 +130,11 @@
- #  When set, enables SSL on the Ceilometer public API endpoint using the specified file.
- #  Defaults to undef
- #
-+# [*aodh_certificate*]
-+#  Filename of an HAProxy-compatible certificate and key file
-+#  When set, enables SSL on the Aodh public API endpoint using the specified file.
-+#  Defaults to undef
-+#
- # [*swift_certificate*]
- #  Filename of an HAProxy-compatible certificate and key file
- #  When set, enables SSL on the Swift public API endpoint using the specified file.
-@@ -198,6 +203,10 @@
- #  (optional) Enable or not Ceilometer API binding
- #  Defaults to false
- #
-+# [*aodh*]
-+#  (optional) Enable or not Aodh API binding
-+#  Defaults to false
-+#
- # [*swift_proxy_server*]
- #  (optional) Enable or not Swift API binding
- #  Defaults to false
-@@ -262,6 +271,7 @@ class tripleo::loadbalancer (
-   $glance_certificate        = undef,
-   $nova_certificate          = undef,
-   $ceilometer_certificate    = undef,
-+  $aodh_certificate          = undef,
-   $swift_certificate         = undef,
-   $heat_certificate          = undef,
-   $horizon_certificate       = undef,
-@@ -278,6 +288,7 @@ class tripleo::loadbalancer (
-   $nova_metadata             = false,
-   $nova_novncproxy           = false,
-   $ceilometer                = false,
-+  $aodh                      = false,
-   $swift_proxy_server        = false,
-   $heat_api                  = false,
-   $heat_cloudwatch           = false,
-@@ -421,6 +432,11 @@ class tripleo::loadbalancer (
-   } else {
-     $ceilometer_bind_certificate = $service_certificate
-   }
-+  if $aodh_certificate {
-+    $aodh_bind_certificate = $aodh_certificate
-+  } else {
-+    $aodh_bind_certificate = $service_certificate
-+  }
-   if $swift_certificate {
-     $swift_bind_certificate = $swift_certificate
-   } else {
-@@ -558,6 +574,19 @@ class tripleo::loadbalancer (
-     }
-   }
-+  $aodh_api_vip = hiera('aodh_api_vip', $controller_virtual_ip)
-+  if $aodh_bind_certificate {
-+    $aodh_bind_opts = {
-+      "${aodh_api_vip}:8042" => [],
-+      "${public_virtual_ip}:13042" => ['ssl', 'crt', $aodh_bind_certificate],
-+    }
-+  } else {
-+    $aodh_bind_opts = {
-+      "${aodh_api_vip}:8042" => [],
-+      "${public_virtual_ip}:8042" => [],
-+    }
-+  }
-+
-   $swift_proxy_vip = hiera('swift_proxy_vip', $controller_virtual_ip)
-   if $swift_bind_certificate {
-     $swift_bind_opts = {
-@@ -840,6 +869,20 @@ class tripleo::loadbalancer (
-     }
-   }
-+  if $aodh {
-+    haproxy::listen { 'aodh':
-+      bind             => $aodh_bind_opts,
-+      collect_exported => false,
-+    }
-+    haproxy::balancermember { 'aodh':
-+      listening_service => 'aodh',
-+      ports             => '8042',
-+      ipaddresses       => hiera('aodh_api_node_ips', $controller_hosts_real),
-+      server_names      => $controller_hosts_names_real,
-+      options           => ['check', 'inter 2000', 'rise 2', 'fall 5'],
-+    }
-+  }
-+
-   if $swift_proxy_server {
-     haproxy::listen { 'swift_proxy_server':
-       bind             => $swift_bind_opts,
--- 
-1.8.3.1
-
diff --git a/build/aodh-tripleoclient.patch b/build/aodh-tripleoclient.patch
deleted file mode 100644 (file)
index 5464ddf..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From de3bb2ff31fb19238b164dcc794f6df80f0d0d38 Mon Sep 17 00:00:00 2001
-From: Tim Rozet <trozet@redhat.com>
-Date: Mon, 25 Jan 2016 19:15:38 +0000
-Subject: [PATCH] Adds aodh keystone
-
----
- constants.py           | 1 +
- utils.py               | 2 ++
- v1/overcloud_deploy.py | 1 +
- 3 files changed, 4 insertions(+)
-
-diff --git a/constants.py b/constants.py
-index 5b0218f..3816622 100644
---- a/constants.py
-+++ b/constants.py
-@@ -29,6 +29,7 @@ SERVICE_LIST = {
-         'port': '80',
-         'path': WEBROOT,
-         'admin_path': '%sadmin' % WEBROOT},
-+    'aodh': {'password_field': 'OVERCLOUD_AODH_PASSWORD'},
- }
- TRIPLEO_HEAT_TEMPLATES = "/usr/share/openstack-tripleo-heat-templates/"
-diff --git a/utils.py b/utils.py
-index 35591f2..a8eae54 100644
---- a/utils.py
-+++ b/utils.py
-@@ -60,6 +60,8 @@ def generate_overcloud_passwords(output_file="tripleo-overcloud-passwords"):
-         "OVERCLOUD_NOVA_PASSWORD",
-         "OVERCLOUD_SWIFT_HASH",
-         "OVERCLOUD_SWIFT_PASSWORD",
-+        "OVERCLOUD_AODH_PASSWORD",
-+        "OVERCLOUD_AODH_SECRET",
-     )
-     passwords = dict((p, passutils.generate_password(size=_MIN_PASSWORD_SIZE))
-diff --git a/v1/overcloud_deploy.py b/v1/overcloud_deploy.py
-index f4c4892..1a356c4 100644
---- a/v1/overcloud_deploy.py
-+++ b/v1/overcloud_deploy.py
-@@ -79,6 +79,7 @@ class DeployOvercloud(command.Command):
-         parameters['SwiftPassword'] = passwords['OVERCLOUD_SWIFT_PASSWORD']
-         parameters['SnmpdReadonlyUserPassword'] = (
-             undercloud_ceilometer_snmpd_password)
-+        parameters['AodhPassword'] = passwords['OVERCLOUD_AODH_PASSWORD']
-     def _update_paramaters(self, args, network_client, stack):
-         parameters = constants.PARAMETERS.copy()
--- 
-1.8.3.1
-
index b8cd8ec..72d0a87 100644 (file)
@@ -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
index b5ac5e7..2773300 100644 (file)
@@ -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
similarity index 68%
rename from build/nics/controller_storage.yaml
rename to build/nics-compute.yaml.template
index 7962592..86f3972 100644 (file)
@@ -1,8 +1,100 @@
+#!/bin/bash
+if [[ $nics_cfg == *_private* ]]; then
+    private_net=$( cat << END
+
+            -
+              # Create a bridge which can also be used for VLAN-mode bridge mapping
+              type: ovs_bridge
+              name: br-tenant
+              use_dhcp: false
+              addresses:
+                -
+                  ip_netmask: {get_param: TenantIpSubnet}
+              members:
+                -
+                  type: interface
+                  name: nic2
+                  use_dhcp: false
+                  # force the MAC address of the bridge to this interface
+                  primary: true
+END
+)
+fi
+
+if [[ $nics_cfg == *_storage* ]]; then
+    storage_net=$( cat << END
+            -
+              type: interface
+              name: nic4
+              use_dhcp: false
+              addresses:
+                -
+                  ip_netmask: {get_param: StorageIpSubnet}
+END
+)
+fi
+
+if [[ $nics_cfg == *_br-ex* ]]; then
+    br_ex=$( cat << END
+
+              members:
+                -
+                  type: interface
+                  name: nic3
+                  # force the MAC address of the bridge to this interface
+                  primary: true
+
+END
+)
+    nic3=$( cat << END
+
+            -
+              type: ovs_bridge
+              name: {get_input: bridge_name}
+END
+)
+else
+    nic3=$( cat << END
+
+            -
+              type: interface
+              name: nic3
+
+END
+)
+fi
+
+if [[ $nics_cfg == *_no-public-ip* ]]; then
+    if [[ $nics_cfg == *_br-ex* ]]; then
+        nic3+=$( cat << END
+
+              use_dhcp: false
+END
+)
+    else
+        nic3=""
+    fi
+else
+    nic3+=$( cat << END
+
+              use_dhcp: false
+              addresses:
+                -
+                  ip_netmask: {get_param: ExternalIpSubnet}
+              routes:
+                -
+                  ip_netmask: 0.0.0.0/0
+                  next_hop: {get_param: ExternalInterfaceDefaultRoute}
+END
+)
+fi
+
+cat <<END
 heat_template_version: 2015-04-30
 
 description: >
   Software Config to drive os-net-config to configure multiple interfaces
-  for the controller role.
+  for the compute role.
 
 parameters:
   ControlPlaneIp:
@@ -25,10 +117,18 @@ parameters:
     default: ''
     description: IP address/subnet on the storage mgmt network
     type: string
+  StorageMgmtNetworkVlanID:
+    default: 40
+    description: Vlan ID for the storage mgmt network traffic.
+    type: number
   TenantIpSubnet:
     default: ''
     description: IP address/subnet on the tenant network
     type: string
+  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+    default: ''
+    description: IP address/subnet on the management network
+    type: string
   ExternalNetworkVlanID:
     default: 10
     description: Vlan ID for the external network traffic.
@@ -41,14 +141,14 @@ parameters:
     default: 30
     description: Vlan ID for the storage network traffic.
     type: number
-  StorageMgmtNetworkVlanID:
-    default: 40
-    description: Vlan ID for the storage mgmt network traffic.
-    type: number
   TenantNetworkVlanID:
     default: 50
     description: Vlan ID for the tenant network traffic.
     type: number
+  ManagementNetworkVlanID:
+    default: 60
+    description: Vlan ID for the management network traffic.
+    type: number
   ExternalInterfaceDefaultRoute:
     default: '10.0.0.1'
     description: default route for the external network
@@ -58,12 +158,12 @@ parameters:
     description: The subnet CIDR of the control plane network.
     type: string
   ControlPlaneDefaultRoute: # Override this via parameter_defaults
-    description: The subnet CIDR of the control plane network.
+    description: The default route of the control plane network.
     type: string
   DnsServers: # Override this via parameter_defaults
     default: []
     description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
-    type: json
+    type: comma_delimited_list
   EC2MetadataIp: # Override this via parameter_defaults
     description: The IP address of the EC2 metadata server.
     type: string
@@ -92,32 +192,12 @@ resources:
                 -
                   ip_netmask: 169.254.169.254/32
                   next_hop: {get_param: EC2MetadataIp}
-            -
-              type: ovs_bridge
-              name: {get_input: bridge_name}
-              use_dhcp: false
-              addresses:
-                -
-                  ip_netmask: {get_param: ExternalIpSubnet}
-              routes:
                 -
-                  ip_netmask: 0.0.0.0/0
-                  next_hop: {get_param: ExternalInterfaceDefaultRoute}
-              members:
-                -
-                  type: interface
-                  name: nic3
-                  # force the MAC address of the bridge to this interface
-                  primary: true
-            -
-              type: interface
-              name: nic4
-              use_dhcp: false
-              addresses:
-                -
-                  ip_netmask: {get_param: StorageIpSubnet}
-
+                  default: true
+                  next_hop: {get_param: ControlPlaneDefaultRoute}$private_net$nic3$br_ex
+$storage_net
 outputs:
   OS::stack_id:
     description: The OsNetConfigImpl resource.
     value: {get_resource: OsNetConfigImpl}
+END
similarity index 81%
rename from build/nics/controller_private_storage.yaml
rename to build/nics-controller.yaml.template
index dee0201..d5a0bcd 100644 (file)
@@ -1,3 +1,41 @@
+#!/bin/bash
+if [[ $nics_cfg == *_private* ]]; then
+    private_net=$( cat << END
+
+              # Create a bridge which can also be used for VLAN-mode bridge mapping
+              type: ovs_bridge
+              name: br-tenant
+              use_dhcp: false
+              addresses:
+                -
+                  ip_netmask: {get_param: TenantIpSubnet}
+              members:
+                -
+                  type: interface
+                  name: nic2
+                  use_dhcp: false
+                  # force the MAC address of the bridge to this interface
+                  primary: true
+            -
+END
+)
+fi
+
+if [[ $nics_cfg == *_storage* ]]; then
+    storage_net=$( cat << END
+
+            -
+              type: interface
+              name: nic4
+              use_dhcp: false
+              addresses:
+                -
+                  ip_netmask: {get_param: StorageIpSubnet}
+END
+)
+fi
+
+cat <<END
 heat_template_version: 2015-04-30
 
 description: >
@@ -29,6 +67,10 @@ parameters:
     default: ''
     description: IP address/subnet on the tenant network
     type: string
+  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+    default: ''
+    description: IP address/subnet on the management network
+    type: string
   ExternalNetworkVlanID:
     default: 10
     description: Vlan ID for the external network traffic.
@@ -63,7 +105,7 @@ parameters:
   DnsServers: # Override this via parameter_defaults
     default: []
     description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
-    type: json
+    type: comma_delimited_list
   EC2MetadataIp: # Override this via parameter_defaults
     description: The IP address of the EC2 metadata server.
     type: string
@@ -92,39 +134,27 @@ resources:
                 -
                   ip_netmask: 169.254.169.254/32
                   next_hop: {get_param: EC2MetadataIp}
-            -
-              type: interface
-              name: nic2
-              use_dhcp: false
-              addresses:
-                -
-                  ip_netmask: {get_param: TenantIpSubnet}
-            -
+            -$private_net
               type: ovs_bridge
               name: {get_input: bridge_name}
+              dns_servers: {get_param: DnsServers}
               use_dhcp: false
               addresses:
                 -
                   ip_netmask: {get_param: ExternalIpSubnet}
               routes:
                 -
-                  ip_netmask: 0.0.0.0/0
+                  default: true
                   next_hop: {get_param: ExternalInterfaceDefaultRoute}
               members:
                 -
                   type: interface
                   name: nic3
                   # force the MAC address of the bridge to this interface
-                  primary: true
-            -
-              type: interface
-              name: nic4
-              use_dhcp: false
-              addresses:
-                -
-                  ip_netmask: {get_param: StorageIpSubnet}
+                  primary: true$storage_net
 
 outputs:
   OS::stack_id:
     description: The OsNetConfigImpl resource.
     value: {get_resource: OsNetConfigImpl}
+END
diff --git a/build/nics/compute.yaml b/build/nics/compute.yaml
deleted file mode 100644 (file)
index 6978e9e..0000000
+++ /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 (file)
index d187a96..0000000
+++ /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 (file)
index 30c23c4..0000000
+++ /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 (file)
index 5a1d0fd..0000000
+++ /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 (file)
index 9bc1b69..0000000
+++ /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 (file)
index 94a39bf..0000000
+++ /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 (file)
index 2355eac..0000000
+++ /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 (file)
index 019334e..0000000
+++ /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 (file)
index fc51cfd..0000000
+++ /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 (file)
index 1094bb2..0000000
+++ /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 (file)
index 32c47eb..0000000
+++ /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 (file)
index a335ca3..0000000
+++ /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 (file)
index a1f22a3..0000000
+++ /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 (file)
index 47412a5..0000000
+++ /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 (file)
index 34583b8..0000000
+++ /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 (file)
index 38fdd0c..0000000
+++ /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 (file)
index 336b34a..0000000
+++ /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 (file)
index f1edf02..0000000
+++ /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}
index 9477551..d8b342e 100644 (file)
@@ -25,52 +25,18 @@ mkdir -p %{buildroot}%{_var}/opt/opnfv/nics/
 
 install build/undercloud.qcow2 %{buildroot}%{_var}/opt/opnfv/images/
 install build/network-environment.yaml %{buildroot}%{_var}/opt/opnfv/
-install build/nics/controller.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_private.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/controller_private_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_br-ex.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_storage_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
-install build/nics/compute_private_storage_br-ex_no-public-ip.yaml %{buildroot}%{_var}/opt/opnfv/nics/
+install build/nics-controller.yaml.template %{buildroot}%{_var}/opt/opnfv/nics-controller.yaml.template
+install build/nics-compute.yaml.template %{buildroot}%{_var}/opt/opnfv/nics-compute.yaml.template
 
 %files
 %defattr(644, root, root, -)
 %{_var}/opt/opnfv/images/undercloud.qcow2
 %{_var}/opt/opnfv/network-environment.yaml
-%{_var}/opt/opnfv/nics/controller.yaml
-%{_var}/opt/opnfv/nics/compute.yaml
-%{_var}/opt/opnfv/nics/controller_private.yaml
-%{_var}/opt/opnfv/nics/compute_private.yaml
-%{_var}/opt/opnfv/nics/controller_storage.yaml
-%{_var}/opt/opnfv/nics/compute_storage.yaml
-%{_var}/opt/opnfv/nics/controller_private_storage.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage.yaml
-%{_var}/opt/opnfv/nics/compute_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_private_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_storage_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_br-ex.yaml
-%{_var}/opt/opnfv/nics/compute_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_storage_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_storage_br-ex_no-public-ip.yaml
-%{_var}/opt/opnfv/nics/compute_private_storage_br-ex_no-public-ip.yaml
+%{_var}/opt/opnfv/nics-controller.yaml.template
+%{_var}/opt/opnfv/nics-compute.yaml.template
 
 %changelog
+* Wed Mar 30 2016 Dan Radez <dradez@redhat.com> - 2.1-2
+- Replacing NIC files with templates
 * Thu Jan 14 2016 Dan Radez <dradez@redhat.com> - 2.1-1
 - Package Split
index 5e11b77..065201f 100755 (executable)
@@ -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
index 3ce8834..8d5a2b9 100755 (executable)
@@ -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 (file)
index 2369a51..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From b005b350768987d9423ab22b09f52e79b2eda5d9 Mon Sep 17 00:00:00 2001
-From: Tim Rozet <tdrozet@gmail.com>
-Date: Wed, 20 Jan 2016 13:57:01 -0500
-Subject: [PATCH] Fixes quota problem with cinder
-
----
- manifests/api.pp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/manifests/api.pp b/manifests/api.pp
-index 6ffd8a6..9fcb59e 100644
---- a/manifests/api.pp
-+++ b/manifests/api.pp
-@@ -282,6 +282,7 @@ class cinder::api (
-   if $keystone_enabled {
-     cinder_config {
-       'DEFAULT/auth_strategy':     value => 'keystone' ;
-+      'keystone_authtoken/auth_uri': value => $auth_uri_real;
-     }
-     cinder_api_paste_ini {
--- 
-2.5.0
-
diff --git a/build/puppet-neutron-force-metadata.patch b/build/puppet-neutron-force-metadata.patch
deleted file mode 100644 (file)
index df6061b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From ca931831dbfe876095357acbf39dca17c3d3df71 Mon Sep 17 00:00:00 2001
-From: root <root@overcloud-controller-0.localdomain>
-Date: Sun, 17 Jan 2016 03:07:49 +0000
-Subject: [PATCH] Adds force metadata option
-
----
- manifests/agents/dhcp.pp | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp
-index 0c10492..cf772b5 100644
---- a/manifests/agents/dhcp.pp
-+++ b/manifests/agents/dhcp.pp
-@@ -53,6 +53,10 @@
- #   (optional) enable metadata support on isolated networks.
- #   Defaults to false.
- #
-+# [*enable_force_metadata*]
-+#   (optional) enable metadata support on all networks.
-+#   Defaults to false.
-+#
- # [*enable_metadata_network*]
- #   (optional) Allows for serving metadata requests coming from a dedicated metadata
- #   access network whose cidr is 169.254.169.254/16 (or larger prefix), and is
-@@ -86,6 +90,7 @@ class neutron::agents::dhcp (
-   $dnsmasq_config_file      = undef,
-   $dhcp_delete_namespaces   = true,
-   $enable_isolated_metadata = false,
-+  $enable_force_metadata    = false,
-   $enable_metadata_network  = false,
-   $dhcp_broadcast_reply     = false,
-   # DEPRECATED PARAMETERS
-@@ -110,11 +115,12 @@ class neutron::agents::dhcp (
-     }
-   }
--  if (! $enable_isolated_metadata) and $enable_metadata_network {
--    fail('enable_metadata_network to true requires enable_isolated_metadata also enabled.')
-+  if (! ($enable_isolated_metadata or $enable_force_metadata)) and $enable_metadata_network {
-+    fail('enable_metadata_network to true requires enable_isolated_metadata or enable_force_metadata also enabled.')
-   } else {
-     neutron_dhcp_agent_config {
-       'DEFAULT/enable_isolated_metadata': value => $enable_isolated_metadata;
-+      'DEFAULT/force_metadata':           value => $enable_force_metadata;
-       'DEFAULT/enable_metadata_network':  value => $enable_metadata_network;
-     }
-   }
--- 
-1.8.3.1
-
index 351eaf3..02ff3ff 100755 (executable)
@@ -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
index 9342ddf..5a0de36 100644 (file)
@@ -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
index 40ae6ed..2a91b7c 100755 (executable)
@@ -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
index 8aeb5f5..9e317c8 100755 (executable)
@@ -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