Keystoneauth - keystoneclient으로부터 마이그레이션

1 개요

Migrating from keystoneclient
keystoneclient으로부터 마이그레이션

https://docs.openstack.org/keystoneauth/latest/migrating.html

2 인증 플러그인

2.1 플러그인 로딩

2.2 AccessInfo 객체

2.3 단계별 마이그레이션 예시

requirements.txt에 keystoneauth1 추가

코드에서 다음과 같이 변경합니다:

-from keystoneclient import auth
+from keystoneauth1 import plugin

그에 따라:

-auth.BaseAuthPlugin
+plugin.BaseAuthPlugin

서비스 카탈로그를 가져오기 위해:

-from keystoneclient import service_catalog
+from keystoneauth1.access import service_catalog

서비스 카탈로그를 사용하여 URL을 가져오기 위해 endpoint_type 파라미터가 interface로 변경되었습니다:

-service_catalog.ServiceCatalogV2(sc).service_catalog.url_for(..., endpoint_type=interface)
+service_catalog.ServiceCatalogV2(sc).service_catalog.url_for(..., interface=interface)

세션 얻기:

-from keystoneclient import session
+from keystoneauth1 import loading as ks_loading

-_SESSION = session.Session.load_from_conf_options(
-auth_plugin = auth.load_from_conf_options(conf, NEUTRON_GROUP)
+_SESSION = ks_loading.load_session_from_conf_options(
+auth_plugin = ks_loading.load_auth_from_conf_options(conf, NEUTRON_GROUP)

테스트 목적으로 세션을 모킹하기:

-@mock.patch('keystoneclient.session.Session')
+@mock.patch('keystoneauth1.session.Session')

토큰 픽스처 임포트는 큰 변경이 아닙니다:

-from keystoneclient.fixture import V2Token
+from keystoneauth1.fixture import V2Token
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}