示例#1
0
    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')
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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
示例#7
0
 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