def setup_neutronless(request, bigip, setup_registry_snapshot): pretest_snapshot = setup_registry_snapshot """F5 LBaaS agent for OpenStack.""" # Setup neutronless icontroldriver for element, value in symbols.__dict__.items(): setattr(cfg.CONF, element, value) icontroldriver = iControlDriver(cfg.CONF, registerOpts=False) icontroldriver.plugin_rpc = mock.MagicMock() wrappedicontroldriver = mock.MagicMock(wraps=icontroldriver) def _deletion_order(to_delete): ordered = [] for order_tag in [ 'member', '/mgmt/tm/ltm/pool', 'monitor', '/mgmt/tm/ltm/virtual', '/mgmt/tm/sys/folder' ]: for td in to_delete: path_start = urlsplit(td).path.rpartition('/')[0] if (order_tag in path_start) and ('address' not in td): ordered.append(td) return ordered def remove_test_created_elements(): posttest_registry = register_device(bigip) created = frozenset(posttest_registry) - pretest_snapshot ordered = _deletion_order(created) for selfLink in ordered: posttest_registry[selfLink].delete() request.addfinalizer(remove_test_created_elements) return bigip, wrappedicontroldriver, pretest_snapshot
def _icd(icd_config): mock_rpc_plugin = mock.MagicMock() mock_rpc_plugin.get_port_by_name.return_value =\ [{'fixed_ips': [{'ip_address': '10.2.2.134'}]}] icontroldriver = iControlDriver(ConfFake(icd_config), registerOpts=False) icontroldriver.plugin_rpc = mock_rpc_plugin return icontroldriver
def _icd(icd_config): mock_rpc_plugin = mock.MagicMock() mock_rpc_plugin.get_port_by_name.return_value =\ [{'fixed_ips': [{'ip_address': '10.2.2.134'}]}] icontroldriver = iControlDriver(ConfFake(icd_config), registerOpts=False) icontroldriver.plugin_rpc = mock_rpc_plugin return icontroldriver
def configure_icd(icd_config, create_mock_rpc): class ConfFake(object): '''minimal fake config object to replace oslo with controlled params''' def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icontroldriver = iControlDriver(ConfFake(icd_config), registerOpts=False) icontroldriver.plugin_rpc = create_mock_rpc() return icontroldriver
def icontrol_driver(icd_config, fake_plugin_rpc): class ConfFake(object): def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(icd_config), registerOpts=False) icd.plugin_rpc = fake_plugin_rpc return icd
def configure_icd(icd_config, create_mock_rpc): class ConfFake(object): '''minimal fake config object to replace oslo with controlled params''' def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icontroldriver = iControlDriver(ConfFake(icd_config), registerOpts=False) icontroldriver.plugin_rpc = create_mock_rpc() return icontroldriver
def icontrol_driver(icd_config, fake_plugin_rpc): class ConfFake(object): def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(icd_config), registerOpts=False) icd.plugin_rpc = fake_plugin_rpc return icd
def icontrol_driver(self): """Return a patched icontrol_driver. Conf and RPC_plugin are fakes.""" class ConfFake(object): """A configuration Fake that matches the oslo conf interface.""" def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(self.OSLO_CONF), registerOpts=False) icd.plugin_rpc = self.fake_plugin_rpc() icd.connect() return icd
def get_icontrol_driver(icd_config, fake_plugin_rpc, esd, bigip): class ConfFake(object): def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(icd_config), registerOpts=False) icd.plugin_rpc = fake_plugin_rpc icd.connect() esd.process_esd(icd.get_all_bigips()) icd.lbaas_builder.init_esd(esd) icd.service_adapter.init_esd(esd) return icd
def icontrol_driver(self): """Return a patched icontrol_driver. Conf and RPC_plugin are fakes.""" class ConfFake(object): """A configuration Fake that matches the oslo conf interface.""" def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(self.OSLO_CONF), registerOpts=False) icd.plugin_rpc = self.fake_plugin_rpc() icd.connect() return icd
def get_icontrol_driver(icd_config, fake_plugin_rpc, esd, bigip): class ConfFake(object): def __init__(self, params): self.__dict__ = params for k, v in self.__dict__.items(): if isinstance(v, unicode): self.__dict__[k] = v.encode('utf-8') def __repr__(self): return repr(self.__dict__) icd = iControlDriver(ConfFake(icd_config), registerOpts=False) icd.plugin_rpc = fake_plugin_rpc icd.connect() esd.process_esd(icd.get_all_bigips()) icd.lbaas_builder.init_esd(esd) icd.service_adapter.init_esd(esd) return icd
def __init__(self, name, manager, api, db, args=None): self._name = name self._manager = manager self._api = api self.db = db args_driver = dict(args.config_sections.items(self._name)) args_auth = dict(args.config_sections.items('KEYSTONE')) self.service = {} conf = cfg.ConfigOpts() conf.register_opts(agent_manager.OPTS) conf.register_opts(icontrol_driver.OPTS) conf.register_opt(cfg.BoolOpt('debug', default = False)) conf.f5_global_routed_mode = True if not 'device_ip' in args_driver: return None if 'ha_mode' in args_driver: conf.f5_ha_type = args_driver['ha_mode'] conf.icontrol_hostname = args_driver['device_ip'] conf.icontrol_username = args_driver['user'] conf.icontrol_password = args_driver['password'] conf.cert_manager = 'f5_openstack_agent.lbaasv2.drivers.bigip' \ '.barbican_cert.BarbicanCertManager' if 'v2.0' in args_auth['auth_url']: conf.auth_version = 'v2' conf.os_username = args_auth['admin_user'] conf.os_password = args_auth['admin_password'] conf.os_auth_url = args_auth['auth_url'] conf.os_tenant_name = args_auth['admin_tenant_name'] elif 'v3' in args_auth['auth_url']: conf.auth_version = 'v3' conf.os_username = args_auth['admin_user'] conf.os_password = args_auth['admin_password'] conf.os_auth_url = args_auth['auth_url'] conf.os_project_name = args_auth['admin_tenant_name'] conf.os_user_domain_name = 'default' conf.os_project_domain_name = 'default' self.icontrol = icontrol_driver.iControlDriver(conf, registerOpts = False)
def __init__(self, name, manager, api, db, args=None): self._name = name self._manager = manager self._api = api self.db = db args_driver = dict(args.config_sections.items(self._name)) args_auth = dict(args.config_sections.items('KEYSTONE')) self.service = {} conf = cfg.ConfigOpts() conf.register_opts(agent_manager.OPTS) conf.register_opts(icontrol_driver.OPTS) conf.register_opt(cfg.BoolOpt('debug', default=False)) conf.f5_global_routed_mode = True if not 'device_ip' in args_driver: return None if 'ha_mode' in args_driver: conf.f5_ha_type = args_driver['ha_mode'] conf.icontrol_hostname = args_driver['device_ip'] conf.icontrol_username = args_driver['user'] conf.icontrol_password = args_driver['password'] conf.cert_manager = 'f5_openstack_agent.lbaasv2.drivers.bigip' \ '.barbican_cert.BarbicanCertManager' if 'v2.0' in args_auth['auth_url']: conf.auth_version = 'v2' conf.os_username = args_auth['admin_user'] conf.os_password = args_auth['admin_password'] conf.os_auth_url = args_auth['auth_url'] conf.os_tenant_name = args_auth['admin_tenant_name'] elif 'v3' in args_auth['auth_url']: conf.auth_version = 'v3' conf.os_username = args_auth['admin_user'] conf.os_password = args_auth['admin_password'] conf.os_auth_url = args_auth['auth_url'] conf.os_project_name = args_auth['admin_tenant_name'] conf.os_user_domain_name = 'default' conf.os_project_domain_name = 'default' self.icontrol = icontrol_driver.iControlDriver(conf, registerOpts=False)
def fully_mocked_target(init): init.return_value = None return target_mod.iControlDriver()
def mocked_target(init): init.return_value = None return target_mod.iControlDriver()