Migrates Apex to Pike 45/47145/8
authorTim Rozet <trozet@redhat.com>
Mon, 13 Nov 2017 21:10:36 +0000 (16:10 -0500)
committerTim Rozet <trozet@redhat.com>
Thu, 16 Nov 2017 19:51:16 +0000 (14:51 -0500)
JIRA: APEX-544

Change-Id: Ibee2068e782da75268ed76beb36ccb5dcd1847d6
Signed-off-by: Tim Rozet <trozet@redhat.com>
13 files changed:
apex/common/constants.py
apex/tests/test_apex_deploy.py
apex/tests/test_apex_ip_utils.py
apex/tests/test_apex_network_environment.py
build/opnfv-environment.yaml
build/overcloud-full.sh
build/patches/puppet-neutron-ml2-ip-version-fix.patch [deleted file]
build/patches/tacker-vnffg-input-params.patch [deleted file]
build/rpm_specs/opnfv-apex-release.spec
build/undercloud.sh
build/variables.sh
docs/release/installation/baremetal.rst
lib/ansible/playbooks/post_deploy_undercloud.yml

index 943e322..b4b24eb 100644 (file)
@@ -40,7 +40,7 @@ VIRT_PW = '--root-password'
 THT_DIR = '/usr/share/openstack-tripleo-heat-templates'
 THT_ENV_DIR = os.path.join(THT_DIR, 'environments')
 
 THT_DIR = '/usr/share/openstack-tripleo-heat-templates'
 THT_ENV_DIR = os.path.join(THT_DIR, 'environments')
 
-DEFAULT_OS_VERSION = 'ocata'
+DEFAULT_OS_VERSION = 'pike'
 DEFAULT_ODL_VERSION = 'carbon'
 VALID_ODL_VERSIONS = ['carbon', 'nitrogen', 'oxygen', 'master']
 PUPPET_ODL_URL = 'https://git.opendaylight.org/gerrit/integration/packaging' \
 DEFAULT_ODL_VERSION = 'carbon'
 VALID_ODL_VERSIONS = ['carbon', 'nitrogen', 'oxygen', 'master']
 PUPPET_ODL_URL = 'https://git.opendaylight.org/gerrit/integration/packaging' \
@@ -48,5 +48,5 @@ PUPPET_ODL_URL = 'https://git.opendaylight.org/gerrit/integration/packaging' \
 DEBUG_OVERCLOUD_PW = 'opnfvapex'
 NET_ENV_FILE = 'network-environment.yaml'
 DEPLOY_TIMEOUT = 90
 DEBUG_OVERCLOUD_PW = 'opnfvapex'
 NET_ENV_FILE = 'network-environment.yaml'
 DEPLOY_TIMEOUT = 90
-UPSTREAM_RDO = 'https://images.rdoproject.org/ocata/delorean/current-tripleo/'
+UPSTREAM_RDO = 'https://images.rdoproject.org/pike/delorean/current-tripleo/'
 OPENSTACK_GERRIT = 'https://review.openstack.org'
 OPENSTACK_GERRIT = 'https://review.openstack.org'
index 0a9b6c1..403b709 100644 (file)
@@ -107,6 +107,7 @@ class TestDeploy(unittest.TestCase):
         args.virtual = True
         assert_raises(ApexDeployException, validate_deploy_args, args)
 
         args.virtual = True
         assert_raises(ApexDeployException, validate_deploy_args, args)
 
+    @patch('apex.deploy.network_data.create_network_data')
     @patch('apex.deploy.shutil')
     @patch('apex.deploy.oc_deploy')
     @patch('apex.deploy.uc_lib')
     @patch('apex.deploy.shutil')
     @patch('apex.deploy.oc_deploy')
     @patch('apex.deploy.uc_lib')
@@ -131,7 +132,7 @@ class TestDeploy(unittest.TestCase):
                   mock_deploy_sets, mock_net_sets, mock_net_env,
                   mock_utils, mock_parsers, mock_oc_cfg,
                   mock_virt_utils, mock_inv, mock_build_vms, mock_uc_lib,
                   mock_deploy_sets, mock_net_sets, mock_net_env,
                   mock_utils, mock_parsers, mock_oc_cfg,
                   mock_virt_utils, mock_inv, mock_build_vms, mock_uc_lib,
-                  mock_oc_deploy, mock_shutil):
+                  mock_oc_deploy, mock_shutil, mock_network_data):
         net_sets_dict = {'networks': MagicMock(),
                          'dns_servers': 'test'}
         ds_opts_dict = {'global_params': MagicMock(),
         net_sets_dict = {'networks': MagicMock(),
                          'dns_servers': 'test'}
         ds_opts_dict = {'global_params': MagicMock(),
@@ -177,6 +178,7 @@ class TestDeploy(unittest.TestCase):
         args.debug = True
         main()
 
         args.debug = True
         main()
 
+    @patch('apex.deploy.network_data.create_network_data')
     @patch('apex.deploy.shutil')
     @patch('apex.deploy.oc_deploy')
     @patch('apex.deploy.uc_lib')
     @patch('apex.deploy.shutil')
     @patch('apex.deploy.oc_deploy')
     @patch('apex.deploy.uc_lib')
@@ -201,7 +203,7 @@ class TestDeploy(unittest.TestCase):
                        mock_deploy_sets, mock_net_sets, mock_net_env,
                        mock_utils, mock_parsers, mock_oc_cfg,
                        mock_virt_utils, mock_inv, mock_build_vms, mock_uc_lib,
                        mock_deploy_sets, mock_net_sets, mock_net_env,
                        mock_utils, mock_parsers, mock_oc_cfg,
                        mock_virt_utils, mock_inv, mock_build_vms, mock_uc_lib,
-                       mock_oc_deploy, mock_shutil):
+                       mock_oc_deploy, mock_shutil, mock_network_data):
         # didn't work yet line 412
         # net_sets_dict = {'networks': {'admin': {'cidr': MagicMock()}},
         #                 'dns_servers': 'test'}
         # didn't work yet line 412
         # net_sets_dict = {'networks': {'admin': {'cidr': MagicMock()}},
         #                 'dns_servers': 'test'}
index eb4549d..5fdae31 100644 (file)
@@ -75,8 +75,6 @@ class TestIpUtils:
 
     def test_find_gateway(self):
         assert_is_instance(find_gateway(self.iface), str)
 
     def test_find_gateway(self):
         assert_is_instance(find_gateway(self.iface), str)
-        iface_virbr0 = get_interface('virbr0')
-        assert_equal(find_gateway(iface_virbr0), None)
 
     def test_get_ip(self):
         cidr = ipaddress.ip_network("10.10.10.0/24")
 
     def test_get_ip(self):
         cidr = ipaddress.ip_network("10.10.10.0/24")
index 4e3ae11..79a72a5 100644 (file)
@@ -76,8 +76,7 @@ class TestNetworkEnvironment:
         # Test removing EXTERNAL_NETWORK
         ns.enabled_network_list.remove(EXTERNAL_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
         # Test removing EXTERNAL_NETWORK
         ns.enabled_network_list.remove(EXTERNAL_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
-        regstr = ne['resource_registry']['OS::TripleO::Network::External']
-        assert_equal(regstr.split('/')[-1], 'OS::Heat::None')
+        assert 'OS::TripleO::Network::External' not in ne['resource_registry']
 
     def test_netenv_settings_tenant_network_vlans(self):
         # test vlans
 
     def test_netenv_settings_tenant_network_vlans(self):
         # test vlans
@@ -101,8 +100,7 @@ class TestNetworkEnvironment:
         # Test removing TENANT_NETWORK
         ns.enabled_network_list.remove(TENANT_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
         # Test removing TENANT_NETWORK
         ns.enabled_network_list.remove(TENANT_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
-        regstr = ne['resource_registry']['OS::TripleO::Network::Tenant']
-        assert_equal(regstr.split('/')[-1], 'OS::Heat::None')
+        assert 'OS::TripleO::Network::Tenant' not in ne['resource_registry']
 
     def test_netenv_settings_storage_network_vlans(self):
         # test vlans
 
     def test_netenv_settings_storage_network_vlans(self):
         # test vlans
@@ -122,8 +120,7 @@ class TestNetworkEnvironment:
         # Test removing STORAGE_NETWORK
         ns.enabled_network_list.remove(STORAGE_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
         # Test removing STORAGE_NETWORK
         ns.enabled_network_list.remove(STORAGE_NETWORK)
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
-        regstr = ne['resource_registry']['OS::TripleO::Network::Storage']
-        assert_equal(regstr.split('/')[-1], 'OS::Heat::None')
+        assert 'OS::TripleO::Network::Storage' not in ne['resource_registry']
 
     def test_netenv_settings_api_network_v4(self):
         ns = copy(self.ns_vlans)
 
     def test_netenv_settings_api_network_v4(self):
         ns = copy(self.ns_vlans)
@@ -153,8 +150,8 @@ class TestNetworkEnvironment:
         ns = copy(self.ns)
         # API_NETWORK is not in the default network settings file
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
         ns = copy(self.ns)
         # API_NETWORK is not in the default network settings file
         ne = NetworkEnvironment(ns, os.path.join(TEST_BUILD_DIR, NET_ENV_FILE))
-        regstr = ne['resource_registry']['OS::TripleO::Network::InternalApi']
-        assert_equal(regstr.split('/')[-1], 'OS::Heat::None')
+        assert 'OS::TripleO::Network::InternalApi' not in ne[
+            'resource_registry']
 
     def test_numa_configs(self):
         ne = NetworkEnvironment(self.ns,
 
     def test_numa_configs(self):
         ne = NetworkEnvironment(self.ns,
index 70243a5..4ef6ef8 100644 (file)
@@ -68,8 +68,18 @@ parameter_defaults:
     # value updated via lib/overcloud-deploy-functions.sh
     # opendaylight::vpp_routing_node: overcloud-novacompute-0.opnfvlf.org
   ControllerServices:
     # value updated via lib/overcloud-deploy-functions.sh
     # opendaylight::vpp_routing_node: overcloud-novacompute-0.opnfvlf.org
   ControllerServices:
-    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhListener
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BarbicanApi
     - OS::TripleO::Services::CACerts
     - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CeilometerAgentCentral
+    - OS::TripleO::Services::CeilometerAgentNotification
+    - OS::TripleO::Services::CeilometerApi
+    - OS::TripleO::Services::CeilometerCollector
+    - OS::TripleO::Services::CeilometerExpirer
     - OS::TripleO::Services::CephMon
     - OS::TripleO::Services::CephOSD
     - OS::TripleO::Services::CephExternal
     - OS::TripleO::Services::CephMon
     - OS::TripleO::Services::CephOSD
     - OS::TripleO::Services::CephExternal
@@ -78,6 +88,7 @@ parameter_defaults:
     - OS::TripleO::Services::CinderBackup
     - OS::TripleO::Services::CinderScheduler
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::CinderBackup
     - OS::TripleO::Services::CinderScheduler
     - OS::TripleO::Services::CinderVolume
+    - OS::TripleO::Services::Docker
     - OS::TripleO::Services::Kernel
     - OS::TripleO::Services::Keystone
     - OS::TripleO::Services::GlanceApi
     - OS::TripleO::Services::Kernel
     - OS::TripleO::Services::Keystone
     - OS::TripleO::Services::GlanceApi
@@ -93,7 +104,7 @@ parameter_defaults:
     - OS::TripleO::Services::NeutronApi
     - OS::TripleO::Services::NeutronCorePlugin
     - OS::TripleO::Services::NeutronOvsAgent
     - OS::TripleO::Services::NeutronApi
     - OS::TripleO::Services::NeutronCorePlugin
     - OS::TripleO::Services::NeutronOvsAgent
-    - OS::TripleO::Services::NeutronSfcApi
+#    - OS::TripleO::Services::NeutronSfcApi
     - OS::TripleO::Services::RabbitMQ
     - OS::TripleO::Services::HAproxy
     - OS::TripleO::Services::Keepalived
     - OS::TripleO::Services::RabbitMQ
     - OS::TripleO::Services::HAproxy
     - OS::TripleO::Services::Keepalived
@@ -110,12 +121,8 @@ parameter_defaults:
     - OS::TripleO::Services::NovaVncProxy
     - OS::TripleO::Services::Ntp
     - OS::TripleO::Services::Snmp
     - OS::TripleO::Services::NovaVncProxy
     - OS::TripleO::Services::Ntp
     - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
     - OS::TripleO::Services::Timezone
     - OS::TripleO::Services::Timezone
-    - OS::TripleO::Services::CeilometerApi
-    - OS::TripleO::Services::CeilometerCollector
-    - OS::TripleO::Services::CeilometerExpirer
-    - OS::TripleO::Services::CeilometerAgentCentral
-    - OS::TripleO::Services::CeilometerAgentNotification
     - OS::TripleO::Services::Horizon
     - OS::TripleO::Services::GnocchiApi
     - OS::TripleO::Services::GnocchiMetricd
     - OS::TripleO::Services::Horizon
     - OS::TripleO::Services::GnocchiApi
     - OS::TripleO::Services::GnocchiMetricd
@@ -126,10 +133,6 @@ parameter_defaults:
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendCephFs
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendCephFs
     - OS::TripleO::Services::ManilaShare
-    - OS::TripleO::Services::AodhApi
-    - OS::TripleO::Services::AodhEvaluator
-    - OS::TripleO::Services::AodhNotifier
-    - OS::TripleO::Services::AodhListener
     - OS::TripleO::Services::SaharaApi
     - OS::TripleO::Services::SaharaEngine
     - OS::TripleO::Services::IronicApi
     - OS::TripleO::Services::SaharaApi
     - OS::TripleO::Services::SaharaEngine
     - OS::TripleO::Services::IronicApi
@@ -146,19 +149,24 @@ parameter_defaults:
     - OS::TripleO::Services::Etcd
     # - OS::TripleO::Services::Gluon
     - OS::TripleO::Services::Tacker
     - OS::TripleO::Services::Etcd
     # - OS::TripleO::Services::Gluon
     - OS::TripleO::Services::Tacker
-    - OS::TripleO::Services::NeutronHoneycombAgent
+    #- OS::TripleO::Services::NeutronHoneycombAgent
     - OS::TripleO::Services::Congress
     - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::OVNDBs
     - OS::TripleO::Services::Congress
     - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::OVNDBs
+    - OS::TripleO::Services::OVNController
+    - OS::TripleO::Services::Tuned
     - OS::TripleO::Services::Vpp
     - OS::TripleO::Services::NeutronBgpVpnApi
   ComputeServices:
     - OS::TripleO::Services::Vpp
     - OS::TripleO::Services::NeutronBgpVpnApi
   ComputeServices:
+    - OS::TripleO::Services::AuditD
     - OS::TripleO::Services::Sshd
     - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Barometer
+    #- OS::TripleO::Services::Barometer
     - OS::TripleO::Services::CACerts
     - OS::TripleO::Services::CephClient
     - OS::TripleO::Services::CephOSD
     - OS::TripleO::Services::CephExternal
     - OS::TripleO::Services::CACerts
     - OS::TripleO::Services::CephClient
     - OS::TripleO::Services::CephOSD
     - OS::TripleO::Services::CephExternal
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
     - OS::TripleO::Services::Timezone
     - OS::TripleO::Services::Ntp
     - OS::TripleO::Services::Snmp
     - OS::TripleO::Services::Timezone
     - OS::TripleO::Services::Ntp
     - OS::TripleO::Services::Snmp
@@ -172,19 +180,21 @@ parameter_defaults:
     - OS::TripleO::Services::ComputeNeutronMetadataAgent
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::ComputeNeutronMetadataAgent
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::Tuned
     - OS::TripleO::Services::NeutronSriovAgent
     - OS::TripleO::Services::OpenDaylightOvs
     # - OS::TripleO::Services::ONOSOvs
     - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::NeutronSriovAgent
     - OS::TripleO::Services::OpenDaylightOvs
     # - OS::TripleO::Services::ONOSOvs
     - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::NeutronHoneycombAgent
+    #- OS::TripleO::Services::NeutronHoneycombAgent
     - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::Vpp
     - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::Vpp
+    - OS::TripleO::Services::OVNController
 
 resource_registry:
   # Services
   OS::TripleO::Services::SwiftStorage: OS::Heat::None
 
 resource_registry:
   # Services
   OS::TripleO::Services::SwiftStorage: OS::Heat::None
-  OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
+  #OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
   OS::TripleO::Services::SwiftProxy: OS::Heat::None
   # Extra Config
   OS::TripleO::ComputeExtraConfigPre: OS::Heat::None
   OS::TripleO::Services::SwiftProxy: OS::Heat::None
   # Extra Config
   OS::TripleO::ComputeExtraConfigPre: OS::Heat::None
index 2fd6bc8..098ab02 100755 (executable)
@@ -47,7 +47,6 @@ qemu-img resize overcloud-full_build.qcow2 +1500M
 # expand file system to max disk size
 # installing forked apex-puppet-tripleo
 # upload neutron port data plane status
 # expand file system to max disk size
 # installing forked apex-puppet-tripleo
 # upload neutron port data plane status
-# REMOVE Tacker VNFFG patch when moving to Pike
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "xfs_growfs /dev/sda" \
     --upload ${BUILD_DIR}/apex-puppet-tripleo.tar.gz:/etc/puppet/modules \
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "xfs_growfs /dev/sda" \
     --upload ${BUILD_DIR}/apex-puppet-tripleo.tar.gz:/etc/puppet/modules \
@@ -67,29 +66,12 @@ LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --upload ${BUILD_ROOT}/patches/neutron_openstackclient_dps.patch:/usr/lib/python2.7/site-packages/ \
     --upload ${BUILD_ROOT}/patches/puppet-neutron-add-sfc.patch:/usr/share/openstack-puppet/modules/neutron/ \
     --upload ${BUILD_ROOT}/patches/congress-parallel-execution.patch:/usr/lib/python2.7/site-packages/ \
     --upload ${BUILD_ROOT}/patches/neutron_openstackclient_dps.patch:/usr/lib/python2.7/site-packages/ \
     --upload ${BUILD_ROOT}/patches/puppet-neutron-add-sfc.patch:/usr/share/openstack-puppet/modules/neutron/ \
     --upload ${BUILD_ROOT}/patches/congress-parallel-execution.patch:/usr/lib/python2.7/site-packages/ \
-    --upload ${BUILD_ROOT}/patches/puppet-neutron-ml2-ip-version-fix.patch:/usr/share/openstack-puppet/modules/neutron/ \
-    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-ml2-ip-version-fix.patch" \
-    --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \
-    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \
-    --upload ${BUILD_ROOT}/patches/tacker-vnffg-input-params.patch:/usr/lib/python2.7/site-packages/ \
-    --run-command "cd usr/lib/python2.7/site-packages/ && patch -p1 < tacker-vnffg-input-params.patch" \
-    --upload ${BUILD_ROOT}/patches/puppet-neutron-add-external_network_bridge-option.patch:/usr/share/openstack-puppet/modules/neutron/ \
-    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-external_network_bridge-option.patch" \
     -a overcloud-full_build.qcow2
     -a overcloud-full_build.qcow2
+#    --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \
+#    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \
+#    --upload ${BUILD_ROOT}/patches/puppet-neutron-add-external_network_bridge-option.patch:/usr/share/openstack-puppet/modules/neutron/ \
+#    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-external_network_bridge-option.patch" \
 
 
-# apply neutron port data plane status patches
-# https://specs.openstack.org/openstack/neutron-specs/specs/backlog/ocata/port-data-plane-status.html
-# apply congress parallel execution patch
-# Requirements from Doctor project
-# TODO(cgoncalves): code merged in Pike dev cycle. drop from >= OpenStack Pike / > OPNFV Euphrates
-LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_lib_dps.patch " \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_server_dps.patch" \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstacksdk_dps.patch" \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstackclient_dps.patch" \
-    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-sfc.patch" \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < congress-parallel-execution.patch" \
-    -a overcloud-full_build.qcow2
 
 # Arch dependent on x86
 if [ "$(uname -i)" == 'x86_64' ]; then
 
 # Arch dependent on x86
 if [ "$(uname -i)" == 'x86_64' ]; then
@@ -142,7 +124,6 @@ populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm
 # git clone vsperf into the overcloud image
 # upload the rt_kvm kernel
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
 # git clone vsperf into the overcloud image
 # upload the rt_kvm kernel
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
-    --run-command "cd /etc/yum.repos.d && curl -O https://trunk.rdoproject.org/centos7-ocata/current-tripleo/delorean.repo" \
     --run-command "mkdir /root/dpdk_rpms" \
     $dpdk_pkg_str \
     --upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \
     --run-command "mkdir /root/dpdk_rpms" \
     $dpdk_pkg_str \
     --upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \
@@ -159,14 +140,14 @@ LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "mkdir /root/ovs28" \
     --run-command "yumdownloader --destdir=/root/ovs28 openvswitch*2.8* python-openvswitch-2.8*" \
     --upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \
     --run-command "mkdir /root/ovs28" \
     --run-command "yumdownloader --destdir=/root/ovs28 openvswitch*2.8* python-openvswitch-2.8*" \
     --upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \
-    --install "http://mirror.centos.org/centos/7/cloud/x86_64/openstack-ocata/python2-networking-sfc-4.0.0-1.el7.noarch.rpm" \
     --install python-etcd,puppet-etcd \
     --install patch \
     --install docker,kubelet,kubeadm,kubectl,kubernetes-cni \
     -a overcloud-full_build.qcow2
 
     # upload and install barometer packages
     --install python-etcd,puppet-etcd \
     --install patch \
     --install docker,kubelet,kubeadm,kubectl,kubernetes-cni \
     -a overcloud-full_build.qcow2
 
     # upload and install barometer packages
-    barometer_pkgs overcloud-full_build.qcow2
+    # FIXME collectd pkgs conflict during upgrade to Pike
+    # barometer_pkgs overcloud-full_build.qcow2
 
 fi # end x86_64 specific items
 
 
 fi # end x86_64 specific items
 
diff --git a/build/patches/puppet-neutron-ml2-ip-version-fix.patch b/build/patches/puppet-neutron-ml2-ip-version-fix.patch
deleted file mode 100644 (file)
index 3cbb3a8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From e3e4a9cf57d5d7da6914b31527188eff7e290238 Mon Sep 17 00:00:00 2001
-From: Feng Pan <fpan@redhat.com>
-Date: Wed, 17 May 2017 11:39:31 -0400
-Subject: [PATCH] Make sure overlay_ip_version is treated as string
-
-puppet throws error if overlay_ip_version is passed in through hiera
-as an integer. We should make sure this variable is treated as string
-for the 'in' operator.
-
-Closes-Bug: #1691502
-
-Change-Id: I1c034e8018c959672b106e2d57992cf93b945d8a
-Signed-off-by: Feng Pan <fpan@redhat.com>
----
-
-diff --git a/manifests/plugins/ml2.pp b/manifests/plugins/ml2.pp
-index d931e72..b943593 100644
---- a/manifests/plugins/ml2.pp
-+++ b/manifests/plugins/ml2.pp
-@@ -171,7 +171,7 @@
-     warning ('supported_pci_vendor_devs is deprecated, has no effect and will be removed in a future release.')
-   }
--  if !is_service_default($overlay_ip_version) and !($overlay_ip_version in [4, 6]) {
-+  if !is_service_default($overlay_ip_version) and !("${overlay_ip_version}" in ['4', '6']) {
-     fail('Invalid IP version for overlay_ip_version')
-   }
diff --git a/build/patches/tacker-vnffg-input-params.patch b/build/patches/tacker-vnffg-input-params.patch
deleted file mode 100644 (file)
index 0da36e6..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-From a0f1e680d81c7db66ae7a2a08c3d069901d0765a Mon Sep 17 00:00:00 2001
-From: Jimmy.Ye <yexuerong@cmss.chinamobile.com>
-Date: Thu, 30 Mar 2017 18:45:32 +0800
-Subject: [PATCH] fix create vnffg instance not support param input
-
-    (1) update and add unit test yaml files
-    (2) update and add unit test fuctions
-
-We are cherry picking this to ocata because we need it for OPNFV. There was a
-conflict in exceptions.py and db/utils.py. I left the new version because I
-think it should work. I will test it and check
-
-Change-Id: I9c43eed0c16ac5a43130724f2eeebefce82c1277
-Closes-Bug: #1675672
----
-
-diff --git a/tacker/common/exceptions.py b/tacker/common/exceptions.py
-index 76afae6..321940b 100644
---- a/tacker/common/exceptions.py
-+++ b/tacker/common/exceptions.py
-@@ -271,5 +271,5 @@
-     message = _("%(resource)s with name %(name)s already exists")
--class InvalidParam(TackerException):
--    message = _("Param values must be a dict type")
-+class DuplicateEntity(TackerException):
-+    message = _("%(_type)s already exist with given %(entry)s")
-diff --git a/tacker/db/nfvo/vnffg_db.py b/tacker/db/nfvo/vnffg_db.py
-index 290d6d5..fd16f0f 100644
---- a/tacker/db/nfvo/vnffg_db.py
-+++ b/tacker/db/nfvo/vnffg_db.py
-@@ -18,6 +18,7 @@
- import uuid
- from oslo_log import log as logging
-+from six import iteritems
- from sqlalchemy import orm
- from sqlalchemy.orm import exc as orm_exc
- from tacker._i18n import _
-@@ -284,6 +285,40 @@
-                                     self._make_chain_dict,
-                                     filters=filters, fields=fields)
-+    def _update_template_params(self, original, paramvalues, param_matched):
-+        if 'get_input' not in str(original):
-+            return
-+        if isinstance(original, dict):
-+            for key_, value in iteritems(original):
-+                if isinstance(value, dict) and 'get_input' in value:
-+                    if value['get_input'] in paramvalues:
-+                        original[key_] = paramvalues[value['get_input']]
-+                        param_matched.setdefault(value['get_input'], 0)
-+                        param_matched[value['get_input']] += 1
-+                    else:
-+                        raise nfvo.VnffgTemplateParamParsingException(
-+                            get_input=value['get_input'])
-+                else:
-+                    self._update_template_params(value,
-+                                                 paramvalues, param_matched)
-+        elif isinstance(original, list):
-+            for element in original:
-+                self._update_template_params(element,
-+                                             paramvalues, param_matched)
-+
-+    def _process_parameterized_template(self, dev_attrs, vnffgd_template):
-+        param_vattrs_dict = dev_attrs.pop('param_values', None)
-+        param_matched = {}
-+        if isinstance(param_vattrs_dict, dict):
-+            self._update_template_params(vnffgd_template,
-+                                param_vattrs_dict, param_matched)
-+        else:
-+            raise nfvo.VnffgParamValueFormatError(
-+                param_value=param_vattrs_dict)
-+        for param_key in param_vattrs_dict.keys():
-+            if param_matched.get(param_key) is None:
-+                raise nfvo.VnffgParamValueNotUsed(param_key=param_key)
-+
-     # called internally, not by REST API
-     def _create_vnffg_pre(self, context, vnffg):
-         vnffg = vnffg['vnffg']
-@@ -298,6 +333,17 @@
-             template_db = self._get_resource(context, VnffgTemplate,
-                                              template_id)
-             LOG.debug(_('vnffg template %s'), template_db)
-+
-+            if vnffg.get('attributes') and \
-+                    vnffg['attributes'].get('param_values'):
-+                vnffg_param = vnffg['attributes']
-+                vnffgd_topology_template = \
-+                    template_db.template['vnffgd']['topology_template']
-+                self._process_parameterized_template(vnffg_param,
-+                                                     vnffgd_topology_template)
-+                template_db.template['vnffgd']['topology_template'] = \
-+                    vnffgd_topology_template
-+
-             vnf_members = self._get_vnffg_property(template_db,
-                                                    'constituent_vnfs')
-             LOG.debug(_('Constituent VNFs: %s'), vnf_members)
-diff --git a/tacker/extensions/nfvo.py b/tacker/extensions/nfvo.py
-index 449db95..cf15dff 100644
---- a/tacker/extensions/nfvo.py
-+++ b/tacker/extensions/nfvo.py
-@@ -130,8 +130,17 @@
-                 "creating/updating VNFFG.")
--class VnffgVimMappingException(exceptions.TackerException):
--    message = _("VNF Instance VNF %(vnf_id)s does not match VIM ID %(vim_id).")
-+class VnffgParamValueFormatError(exceptions.TackerException):
-+    message = _("Param values %(param_value)s is not in dict format.")
-+
-+
-+class VnffgTemplateParamParsingException(exceptions.TackerException):
-+    message = _("Failed to parse VNFFG Template due to "
-+                "missing input param %(get_input)s.")
-+
-+
-+class VnffgParamValueNotUsed(exceptions.TackerException):
-+    message = _("Param input %(param_key)s not used.")
- class VnffgPropertyNotFoundException(exceptions.NotFound):
-diff --git a/tacker/nfvo/nfvo_plugin.py b/tacker/nfvo/nfvo_plugin.py
-index 690ce90..6892842 100644
---- a/tacker/nfvo/nfvo_plugin.py
-+++ b/tacker/nfvo/nfvo_plugin.py
-@@ -229,13 +229,6 @@
-     @log.log
-     def create_vnffg(self, context, vnffg):
--        vnffg_attributes = vnffg['vnffg']['attributes']
--        if vnffg_attributes.get('param_values'):
--            param = vnffg_attributes['param_values']
--            if isinstance(param, dict):
--                vnffg_attributes['param_values'] = yaml.safe_dump(param)
--            else:
--                raise exceptions.InvalidParam()
-         vnffg_dict = super(NfvoPlugin, self)._create_vnffg_pre(context, vnffg)
-         nfp = super(NfvoPlugin, self).get_nfp(context,
-                                               vnffg_dict['forwarding_paths'])
index 27040cf..9660b83 100644 (file)
@@ -1,5 +1,5 @@
 Name:          opnfv-apex-release
 Name:          opnfv-apex-release
-Version:       euphrates
+Version:       fraser
 Release:       %{_release}
 Summary:       RPM Release file
 
 Release:       %{_release}
 Summary:       RPM Release file
 
@@ -9,7 +9,7 @@ URL:            https://gerrit.opnfv.org/gerrit/apex.git
 Source0:       opnfv-apex-release.tar.gz
 
 BuildArch:     noarch
 Source0:       opnfv-apex-release.tar.gz
 
 BuildArch:     noarch
-Requires:      rdo-release = ocata epel-release libvirt-python
+Requires:      rdo-release = pike epel-release libvirt-python
 
 %description
 RPM Release file that provides a yum repo file to install OPNFV Apex
 
 %description
 RPM Release file that provides a yum repo file to install OPNFV Apex
@@ -28,6 +28,8 @@ install config/yum.repos.d/opnfv-apex.repo %{buildroot}%{_sysconfdir}/yum.repos.
 %{_sysconfdir}/yum.repos.d/opnfv-apex.repo
 
 %changelog
 %{_sysconfdir}/yum.repos.d/opnfv-apex.repo
 
 %changelog
+* Mon Nov 13 2017 Tim Rozet <trozet@redhat.com> - 6.0-1
+- Version update for Fraser
 * Tue Apr 04 2017 Dan Radez <dradez@redhat.com> - 5.0-1
 - Version update for Euphrates
 * Wed Nov 23 2016 Dan Radez <dradez@redhat.com> - 3.0-1
 * Tue Apr 04 2017 Dan Radez <dradez@redhat.com> - 5.0-1
 - Version update for Euphrates
 * Wed Nov 23 2016 Dan Radez <dradez@redhat.com> - 3.0-1
index 765267d..0cfb673 100755 (executable)
@@ -34,15 +34,12 @@ populate_cache $calipso_uri_base/$calipso_script
 # enabling ceph OSDs to live on the controller
 # seeding configuration files specific to OPNFV
 # Add performance image scripts
 # enabling ceph OSDs to live on the controller
 # seeding configuration files specific to OPNFV
 # Add performance image scripts
-# Override delorean repo with current tripleo (REMOVE when upgrading to Pike)
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config" \
     --run-command "sed -i 's/^GSSAPIAuthentication.*$/GSSAPIAuthentication no/' /etc/ssh/sshd_config" \
     --upload ${BUILD_DIR}/apex-tripleo-heat-templates.tar.gz:/usr/share \
     --install "openstack-utils" \
     --install "ceph-common" \
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config" \
     --run-command "sed -i 's/^GSSAPIAuthentication.*$/GSSAPIAuthentication no/' /etc/ssh/sshd_config" \
     --upload ${BUILD_DIR}/apex-tripleo-heat-templates.tar.gz:/usr/share \
     --install "openstack-utils" \
     --install "ceph-common" \
-    --install "http://mirror.centos.org/centos/7/cloud/x86_64/openstack-ocata/python2-networking-sfc-4.0.0-1.el7.noarch.rpm" \
-    --run-command "cd /etc/yum.repos.d && curl -O https://trunk.rdoproject.org/centos7-ocata/current-tripleo/delorean.repo" \
     --install openstack-nova-compute \
     --install epel-release \
     --install python34,python34-pip \
     --install openstack-nova-compute \
     --install epel-release \
     --install python34,python34-pip \
index 93c7195..e966e33 100644 (file)
@@ -20,7 +20,7 @@ BUILD_UTILS="$(dirname ${BUILD_ROOT})/apex/build_utils.py"
 # oom issues on some of the larger build steps
 VIRT_CUSTOMIZE="virt-customize -m 4096"
 
 # oom issues on some of the larger build steps
 VIRT_CUSTOMIZE="virt-customize -m 4096"
 
-rdo_images_uri=${RDO_IMAGES_URI:-http://artifacts.opnfv.org/apex/euphrates/rdo}
+rdo_images_uri=${RDO_IMAGES_URI:-https://images.rdoproject.org/pike/delorean/current-tripleo}
 
 onos_release_uri=https://downloads.onosproject.org/release/
 onos_release_file=onos-1.8.4.tar.gz
 
 onos_release_uri=https://downloads.onosproject.org/release/
 onos_release_file=onos-1.8.4.tar.gz
index f607107..49997f8 100644 (file)
@@ -86,7 +86,7 @@ Install Bare Metal Jump Host
 
 2a. When not using the OPNFV Apex ISO, install these repos:
 
 
 2a. When not using the OPNFV Apex ISO, install these repos:
 
-    ``sudo yum install https://repos.fedorapeople.org/repos/openstack/openstack-ocata/rdo-release-ocata-3.noarch.rpm``
+    ``sudo yum install https://repos.fedorapeople.org/repos/openstack/openstack-pike/rdo-release-pike-1.noarch.rpm``
     ``sudo yum install epel-release``
     ``sudo curl -o /etc/yum/repos.d/opnfv-apex.repo http://artifacts.opnfv.org/apex/euphrates/opnfv-apex.repo``
 
     ``sudo yum install epel-release``
     ``sudo curl -o /etc/yum/repos.d/opnfv-apex.repo http://artifacts.opnfv.org/apex/euphrates/opnfv-apex.repo``
 
index bd62f9c..2e1bf0f 100644 (file)
     - name: Find admin project id
       shell: "{{ overcloudrc }} && openstack project list | grep admin | awk '{print $2}'"
       register: os_project_id
     - name: Find admin project id
       shell: "{{ overcloudrc }} && openstack project list | grep admin | awk '{print $2}'"
       register: os_project_id
+    - name: Ensure rc files owned by stack
+      file:
+        path: "/home/stack/{{ item }}"
+        state: file
+        owner: stack
+        group: stack
+        mode: 0644
+      become: yes
+      with_items:
+        - overcloudrc
+        - overcloudrc.v3
     - name: Inject OS_PROJECT_ID and OS_TENANT_NAME into overcloudrc
       lineinfile:
         line: "{{ item }}"
         path: /home/stack/overcloudrc
     - name: Inject OS_PROJECT_ID and OS_TENANT_NAME into overcloudrc
       lineinfile:
         line: "{{ item }}"
         path: /home/stack/overcloudrc
+      become: yes
+      become_user: stack
       with_items:
         - "export OS_PROJECT_ID={{ os_project_id.stdout }}"
         - "export OS_TENANT_NAME=admin"
       with_items:
         - "export OS_PROJECT_ID={{ os_project_id.stdout }}"
         - "export OS_TENANT_NAME=admin"
@@ -59,6 +72,8 @@
         regexp: 'SDN_CONTROLLER_IP'
         path: "/home/stack/{{ item }}"
       when: sdn != false
         regexp: 'SDN_CONTROLLER_IP'
         path: "/home/stack/{{ item }}"
       when: sdn != false
+      become: yes
+      become_user: stack
       with_items:
         - overcloudrc
         - overcloudrc.v3
       with_items:
         - overcloudrc
         - overcloudrc.v3
       become_user: stack
       when: congress
       with_items: "{{ congress_datasources }}"
       become_user: stack
       when: congress
       with_items: "{{ congress_datasources }}"
+      ignore_errors: yes
     - name: Configure Calipso
       block:
         - name: Install Calipso dependencies
     - name: Configure Calipso
       block:
         - name: Install Calipso dependencies