create a Connection to it using your credentials work with Openstack

Viewed 24

I created connection like that https://docs.openstack.org/openstacksdk/latest/user/guides/connect.html

def create_connection(project_id=None) -> Optional[Connection]:
    """
    Create connection to Client's Project in Openstack
    :param project_id:
    :return: Connection
    """
    os_project_id = project_id or settings.OPENSTACK.get("PROJECT_ID")
    return openstack.connect(
        auth_url=settings.OPENSTACK.get("AUTH_URL"),
        project_id=os_project_id,
        username=settings.OPENSTACK.get("USERNAME"),
        password=settings.OPENSTACK.get("PASSWORD"),
        user_domain_name=settings.OPENSTACK.get("USER_DOMAIN_NAME"),
        project_domain_name=settings.OPENSTACK.get("PROJECT_DOMAIN_NAME"),
        app_name="default",
        app_version="1.0",
    )

# call function create connection
conn = create_connection(project_id)
# get project 
project = conn.identity.get_project(project_id)
# conn2 with project id of client
conn2 = conn.connect_as_project(project)

I succeeded get project and created conn2 in first time, but in the second, i couldn't get connection and created conn2. It was raise exception

HttpException: No Project found for 40e090c7ee32405dae3d2814cce73094: Client Error for url: https://{BASE_URL}:5000/v3/projects/40e090c7ee32405dae3d2814cce73094, You are not authorized to perform the requested action: identity:get_project.


I thought it cached session and used conn like conn2 created

0 Answers
Related