def test_create_consistencygroup_from_src_volumes(self, create_snapshot, create_volume, delete_snapshot): src_cgroup = fake_cgroup(self.ctxt) dst_cgroup_spec = {'id': fake.CONSISTENCY_GROUP2_ID} dst_cgroup = fake_cgroup(self.ctxt, **dst_cgroup_spec) src_volume = fake_volume(self.ctxt) src_volumes = [src_volume] dst_volume_spec = {'id': fake.VOLUME2_ID} dst_volume = fake_volume(self.ctxt, **dst_volume_spec) dst_volumes = [dst_volume] create_snapshot.return_value = {} create_volume.return_value = {} delete_snapshot.return_value = {} result = self.drv.create_consistencygroup_from_src( self.ctxt, dst_cgroup, dst_volumes, None, None, src_cgroup, src_volumes) snapshot_name = (self.cfg.nexenta_origin_snapshot_template % dst_cgroup['id']) snapshot_path = '%s@%s' % (self.drv.root_path, snapshot_name) create_payload = {'path': snapshot_path, 'recursive': True} create_snapshot.assert_called_with(create_payload) snapshot = { 'name': snapshot_name, 'volume_id': src_volume['id'], 'volume_name': src_volume['name'], 'volume_size': src_volume['size'] } create_volume.assert_called_with(dst_volume, snapshot) delete_payload = {'defer': True, 'recursive': True} delete_snapshot.assert_called_with(snapshot_path, delete_payload) expected = ({}, []) self.assertEqual(expected, result)
def test_delete_consistencygroup(self, delete_volume): cgroup = fake_cgroup(self.ctxt) volume1 = fake_volume(self.ctxt) volume2_spec = {'id': fake.VOLUME2_ID} volume2 = fake_volume(self.ctxt, **volume2_spec) volumes = [volume1, volume2] delete_volume.return_value = {} result = self.drv.delete_consistencygroup(self.ctxt, cgroup, volumes) expected = ({}, []) self.assertEqual(expected, result)
def test_delete_consistencygroup(self, delete_volume): cgroup = fake_cgroup(self.ctxt) volume1 = fake_volume(self.ctxt) volume2_spec = {'id': fake.VOLUME2_ID} volume2 = fake_volume(self.ctxt, **volume2_spec) volumes = [volume1, volume2] delete_volume.return_value = {} result = self.drv.delete_consistencygroup(self.ctxt, cgroup, volumes) expected = ({}, []) self.assertEqual(expected, result)
def test_create_consistencygroup_from_src_volumes(self, create_snapshot, create_volume, delete_snapshot): src_cgroup = fake_cgroup(self.ctxt) dst_cgroup_spec = {'id': fake.CONSISTENCY_GROUP2_ID} dst_cgroup = fake_cgroup(self.ctxt, **dst_cgroup_spec) src_volume = fake_volume(self.ctxt) src_volumes = [src_volume] dst_volume_spec = {'id': fake.VOLUME2_ID} dst_volume = fake_volume(self.ctxt, **dst_volume_spec) dst_volumes = [dst_volume] create_snapshot.return_value = {} create_volume.return_value = {} delete_snapshot.return_value = {} result = self.drv.create_consistencygroup_from_src(self.ctxt, dst_cgroup, dst_volumes, None, None, src_cgroup, src_volumes) snapshot_name = ( self.cfg.nexenta_origin_snapshot_template % dst_cgroup['id']) snapshot_path = '%s@%s' % (self.drv.root_path, snapshot_name) create_payload = {'path': snapshot_path, 'recursive': True} create_snapshot.assert_called_with(create_payload) snapshot = { 'name': snapshot_name, 'volume_id': src_volume['id'], 'volume_name': src_volume['name'], 'volume_size': src_volume['size'] } create_volume.assert_called_with(dst_volume, snapshot) delete_payload = {'defer': True, 'recursive': True} delete_snapshot.assert_called_with(snapshot_path, delete_payload) expected = ({}, []) self.assertEqual(expected, result)
def test_update_consistencygroup(self): cgroup = fake_cgroup(self.ctxt) volume1 = fake_volume(self.ctxt) volume2_spec = {'id': fake.VOLUME2_ID} volume2 = fake_volume(self.ctxt, **volume2_spec) volume3_spec = {'id': fake.VOLUME3_ID} volume3 = fake_volume(self.ctxt, **volume3_spec) volume4_spec = {'id': fake.VOLUME4_ID} volume4 = fake_volume(self.ctxt, **volume4_spec) add_volumes = [volume1, volume2] remove_volumes = [volume3, volume4] result = self.drv.update_consistencygroup(self.ctxt, cgroup, add_volumes, remove_volumes) expected = ({}, [], []) self.assertEqual(expected, result)
def test_create_consistencygroup_from_src_snapshots(self, create_volume): cgroup = fake_cgroup(self.ctxt) cgsnapshot = fake_cgsnapshot(self.ctxt) volume = fake_volume(self.ctxt) snapshot = fake_snapshot(self.ctxt) snapshot.volume = volume snapshots = [snapshot] clone_spec = {'id': fake.VOLUME2_ID} clone = fake_volume(self.ctxt, **clone_spec) clones = [clone] create_volume.return_value = {} result = self.drv.create_consistencygroup_from_src( self.ctxt, cgroup, clones, cgsnapshot, snapshots, None, None) create_volume.assert_called_with(clone, snapshot) expected = ({}, []) self.assertEqual(expected, result)
def test_update_consistencygroup(self): cgroup = fake_cgroup(self.ctxt) volume1 = fake_volume(self.ctxt) volume2_spec = {'id': fake.VOLUME2_ID} volume2 = fake_volume(self.ctxt, **volume2_spec) volume3_spec = {'id': fake.VOLUME3_ID} volume3 = fake_volume(self.ctxt, **volume3_spec) volume4_spec = {'id': fake.VOLUME4_ID} volume4 = fake_volume(self.ctxt, **volume4_spec) add_volumes = [volume1, volume2] remove_volumes = [volume3, volume4] result = self.drv.update_consistencygroup(self.ctxt, cgroup, add_volumes, remove_volumes) expected = ({}, [], []) self.assertEqual(expected, result)
def test_create_consistencygroup_from_src_snapshots(self, create_volume): cgroup = fake_cgroup(self.ctxt) cgsnapshot = fake_cgsnapshot(self.ctxt) volume = fake_volume(self.ctxt) snapshot = fake_snapshot(self.ctxt) snapshot.volume = volume snapshots = [snapshot] clone_spec = {'id': fake.VOLUME2_ID} clone = fake_volume(self.ctxt, **clone_spec) clones = [clone] create_volume.return_value = {} result = self.drv.create_consistencygroup_from_src(self.ctxt, cgroup, clones, cgsnapshot, snapshots, None, None) create_volume.assert_called_with(clone, snapshot) expected = ({}, []) self.assertEqual(expected, result)
def test_create_consistencygroup(self): cgroup = fake_cgroup(self.ctxt) result = self.drv.create_consistencygroup(self.ctxt, cgroup) expected = {} self.assertEqual(expected, result)