def setUp(self): super(InStorageMCSReplicationTestCase, self).setUp() def _run_ssh_aux(cmd, check_exit_code=True, attempts=1): utils.check_ssh_injection(cmd) if len(cmd) > 2 and cmd[1] == 'lssystem': cmd[1] = 'lssystem_aux' ret = self.sim.execute_command(cmd, check_exit_code) return ret aux_connect_patcher = mock.patch( 'cinder.volume.drivers.inspur.instorage.' 'replication.InStorageMCSReplicationManager._run_ssh') self.aux_ssh_mock = aux_connect_patcher.start() self.addCleanup(aux_connect_patcher.stop) self.aux_ssh_mock.side_effect = _run_ssh_aux self.driver = fakes.FakeInStorageMCSISCSIDriver( configuration=conf.Configuration(None)) self.rep_target = {"backend_id": "mcs_aux_target_1", "san_ip": "192.168.10.22", "san_login": "******", "san_password": "******", "pool_name": fakes.get_test_pool()} self.fake_target = {"backend_id": "mcs_id_target", "san_ip": "192.168.10.23", "san_login": "******", "san_password": "******", "pool_name": fakes.get_test_pool()} self._def_flags = {'san_ip': '192.168.10.21', 'san_login': '******', 'san_password': '******', 'instorage_mcs_volpool_name': fakes.MCS_POOLS, 'replication_device': [self.rep_target]} wwpns = ['1234567890123451', '6543210987654326'] initiator = 'test.initiator.%s' % 123451 self._connector = {'ip': '1.234.56.78', 'host': 'instorage-mcs-test', 'wwpns': wwpns, 'initiator': initiator} self.sim = fakes.FakeInStorage(fakes.MCS_POOLS) self.driver.set_fake_storage(self.sim) self.ctxt = context.get_admin_context() self._reset_flags() self.ctxt = context.get_admin_context() db_driver = self.driver.configuration.db_driver self.db = importutils.import_module(db_driver) self.driver.db = self.db self.driver.do_setup(None) self.driver.check_for_setup_error() self._create_test_volume_types() self.mock_object(greenthread, 'sleep')
def _create_volume(self, **kwargs): pool = fakes.get_test_pool() prop = {'host': 'openstack@mcs#%s' % pool, 'size': 1} for p in prop.keys(): if p not in kwargs: kwargs[p] = prop[p] vol = testutils.create_volume(self.ctxt, **kwargs) self.iscsi_driver.create_volume(vol) return vol
def _create_volume(self, **kwargs): pool = fakes.get_test_pool() prop = {'host': 'openstack@mcs#%s' % pool, 'size': 1} for p in prop.keys(): if p not in kwargs: kwargs[p] = prop[p] vol = testutils.create_volume(self.ctxt, **kwargs) self.fc_driver.create_volume(vol) return vol
def _generate_vol_info(self, vol_name, vol_id): pool = fakes.get_test_pool() prop = {'mdisk_grp_name': pool} if vol_name: prop.update(volume_name=vol_name, volume_id=vol_id, volume_size=10) else: prop.update(size=10, volume_type_id=None, mdisk_grp_name=pool, host='openstack@mcs#%s' % pool) vol = testutils.create_volume(self.ctxt, **prop) return vol
def _generate_vol_info(self, vol_name, vol_id): pool = fakes.get_test_pool() prop = {'mdisk_grp_name': pool} if vol_name: prop.update(volume_name=vol_name, volume_id=vol_id, volume_size=10) else: prop.update(size=10, volume_type_id=None, mdisk_grp_name=pool, host='openstack@mcs#%s' % pool) vol = testutils.create_volume(self.ctxt, **prop) return vol
def _generate_vol_info(self, vol_name, vol_id, vol_type=None): pool = fakes.get_test_pool() volume_type = self.non_replica_type if vol_type: volume_type = vol_type if vol_name: prop = {'volume_name': vol_name, 'volume_id': vol_id, 'volume_size': 10, 'mdisk_grp_name': pool} else: prop = {'size': 10, 'mdisk_grp_name': pool, 'host': 'openstack@mcs#%s' % pool, 'volume_type_id': volume_type['id']} vol = testutils.create_volume(self.ctxt, **prop) return vol
def _generate_vol_info(self, vol_name, vol_id, vol_type=None): pool = fakes.get_test_pool() volume_type = self.non_replica_type if vol_type: volume_type = vol_type if vol_name: prop = {'volume_name': vol_name, 'volume_id': vol_id, 'volume_size': 10, 'mdisk_grp_name': pool} else: prop = {'size': 10, 'mdisk_grp_name': pool, 'host': 'openstack@mcs#%s' % pool, 'volume_type_id': volume_type['id']} vol = testutils.create_volume(self.ctxt, **prop) return vol