summaryrefslogtreecommitdiffstats
path: root/apex
diff options
context:
space:
mode:
Diffstat (limited to 'apex')
-rw-r--r--apex/deployment/tripleo.py11
-rw-r--r--apex/overcloud/deploy.py4
-rw-r--r--apex/tests/config/common-patches.yaml7
-rw-r--r--apex/tests/test_apex_overcloud_deploy.py28
4 files changed, 40 insertions, 10 deletions
diff --git a/apex/deployment/tripleo.py b/apex/deployment/tripleo.py
index 0f85bbae..c131e161 100644
--- a/apex/deployment/tripleo.py
+++ b/apex/deployment/tripleo.py
@@ -46,12 +46,13 @@ class ApexDeployment:
common_patches = utils.parse_yaml(self.p_file)
logging.debug('Content from common patch file is: {}'.format(
pprint.pformat(common_patches)))
- if 'patches' not in common_patches.keys():
- logging.error('Error parsing common patches file, wrong format. '
- 'Missing "patches" dictionary')
+ os_version = self.ds['deploy_options']['os_version']
+ try:
+ common_patches = common_patches['patches'][os_version]
+ except KeyError:
+ logging.error('Error parsing common patches file, wrong format.')
raise ApexDeployException('Invalid format of common patch file')
- else:
- common_patches = common_patches['patches']
+
for ptype in ('undercloud', 'overcloud'):
if ptype in common_patches:
patches[ptype] = utils.unique(patches[ptype] +
diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py
index dd476b6f..e310fa21 100644
--- a/apex/overcloud/deploy.py
+++ b/apex/overcloud/deploy.py
@@ -395,9 +395,9 @@ def prep_image(ds, ns, img, tmp_dir, root_pw=None, docker_tag=None,
"/root/nosdn_vpp_rpms/*.rpm"}
])
+ undercloud_admin_ip = ns['networks'][con.ADMIN_NETWORK][
+ 'installer_vm']['ip']
if sdn == 'opendaylight':
- undercloud_admin_ip = ns['networks'][con.ADMIN_NETWORK][
- 'installer_vm']['ip']
oc_builder.inject_opendaylight(
odl_version=ds_opts['odl_version'],
image=tmp_oc_image,
diff --git a/apex/tests/config/common-patches.yaml b/apex/tests/config/common-patches.yaml
index 35dbf449..fef8fcd0 100644
--- a/apex/tests/config/common-patches.yaml
+++ b/apex/tests/config/common-patches.yaml
@@ -1,5 +1,6 @@
---
patches:
- undercloud:
- - change-id: I2e0a40d7902f592e4b7bd727f57048111e0bea36
- project: openstack/tripleo-common
+ queens:
+ undercloud:
+ - change-id: I2e0a40d7902f592e4b7bd727f57048111e0bea36
+ project: openstack/tripleo-common
diff --git a/apex/tests/test_apex_overcloud_deploy.py b/apex/tests/test_apex_overcloud_deploy.py
index a9e4bda5..9dd5289d 100644
--- a/apex/tests/test_apex_overcloud_deploy.py
+++ b/apex/tests/test_apex_overcloud_deploy.py
@@ -284,6 +284,34 @@ class TestOvercloudDeploy(unittest.TestCase):
mock_c_builder.add_upstream_patches.assert_called()
self.assertListEqual(sorted(rv), ['nova-api', 'opendaylight'])
+ @patch('apex.overcloud.deploy.c_builder')
+ @patch('apex.overcloud.deploy.oc_builder')
+ @patch('apex.overcloud.deploy.virt_utils')
+ @patch('apex.overcloud.deploy.shutil')
+ @patch('apex.overcloud.deploy.os.path')
+ @patch('builtins.open', mock_open())
+ def test_prep_image_nosdn_upstream_containers_patches(
+ self, mock_os_path, mock_shutil, mock_virt_utils,
+ mock_oc_builder, mock_c_builder):
+ ds_opts = {'dataplane': 'ovs',
+ 'sdn_controller': False,
+ 'odl_version': con.DEFAULT_ODL_VERSION,
+ 'odl_vpp_netvirt': False}
+ ds = {'deploy_options': MagicMock(),
+ 'global_params': MagicMock()}
+ ds['deploy_options'].__getitem__.side_effect = \
+ lambda i: ds_opts.get(i, MagicMock())
+ ds['deploy_options'].__contains__.side_effect = \
+ lambda i: True if i in ds_opts else MagicMock()
+ ns = MagicMock()
+ mock_c_builder.add_upstream_patches.return_value = ['nova-api']
+ patches = ['dummy_nova_patch']
+ rv = prep_image(ds, ns, 'undercloud.qcow2', '/tmp', root_pw='test',
+ docker_tag='latest', patches=patches)
+ mock_virt_utils.virt_customize.assert_called()
+ mock_c_builder.add_upstream_patches.assert_called()
+ self.assertListEqual(sorted(rv), ['nova-api'])
+
@patch('apex.overcloud.deploy.oc_builder')
@patch('apex.overcloud.deploy.virt_utils')
@patch('apex.overcloud.deploy.shutil')