diff options
author | Zuul <zuul@review.opendev.org> | 2023-05-10 20:02:39 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-05-10 20:02:39 +0000 |
commit | b7219be169a3f58e1d560a32c16316fb0e9563be (patch) | |
tree | cdc00f14c49aba9aa34242abdd98b9eda9885610 | |
parent | dcf0a545da784da163b78e1db6032db8732bb042 (diff) | |
parent | 741605e911c526e331927a2ddd08efa51a6697f0 (diff) | |
download | ceilometer-b7219be169a3f58e1d560a32c16316fb0e9563be.tar.gz |
Merge "Fix Non-OpenStack dynamic pollster credentials handling" into stable/yoga
-rw-r--r-- | ceilometer/polling/dynamic_pollster.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ceilometer/polling/dynamic_pollster.py b/ceilometer/polling/dynamic_pollster.py index bb45b85f..2e9ea4ac 100644 --- a/ceilometer/polling/dynamic_pollster.py +++ b/ceilometer/polling/dynamic_pollster.py @@ -850,6 +850,9 @@ class NonOpenStackApisSamplesGatherer(PollsterSampleGatherer): if override_credentials: credentials = override_credentials + if not isinstance(credentials, str): + credentials = self.normalize_credentials_to_string(credentials) + url = self.get_request_linked_samples_url(kwargs, definitions) authenticator_module_name = definitions['module'] @@ -878,6 +881,17 @@ class NonOpenStackApisSamplesGatherer(PollsterSampleGatherer): return resp, url + @staticmethod + def normalize_credentials_to_string(credentials): + if isinstance(credentials, bytes): + credentials = credentials.decode('utf-8') + else: + credentials = str(credentials) + LOG.debug("Credentials [%s] were not defined as a string. " + "Therefore, we converted it to a string like object.", + credentials) + return credentials + def create_request_arguments(self, definitions): request_arguments = super( NonOpenStackApisSamplesGatherer, self).create_request_arguments( |