k8s inventory - remove trailing slashes from hostname (#63)

When the user provides a hostname with trailing slashes like
https://localhost:6443/, the openshift library fails to
enumerate the APIs from the given cluster.

This fix removes any extra trailing slashes before sending it
to the openshift DynamicClient.

Fixes: #52

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
Abhijeet Kasurde
2021-04-20 13:15:29 +05:30
committed by GitHub
parent 5a0f5d6b93
commit cc10268adf
2 changed files with 7 additions and 2 deletions

View File

@@ -0,0 +1,2 @@
bugfixes:
- k8s inventory - remove extra trailing slashes from the hostname (https://github.com/ansible-collections/kubernetes.core/issues/52).

View File

@@ -124,8 +124,7 @@ def get_api_client(module=None, **kwargs):
def _raise_or_fail(exc, msg):
if module:
module.fail_json(msg % to_native(exc))
else:
raise exc
raise exc
# If authorization variables aren't defined, look for them in environment variables
for true_name, arg_name in AUTH_ARG_MAP.items():
@@ -143,6 +142,10 @@ def get_api_client(module=None, **kwargs):
def auth_set(*names):
return all([auth.get(name) for name in names])
if auth_set('host'):
# Removing trailing slashes if any from hostname
auth['host'] = auth.get('host').rstrip('/')
if auth_set('username', 'password', 'host') or auth_set('api_key', 'host'):
# We have enough in the parameters to authenticate, no need to load incluster or kubeconfig
pass