Remove obsolete Ceph tags
[apex.git] / apex / tests / test_apex_overcloud_deploy.py
index 83e2b02..17911d5 100644 (file)
@@ -104,7 +104,8 @@ class TestOvercloudDeploy(unittest.TestCase):
                'containers': False,
                'barometer': True,
                'ceph': False,
-               'sriov': False
+               'sriov': False,
+               'vim': 'openstack'
                },
               'global_params': MagicMock()}
 
@@ -135,7 +136,8 @@ class TestOvercloudDeploy(unittest.TestCase):
                'ceph': True,
                'sdn_controller': 'opendaylight',
                'sriov': False,
-               'os_version': 'queens'
+               'os_version': 'queens',
+               'vim': 'openstack'
                },
               'global_params': MagicMock()}
 
@@ -158,7 +160,7 @@ class TestOvercloudDeploy(unittest.TestCase):
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments/'
                   'storage-environment.yaml', result_cmd)
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments'
-                  '/services-docker/neutron-opendaylight.yaml', result_cmd)
+                  '/services/neutron-opendaylight.yaml', result_cmd)
         ds['deploy_options']['os_version'] = 'master'
         result_cmd = create_deploy_cmd(ds, ns, inv, '/tmp', virt)
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments'
@@ -360,24 +362,27 @@ class TestOvercloudDeploy(unittest.TestCase):
                                            'ovs': {'dpdk_cores': 'test'},
                                            'kernel': {'test': 'test'}},
                                'Controller': {'vpp': 'test'}}}}
-        ns = {'domain_name': 'test.domain',
-              'networks':
-              {'tenant':
-               {'nic_mapping': {'controller':
-                                {'members': ['tenant_nic']},
-                                'compute':
-                                {'members': ['tenant_nic']}}},
-               'external':
-               [{'nic_mapping': {'controller':
-                                 {'members': ['ext_nic']},
-                                 'compute':
-                                 {'members': ['ext_nic']}}}]}}
+        ns_dict = {'domain_name': 'test.domain',
+                   'networks':
+                   {'tenant':
+                    {'nic_mapping': {'controller':
+                                     {'members': ['tenant_nic']},
+                                     'compute':
+                                     {'members': ['tenant_nic']}}},
+                    'external':
+                    [{'nic_mapping': {'controller':
+                                      {'members': ['ext_nic']},
+                                      'compute':
+                                      {'members': ['ext_nic']}}}]}}
         inv = None
         try:
             # Swap stdout
             saved_stdout = sys.stdout
             out = StringIO()
             sys.stdout = out
+            ns = MagicMock()
+            ns.enabled_network_list = ['external', 'tenant']
+            ns.__getitem__.side_effect = lambda i: ns_dict.get(i, MagicMock())
             # run test
             prep_env(ds, ns, inv, 'opnfv-env.yml', '/net-env.yml', '/tmp')
             output = out.getvalue().strip()
@@ -400,24 +405,27 @@ class TestOvercloudDeploy(unittest.TestCase):
                'sriov': 'xxx',
                'performance': {'Compute': {},
                                'Controller': {}}}}
-        ns = {'domain_name': 'test.domain',
-              'networks':
-              {'tenant':
-               {'nic_mapping': {'controller':
-                                {'members': ['tenant_nic']},
-                                'compute':
-                                {'members': ['tenant_nic']}}},
-               'external':
-               [{'nic_mapping': {'controller':
-                                 {'members': ['ext_nic']},
-                                 'compute':
-                                 {'members': ['ext_nic']}}}]}}
+        ns_dict = {'domain_name': 'test.domain',
+                   'networks':
+                   {'tenant':
+                    {'nic_mapping': {'controller':
+                                     {'members': ['tenant_nic']},
+                                     'compute':
+                                     {'members': ['tenant_nic']}}},
+                    'external':
+                    [{'nic_mapping': {'controller':
+                                      {'members': ['ext_nic']},
+                                      'compute':
+                                      {'members': ['ext_nic']}}}]}}
         inv = None
         try:
             # Swap stdout
             saved_stdout = sys.stdout
             out = StringIO()
             sys.stdout = out
+            ns = MagicMock()
+            ns.enabled_network_list = ['external', 'tenant']
+            ns.__getitem__.side_effect = lambda i: ns_dict.get(i, MagicMock())
             # run test
             prep_env(ds, ns, inv, 'opnfv-env.yml', '/net-env.yml', '/tmp')
             output = out.getvalue().strip()
@@ -440,18 +448,18 @@ class TestOvercloudDeploy(unittest.TestCase):
                'dataplane': 'fdio',
                'sriov': 'xxx',
                'dvr': True}}
-        ns = {'domain_name': 'test.domain',
-              'networks':
-              {'tenant':
-               {'nic_mapping': {'controller':
-                                {'members': ['tenant_nic']},
-                                'compute':
-                                {'members': ['tenant_nic']}}},
-               'external':
-               [{'nic_mapping': {'controller':
-                                 {'members': ['ext_nic']},
-                                 'compute':
-                                 {'members': ['ext_nic']}}}]}}
+        ns_dict = {'domain_name': 'test.domain',
+                   'networks':
+                   {'tenant':
+                    {'nic_mapping': {'controller':
+                                     {'members': ['tenant_nic']},
+                                     'compute':
+                                     {'members': ['tenant_nic']}}},
+                    'external':
+                    [{'nic_mapping': {'controller':
+                                      {'members': ['ext_nic']},
+                                      'compute':
+                                      {'members': ['ext_nic']}}}]}}
         inv = MagicMock()
         inv.get_node_counts.return_value = (3, 2)
         try:
@@ -459,6 +467,9 @@ class TestOvercloudDeploy(unittest.TestCase):
             saved_stdout = sys.stdout
             out = StringIO()
             sys.stdout = out
+            ns = MagicMock()
+            ns.enabled_network_list = ['external', 'tenant']
+            ns.__getitem__.side_effect = lambda i: ns_dict.get(i, MagicMock())
             # run test
             prep_env(ds, ns, inv, 'opnfv-env.yml', '/net-env.yml', '/tmp')
             output = out.getvalue().strip()
@@ -467,6 +478,107 @@ class TestOvercloudDeploy(unittest.TestCase):
             # put stdout back
             sys.stdout = saved_stdout
 
+    @patch('apex.overcloud.deploy.fileinput')
+    @patch('apex.overcloud.deploy.shutil')
+    def test_prep_env_tenant_vlan(self, mock_shutil, mock_fileinput):
+        mock_fileinput.input.return_value = \
+            ['NeutronNetworkVLANRanges',
+             'NeutronNetworkType', 'NeutronBridgeMappings']
+        ds = {'deploy_options':
+              {'sdn_controller': False,
+               'dataplane': 'ovs',
+               'sriov': 'xxx',
+               'dvr': True}}
+        ns_dict = {'domain_name': 'test.domain',
+                   'networks':
+                   {'tenant':
+                    {'nic_mapping': {'controller':
+                                     {'members': ['tenant_nic']},
+                                     'compute':
+                                     {'members': ['tenant_nic']}},
+                     'segmentation_type': 'vlan',
+                     'overlay_id_range': 'vlan:500:600'
+                     },
+                    'external':
+                    [{'nic_mapping': {'controller':
+                                      {'members': ['ext_nic']},
+                                      'compute':
+                                      {'members': ['ext_nic']}}}]}}
+        inv = MagicMock()
+        inv.get_node_counts.return_value = (3, 2)
+        try:
+            # Swap stdout
+            saved_stdout = sys.stdout
+            out = StringIO()
+            sys.stdout = out
+            ns = MagicMock()
+            ns.enabled_network_list = ['external', 'tenant']
+            ns.__getitem__.side_effect = lambda i: ns_dict.get(i, MagicMock())
+            # run test
+            prep_env(ds, ns, inv, 'opnfv-env.yml', '/net-env.yml', '/tmp')
+            output = out.getvalue().strip()
+            assert_in('NeutronNetworkVLANRanges: '
+                      'vlan:500:600,datacentre:1:1000', output)
+            assert_in('NeutronNetworkType: vlan', output)
+            assert_in('NeutronBridgeMappings: '
+                      'vlan:br-vlan,datacentre:br-ex', output)
+            assert_not_in('OpenDaylightProviderMappings', output)
+        finally:
+            # put stdout back
+            sys.stdout = saved_stdout
+
+    @patch('apex.overcloud.deploy.fileinput')
+    @patch('apex.overcloud.deploy.shutil')
+    def test_prep_env_tenant_vlan_odl(self, mock_shutil, mock_fileinput):
+        mock_fileinput.input.return_value = \
+            ['NeutronNetworkVLANRanges',
+             'NeutronNetworkType',
+             'NeutronBridgeMappings',
+             'OpenDaylightProviderMappings']
+        ds = {'deploy_options':
+              {'sdn_controller': 'opendaylight',
+               'dataplane': 'ovs',
+               'sriov': 'xxx',
+               'dvr': True}}
+        ns_dict = {'domain_name': 'test.domain',
+                   'networks':
+                   {'tenant':
+                    {'nic_mapping': {'controller':
+                                     {'members': ['tenant_nic']},
+                                     'compute':
+                                     {'members': ['tenant_nic']}},
+                     'segmentation_type': 'vlan',
+                     'overlay_id_range': 'vlan:500:600'
+                     },
+                    'external':
+                    [{'nic_mapping': {'controller':
+                                      {'members': ['ext_nic']},
+                                      'compute':
+                                      {'members': ['ext_nic']}}}]}}
+        inv = MagicMock()
+        inv.get_node_counts.return_value = (3, 2)
+        try:
+            # Swap stdout
+            saved_stdout = sys.stdout
+            out = StringIO()
+            sys.stdout = out
+            ns = MagicMock()
+            ns.enabled_network_list = ['external', 'tenant']
+            ns.__getitem__.side_effect = lambda i: ns_dict.get(i, MagicMock())
+            # run test
+            prep_env(ds, ns, inv, 'opnfv-env.yml', '/net-env.yml', '/tmp')
+            output = out.getvalue().strip()
+            assert_in('NeutronNetworkVLANRanges: '
+                      'vlan:500:600,datacentre:1:1000', output)
+            assert_in('NeutronNetworkType: vlan', output)
+            assert_in('NeutronBridgeMappings: '
+                      'vlan:br-vlan,datacentre:br-ex', output)
+            assert_in('OpenDaylightProviderMappings: '
+                      'vlan:br-vlan,datacentre:br-ex', output)
+        finally:
+            # put stdout back
+            sys.stdout = saved_stdout
+
     def test_generate_ceph_key(self):
         assert_equal(len(generate_ceph_key()), 40)
 
@@ -504,9 +616,6 @@ class TestOvercloudDeploy(unittest.TestCase):
               }
         prep_storage_env(ds, ns, virtual=True, tmp_dir='/tmp')
         ceph_params = {
-            'DockerCephDaemonImage':
-                '192.0.2.1:8787/ceph/daemon:tag-build-master-luminous-centos'
-                '-7',
             'CephPoolDefaultSize': 2,
             'CephAnsibleExtraConfig': {
                 'centos_package_dependencies': [],
@@ -671,6 +780,6 @@ class TestOvercloudDeploy(unittest.TestCase):
         output = get_docker_sdn_file(ds_opts)
         self.assertEqual(output,
                          ('/usr/share/openstack-tripleo-heat-templates'
-                          '/environments/services-docker/neutron-opendaylight'
+                          '/environments/services/neutron-opendaylight'
                           '.yaml')
                          )