示例#1
0
    def setup_fake_driver(self):
        config = conf.Configuration(None)
        config.fc_fabric_names = fabric_name

        def fake_build_driver(self):
            self.driver = mock.Mock(fc_zone_driver.FCZoneDriver)
            self.set_initialized(True)

        self.mock_object(fc_zone_manager.ZoneManager, '_build_driver',
                         fake_build_driver)

        self.zm = fc_zone_manager.ZoneManager(configuration=config)
        self.configuration = conf.Configuration(None)
        self.configuration.fc_fabric_names = fabric_name
示例#2
0
    def setUp(self, opt_mock):
        super(TestFCZoneManager, self).setUp()
        config = conf.Configuration(None)
        config.fc_fabric_names = fabric_name

        def fake_build_driver(self):
            self.driver = mock.Mock(fc_zone_driver.FCZoneDriver)

        self.stubs.Set(fc_zone_manager.ZoneManager, '_build_driver',
                       fake_build_driver)

        self.zm = fc_zone_manager.ZoneManager(configuration=config)
        self.configuration = conf.Configuration(None)
        self.configuration.fc_fabric_names = fabric_name
        self.driver = mock.Mock(fc_zone_driver.FCZoneDriver)
示例#3
0
    def test_unsupported_driver_disabled(self):
        config = conf.Configuration(fc_zone_manager.zone_manager_opts,
                                    'fc-zone-manager')
        config.fc_fabric_names = fabric_name
        config.enable_unsupported_driver = False

        def fake_import(self, *args, **kwargs):
            fake_driver = mock.Mock(fc_zone_driver.FCZoneDriver)
            fake_driver.supported = False
            return fake_driver

        self.patch('oslo_utils.importutils.import_object', fake_import)

        zm = fc_zone_manager.ZoneManager(configuration=config)
        self.assertFalse(zm.driver.supported)
        self.assertFalse(zm.initialized)
示例#4
0
 def setUp(self):
     super(TestVolumeManager, self).setUp()
     self.configuration = conf.Configuration(None)
     self.configuration.set_default('fc_fabric_names', 'BRCD_FAB_4',
                                    'fc-zone-manager')
     self.configuration.zoning_mode = 'fabric'
     self.driver = mock.Mock(driver.VolumeDriver)
     self.driver.initialize_connection.return_value = conn_info
     self.driver.terminate_connection.return_value = conn_info
     self.driver.create_export.return_value = None
     self.db = mock.Mock()
     self.db.volume_get.return_value = {'volume_type_id': None}
     self.db.volume_admin_metadata_get.return_value = {}
     self.context_mock = mock.Mock()
     self.context_mock.elevated.return_value = None
     self.zonemanager = fc_zone_manager.ZoneManager(
         configuration=self.configuration)
示例#5
0
    def test_unsupported_driver_enabled(self):
        config = conf.Configuration(None)
        config.fc_fabric_names = fabric_name

        def fake_import(self, *args, **kwargs):
            fake_driver = mock.Mock(fc_zone_driver.FCZoneDriver)
            fake_driver.supported = False
            return fake_driver

        self.patch('oslo_utils.importutils.import_object', fake_import)

        with mock.patch(
                'cinder.volume.configuration.Configuration') as mock_config:
            mock_config.return_value.zone_driver = 'test'
            mock_config.return_value.enable_unsupported_driver = True
            zm = fc_zone_manager.ZoneManager(configuration=config)
            self.assertFalse(zm.driver.supported)
            self.assertTrue(zm.initialized)
示例#6
0
def create_zone_manager():
    """If zoning is enabled, build the Zone Manager."""
    config = configuration.Configuration(manager.volume_manager_opts)
    LOG.debug("Zoning mode: %s", config.safe_get('zoning_mode'))
    if config.safe_get('zoning_mode') == 'fabric':
        LOG.debug("FC Zone Manager enabled.")
        zm = fc_zone_manager.ZoneManager()
        LOG.info(
            _LI("Using FC Zone Manager %(zm_version)s,"
                " Driver %(drv_name)s %(drv_version)s."), {
                    'zm_version': zm.get_version(),
                    'drv_name': zm.driver.__class__.__name__,
                    'drv_version': zm.driver.get_version()
                })
        return zm
    else:
        LOG.debug("FC Zone Manager not enabled in cinder.conf.")
        return None