def test_get_keystone_session(self, mock_session_loader): conf_group = 'neutron' fake_auth = 'Fake_auth_plugin' fake_session = 'Fake_session_plugin' mock_session_loader.return_value = fake_session utils.get_keystone_session(conf_group, fake_auth) mock_session_loader.assert_called_once_with(cfg.CONF, conf_group, auth=fake_auth)
def get_keystone_session(conf_group, **kwargs): try: auth_plugin = kuryr_utils.get_auth_plugin(conf_group) session = kuryr_utils.get_keystone_session(conf_group, auth_plugin) return session, auth_plugin except ka_exception.MissingRequiredOptions: return get_legacy_keystone_session(**kwargs), None
def setup_openstacksdk(): auth_plugin = utils.get_auth_plugin('neutron') session = utils.get_keystone_session('neutron', auth_plugin) # NOTE(mdulko): To get rid of warnings about connection pool being full # we need to "tweak" the keystoneauth's adapters increasing # the maximum pool size. for scheme in list(session.session.adapters): session.session.mount(scheme, k_session.TCPKeepAliveAdapter(pool_maxsize=1000)) # TODO(mdulko): To use Neutron's ability to do compare-and-swap updates we # need to manually add support for inserting If-Match header # into requests. At the moment we only need it for ports. # Remove when lower-constraints openstacksdk supports this. os_port.Port.if_match = os_resource.Header('If-Match') # TODO(maysams): We need to manually insert allowed_cidrs option # as it's only supported from 0.41.0 version. Remove it once # lower-constraints supports it. os_listener.Listener.allowed_cidrs = os_resource.Body('allowed_cidrs', type=list) conn = connection.Connection(session=session, region_name=getattr(config.CONF.neutron, 'region_name', None)) conn.network.create_ports = partial(_create_ports, conn.network) conn.network.add_trunk_subports = partial(_add_trunk_subports, conn.network) conn.network.delete_trunk_subports = partial(_delete_trunk_subports, conn.network) _clients[_OPENSTACKSDK] = conn
def verify_keystone_connection(self): conf_group = kuryr_config.neutron_group.name auth_plugin = utils.get_auth_plugin(conf_group) sess = utils.get_keystone_session(conf_group, auth_plugin) endpoint_type = getattr(getattr(cfg.CONF, conf_group), 'endpoint_type') ks = keystone_client.Client(session=sess, auth=auth_plugin, endpoint_type=endpoint_type) ks.projects.list()
def setup_openstacksdk(): auth_plugin = utils.get_auth_plugin('neutron') session = utils.get_keystone_session('neutron', auth_plugin) conn = connection.Connection( session=session, region_name=getattr(config.CONF.neutron, 'region_name', None)) conn.network.create_ports = partial(_create_ports, conn.network) conn.network.add_trunk_subports = partial(_add_trunk_subports, conn.network) conn.network.delete_trunk_subports = partial(_delete_trunk_subports, conn.network) _clients[_OPENSTACKSDK] = conn
def setup_loadbalancer_client(): neutron_client = get_neutron_client() if any(ext['alias'] == 'lbaasv2' for ext in neutron_client.list_extensions()['extensions']): _clients[_LB_CLIENT] = neutron_client else: # Since Octavia is lbaasv2 API compatible (A superset of it) we'll just # wire an extra neutron client instance to point to it lbaas_client = utils.get_neutron_client() conf_group = utils.kuryr_config.neutron_group.name auth_plugin = utils.get_auth_plugin(conf_group) octo_httpclient = n_client.construct_http_client( session=utils.get_keystone_session(conf_group, auth_plugin), service_type='load-balancer') lbaas_client.httpclient = octo_httpclient _clients[_LB_CLIENT] = lbaas_client
def setup_openstacksdk(): auth_plugin = utils.get_auth_plugin('neutron') session = utils.get_keystone_session('neutron', auth_plugin) # TODO(mdulko): To use Neutron's ability to do compare-and-swap updates we # need to manually add support for inserting If-Match header # into requests. At the moment we only need it for ports. # Remove when lower-constraints openstacksdk supports this. os_port.Port.if_match = os_resource.Header('If-Match') conn = connection.Connection(session=session, region_name=getattr(config.CONF.neutron, 'region_name', None)) conn.network.create_ports = partial(_create_ports, conn.network) conn.network.add_trunk_subports = partial(_add_trunk_subports, conn.network) conn.network.delete_trunk_subports = partial(_delete_trunk_subports, conn.network) _clients[_OPENSTACKSDK] = conn
def verify_keystone_connection(self): # Obtain a new token to ensure connectivity with keystone conf_group = kuryr_config.neutron_group.name auth_plugin = utils.get_auth_plugin(conf_group) sess = utils.get_keystone_session(conf_group, auth_plugin) sess.get_token()
def setup_openstacksdk(): auth_plugin = utils.get_auth_plugin('neutron') session = utils.get_keystone_session('neutron', auth_plugin) conn = connection.Connection(session=session) _clients[_OPENSTACKSDK] = conn