diff --git a/tcutils/collector/opserver_introspect_utils.py b/tcutils/collector/opserver_introspect_utils.py index 1b538f570..dc1762b52 100755 --- a/tcutils/collector/opserver_introspect_utils.py +++ b/tcutils/collector/opserver_introspect_utils.py @@ -17,7 +17,8 @@ class VerificationOpsSrv (VerificationUtilBase): def __init__(self, ip, port=8081, logger=LOG, inputs=None): - super(VerificationOpsSrv, self).__init__(ip, port, logger=logger, args=inputs) + super(VerificationOpsSrv, self).__init__(ip, port, logger=logger, args=inputs, + use_admin_auth=True) def get_ops_generator(self, generator=None, diff --git a/tcutils/verification_util.py b/tcutils/verification_util.py index 6289172ba..73d32c85d 100644 --- a/tcutils/verification_util.py +++ b/tcutils/verification_util.py @@ -14,11 +14,12 @@ class JsonDrv (object): } _DEFAULT_AUTHN_URL = "/v2.0/tokens" - def __init__(self, vub, logger=LOG, args=None): + def __init__(self, vub, logger=LOG, args=None, use_admin_auth=False): self.log = logger self._vub = vub self._headers = None self._args = args + self._use_admin_auth = use_admin_auth def _auth(self): if self._args: @@ -33,8 +34,9 @@ def _auth(self): verify = not insecure self._authn_body = \ '{"auth":{"passwordCredentials":{"username": "%s", "password": "%s"}, "tenantName":"%s"}}' % ( - self._args.stack_user, self._args.stack_password, - self._args.project_name) + self._args.admin_username if self._use_admin_auth else self._args.stack_user, + self._args.admin_password if self._use_admin_auth else self._args.stack_password, + self._args.admin_tenant if self._use_admin_auth else self._args.project_name) response = requests.post(url, data=self._authn_body, headers=self._DEFAULT_HEADERS, verify=verify) @@ -62,7 +64,7 @@ def load(self, url, retry=True): class XmlDrv (object): - def __init__(self, vub, logger=LOG, args=None): + def __init__(self, vub, logger=LOG, args=None, use_admin_auth=False): self.log = logger self._vub = vub if args: @@ -80,11 +82,11 @@ def load(self, url): class VerificationUtilBase (object): - def __init__(self, ip, port, drv=JsonDrv, logger=LOG, args=None): + def __init__(self, ip, port, drv=JsonDrv, logger=LOG, args=None, use_admin_auth=False): self.log = logger self._ip = ip self._port = port - self._drv = drv(self, logger=logger, args=args) + self._drv = drv(self, logger=logger, args=args, use_admin_auth=use_admin_auth) self._force_refresh = False def get_force_refresh(self):