def test_create_networks_invalid_cache(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = '/doesnotexist/' self.assertRaises(exc.SnapshotDeployException, d.create_networks)
def test_create_networks(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG conn = mock_libvirt_open('qemu:///system') d.create_networks() conn.networkCreateXML.assert_called()
def test_init(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=True, all_in_one=False) snap_dir = os.path.join(DUMMY_SNAP_DIR, 'queens', 'noha') self.assertEqual(d.snap_cache_dir, snap_dir) mock_pull_snap.assert_called() mock_deploy_snap.assert_called() self.assertEqual(d.ha_ext, 'noha')
def test_deploy_snapshot(self, mock_create_networks, mock_libvirt_open, mock_pull_snap, mock_parse_create, mock_service_up, mock_is_file): mock_is_file.return_value = True ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) mock_parse_create.assert_called() mock_create_networks.assert_called() mock_service_up.assert_called()
def test_get_controllers_none(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG node = mock_oc_node() node.role = 'compute' d.oc_nodes = [node] self.assertListEqual(d.get_controllers(), [])
def test_parse_and_create_nodes(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG node = mock_oc_node() d.parse_and_create_nodes() node.start.assert_called() self.assertListEqual([node], d.oc_nodes)
def test_deploy_snapshot_services_down(self, mock_create_networks, mock_libvirt_open, mock_pull_snap, mock_parse_create, mock_service_up, mock_is_file): mock_is_file.return_value = True ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) mock_service_up.return_value = False self.assertRaises(exc.SnapshotDeployException, SnapshotDeployment, ds, DUMMY_SNAP_DIR, False, False) mock_service_up.side_effect = [True, False] self.assertRaises(exc.SnapshotDeployException, SnapshotDeployment, ds, DUMMY_SNAP_DIR, False, False)
def test_is_opendaylight_up(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node, mock_utils, mock_time, mock_get_ctrls): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG node = mock_oc_node() node.ip = '123.123.123.123' node.name = 'dummy-controller-0' mock_get_ctrls.return_value = [node] mock_utils.open_webpage.return_value = 0 self.assertTrue(d.is_service_up('opendaylight'))
def test_is_openstack_up_false(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node, mock_socket, mock_time, mock_get_ctrls): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG node = mock_oc_node() node.ip = '123.123.123.123' node.name = 'dummy-controller-0' mock_get_ctrls.return_value = [node] sock = mock_socket.socket(mock_socket.AF_INET, mock_socket.SOCK_STREAM) sock.connect_ex.return_value = 1 self.assertFalse(d.is_service_up('openstack'))
def test_parse_and_create_nodes_invalid_node_yaml(self, mock_deploy_snap, mock_libvirt_open, mock_pull_snap, mock_oc_node, mock_parse_yaml): ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) d = SnapshotDeployment(deploy_settings=ds, snap_cache_dir=DUMMY_SNAP_DIR, fetch=False, all_in_one=False) d.snap_cache_dir = TEST_DUMMY_CONFIG node = mock_oc_node() mock_parse_yaml.return_value = {'blah': 'dummy'} self.assertRaises(exc.SnapshotDeployException, d.parse_and_create_nodes) node.start.assert_not_called()
def test_determine_patches(self): self.maxDiff = None ds_file = os.path.join(TEST_DUMMY_CONFIG, 'dummy-deploy-settings.yaml') ds = DeploySettings(ds_file) patches_file = os.path.join(TEST_DUMMY_CONFIG, 'common-patches.yaml') d = ApexDeployment(deploy_settings=ds, patch_file=patches_file, ds_file=ds_file) patches = d.determine_patches() test_patches = { 'undercloud': [{ 'change-id': 'I2e0a40d7902f592e4b7bd727f57048111e0bea36', 'project': 'openstack/tripleo-common' }], 'overcloud': [{ 'change-id': 'Ie988ba6a2d444a614e97c0edf5fce24b23970310', 'project': 'openstack/puppet-tripleo' }] } self.assertDictEqual(patches, test_patches)