Example #1
0
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
Example #3
0
 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
Example #4
0
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
Example #5
0
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
Example #7
0
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
Example #8
0
    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
Example #9
0
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
Example #10
0
    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)
Example #13
0
    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()