summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
add'>+ @patch.object(Undercloud, '_get_vm', return_value=None)
+ @patch.object(Undercloud, 'create')
+ def test_setup_vols(self, mock_get_vm, mock_create,
+ mock_shutil, mock_os_path, mock_os_remove):
+ uc = Undercloud('img_path', 'tplt_path', external_network=True)
+ mock_os_path.isfile.return_value = True
+ mock_os_path.exists.return_value = True
+ uc.setup_volumes()
+ for img_file in ('overcloud-full.vmlinuz', 'overcloud-full.initrd',
+ 'undercloud.qcow2'):
+ src_img = os.path.join(uc.image_path, img_file)
+ dest_img = os.path.join(constants.LIBVIRT_VOLUME_PATH, img_file)
+ mock_shutil.copyfile.assert_called_with(src_img, dest_img)
+
+ @patch('apex.undercloud.undercloud.os.path')
+ @patch.object(Undercloud, '_get_vm', return_value=None)
+ @patch.object(Undercloud, 'create')
+ def test_setup_vols_raises(self, mock_get_vm, mock_create, mock_os_path):
+ uc = Undercloud('img_path', 'tplt_path', external_network=True)
+ mock_os_path.isfile.return_value = False
+ assert_raises(ApexUndercloudException, uc.setup_volumes)
+
+ @patch('apex.undercloud.undercloud.virt_utils')
+ @patch.object(Undercloud, '_get_vm', return_value=None)
+ @patch.object(Undercloud, 'create')
+ def test_inject_auth(self, mock_get_vm, mock_create, mock_vutils):
+ uc = Undercloud('img_path', 'tplt_path', external_network=True)
+ uc.root_pw = 'test'
+ uc.inject_auth()
+ test_ops = [{'--root-password': 'password:test'},
+ {'--run-command': 'mkdir -p /root/.ssh'},
+ {'--upload':
+ '/root/.ssh/id_rsa.pub:/root/.ssh/authorized_keys'},
+ {'--run-command': 'chmod 600 /root/.ssh/authorized_keys'},
+ {'--run-command': 'restorecon /root/.ssh/authorized_keys'},
+ {'--run-command':
+ 'cp /root/.ssh/authorized_keys /home/stack/.ssh/'},
+ {'--run-command':
+ 'chown stack:stack /home/stack/.ssh/authorized_keys'},
+ {'--run-command':
+ 'chmod 600 /home/stack/.ssh/authorized_keys'}]
+ mock_vutils.virt_customize.assert_called_with(test_ops, uc.volume)
+
+ @patch.object(Undercloud, '_get_vm', return_value=None)
+ @patch.object(Undercloud, 'create')
+ def test_generate_config(self, mock_get_vm, mock_create):
+ ns_net = MagicMock()
+ ns_net.__getitem__.side_effect = \
+ lambda i: '1234/24' if i is 'cidr' else MagicMock()
+ ns = {'apex': MagicMock(),
+ 'dns-domain': 'dns',
+ 'networks': {'admin': ns_net,
+ 'external': [ns_net]}}
+
+ Undercloud('img_path', 'tplt_path').generate_config(ns)