Skip to content

Commit a038fe5

Browse files
authored
Merge pull request #8 from deNBI/development
Development
2 parents ad9a048 + 20e3981 commit a038fe5

2 files changed

Lines changed: 12 additions & 25 deletions

File tree

openapi_server/denbi/__init__.py

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,22 @@
22
import os
33

44
import openstack
5-
from keystoneauth1 import session
6-
from keystoneauth1.identity import v3
5+
import os_client_config
76

8-
9-
def create_session(app_name="denbi", app_version="1.0"):
10-
"""
11-
Create a keystone session
12-
13-
:param app_name:
14-
:param app_version:
15-
:return: Return a openstack session object.
16-
"""
17-
auth = v3.Password(username=os.environ["OS_USERNAME"],
18-
password=os.environ["OS_PASSWORD"],
19-
auth_url=os.environ["OS_AUTH_URL"],
20-
project_name=os.environ["OS_PROJECT_NAME"],
21-
user_domain_name=os.environ["OS_USER_DOMAIN_NAME"],
22-
project_domain_name=os.environ["OS_USER_DOMAIN_NAME"])
23-
return session.Session(auth=auth, app_name=app_name, app_version=app_version)
24-
25-
26-
def create_osclient(session=None): # pylint: disable=W0621
7+
def create_osclient(microversions={'compute':'2.79'}): # pylint: disable=W0621
278
"""
289
Create an authorized openstack.connection.Connection object, that allows
2910
REST API calls.
3011
31-
:param session: Optional, if not set create_session is called
12+
:param: microversions - a dict containing microversions, where the key
13+
describes the service and the value the microversion to be used
14+
3215
:return: Return an authorized openstack.connection.Connection object
3316
"""
3417

35-
if not session:
36-
session = create_session()
37-
return openstack.connection.Connection(session=session)
18+
config=os_client_config.get_config()
19+
20+
for service in microversions:
21+
config.config[f'{service}_default_microversion']=microversions[service]
22+
23+
return openstack.connection.Connection(config=config)

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ python_dateutil >= 2.6.0
44
setuptools >= 21.0.0
55
Flask == 2.1.1
66
openstacksdk
7+
os_client_config
78
gunicorn
89
pymemcache

0 commit comments

Comments
 (0)