# For those usages not covered by the Apache License, Version 2.0 please
# contact: bdiaz@whitestack.com or glavado@whitestack.com
##
-import logging
-
-from keystoneauth1 import session
-from keystoneauth1.identity import v3
-from keystoneclient.v3 import client
-
-from osm_mon.collector.infra_collectors.base_vim import BaseVimInfraCollector
-from osm_mon.core.auth import AuthManager
-
-log = logging.getLogger(__name__)
-
-
-class OpenstackInfraCollector(BaseVimInfraCollector):
- def __init__(self, vim_account_id: str):
- super().__init__(vim_account_id)
- self.auth_manager = AuthManager()
- self.keystone_client = self._build_keystone_client(vim_account_id)
-
- def is_vim_ok(self) -> bool:
- try:
- self.keystone_client.projects.list()
- return True
- except Exception:
- log.exception("VIM status is not OK!")
- return False
-
- def _build_keystone_client(self, vim_account_id):
- creds = self.auth_manager.get_credentials(vim_account_id)
- verify_ssl = self.auth_manager.is_verify_ssl(vim_account_id)
- auth = v3.Password(auth_url=creds.url,
- username=creds.user,
- password=creds.password,
- project_name=creds.tenant_name,
- project_domain_id='default',
- user_domain_id='default')
- sess = session.Session(auth=auth, verify=verify_ssl)
- return client.Client(session=sess)
+
+from osm_mon.collector.infra_collectors.base_osinfra import BaseOpenStackInfraCollector
+
+from osm_mon.core.config import Config
+
+
+class OpenstackInfraCollector(BaseOpenStackInfraCollector):
+ def __init__(self, config: Config, vim_account_id: str):
+ super(OpenstackInfraCollector, self).__init__(config, vim_account_id)