Fixed public endpoints settings, and requirements
Related-PROD: PROD-36943
Change-Id: I516e0503164c6deaf78af4a7e5182e624cfc3ba8
diff --git a/.gitignore b/.gitignore
index 48e10d7..83d53ec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -145,3 +145,10 @@
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/
.DS_Store
+
+# SPT scecific
+*.html
+*.csv
+*.tgz
+*openrc
+*keystonerc*
diff --git a/fixtures/base.py b/fixtures/base.py
index ec422a3..83d0be6 100644
--- a/fixtures/base.py
+++ b/fixtures/base.py
@@ -38,6 +38,7 @@
endpoint_type=os.environ["OS_ENDPOINT_TYPE"],
cert=False,
domain=os.environ['OS_PROJECT_DOMAIN_NAME'],
+ interface=os.environ["OS_ENDPOINT_TYPE"],
)
@@ -136,6 +137,8 @@
auth_url=os.environ['OS_AUTH_URL'],
cert=False,
domain=os.environ['OS_PROJECT_DOMAIN_NAME'],
+ endpoint_type=os.environ['OS_ENDPOINT_TYPE'],
+ interface=os.environ['OS_ENDPOINT_TYPE']
)
diff --git a/requirements.txt b/requirements.txt
index e3ebea6..ce79ee5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,6 @@
jinja2 # BSD License (BSD-3-Clause)
kubernetes==26.1.*
+numpy==1.24.2
pandas # BSD License (BSD-3-Clause)
paramiko==2.7.2 # LGPLv2.1+
pytest==7.4.4 # MIT
diff --git a/utils/__init__.py b/utils/__init__.py
index 155c03f..6d3f948 100644
--- a/utils/__init__.py
+++ b/utils/__init__.py
@@ -37,7 +37,10 @@
project_name=os.environ['OS_PROJECT_NAME'],
auth_url=os.environ['OS_AUTH_URL'],
cert=False,
- domain=os.environ['OS_PROJECT_DOMAIN_NAME']
+ domain=os.environ['OS_PROJECT_DOMAIN_NAME'],
+ endpoint_type=os.environ["OS_ENDPOINT_TYPE"],
+ interface=os.environ["OS_ENDPOINT_TYPE"],
+
)
os_actions = os_client.OSCliActions(openstack_clients)
nova_computes = os_actions.list_nova_computes()
diff --git a/utils/os_client.py b/utils/os_client.py
index 7febc30..d00e662 100644
--- a/utils/os_client.py
+++ b/utils/os_client.py
@@ -34,6 +34,7 @@
def __init__(self, username=None, password=None,
project_name=None, auth_url=None, endpoint_type="internalURL",
+ interface=INTERFACE,
cert=False, domain="Default", **kwargs):
self.traceback = ""
@@ -51,6 +52,7 @@
self.endpoint_type = endpoint_type
self.cert = cert
self.domain = domain
+ self.interface = interface
self.kwargs = kwargs
# Lazy clients
@@ -101,7 +103,7 @@
@classmethod
def get_auth_client(cls, username=None, password=None,
project_name=None, auth_url=None, cert=None,
- domain='Default', **kwargs):
+ domain='Default', os_interface=None, **kwargs):
session = cls._get_auth_session(
username=username,
password=password,
@@ -109,8 +111,11 @@
auth_url=auth_url,
cert=cert,
domain=domain)
+ endpoint_filter = {"interface": os_interface}
keystone = keystone_client.Client(version=cls.KEYSTONECLIENT_VERSION,
- session=session, **kwargs)
+ session=session, **kwargs,
+ interface=os_interface,
+ endpoint_filter=endpoint_filter)
keystone.management_url = auth_url
return keystone
@@ -172,7 +177,8 @@
if self._auth is None:
self._auth = self.get_auth_client(
self.username, self.password, self.project_name, self.auth_url,
- self.cert, self.domain, endpoint_type=self.endpoint_type
+ self.cert, self.domain, endpoint_type=self.endpoint_type,
+ os_interface=self.interface
)
return self._auth