diff --git a/fuel_health/nmanager.py b/fuel_health/nmanager.py index 3f7dce45..5a57ecce 100644 --- a/fuel_health/nmanager.py +++ b/fuel_health/nmanager.py @@ -55,6 +55,7 @@ try: except Exception: LOG.warning('Ironic client could not be imported') +import aodhclient.client import cinderclient.client import glanceclient.client import keystoneclient @@ -67,6 +68,8 @@ from fuel_health.common.utils.data_utils import rand_name from fuel_health import exceptions import fuel_health.manager import fuel_health.test +import keystoneauth1.identity +import keystoneauth1.session class OfficialClientManager(fuel_health.manager.Manager): @@ -109,6 +112,7 @@ class OfficialClientManager(fuel_health.manager.Manager): self.neutron_client = self._get_neutron_client() self.glance_client_v1 = self._get_glance_client(version=1) self.ironic_client = self._get_ironic_client() + self.aodh_client = self._get_aodh_client() self.client_attr_names = [ 'compute_client', 'identity_client', @@ -121,7 +125,8 @@ class OfficialClientManager(fuel_health.manager.Manager): 'sahara_client', 'ceilometer_client', 'neutron_client', - 'ironic_client' + 'ironic_client', + 'aodh_client' ] def _get_compute_client(self, username=None, password=None, @@ -343,6 +348,17 @@ class OfficialClientManager(fuel_health.manager.Manager): os_auth_token=keystone.auth_token, ironic_url=endpoint, insecure=True) + def _get_aodh_client(self, version='2'): + username = self.config.identity.admin_username + password = self.config.identity.admin_password + tenant = self.config.identity.admin_tenant_name + auth_url = self.config.identity.uri + auth = keystoneauth1.identity.v2.Password( + auth_url=auth_url, username=username, + password=password, tenant_name=tenant) + sess = keystoneauth1.session.Session(auth=auth, verify=False) + return aodhclient.client.Client(version, sess) + class OfficialClientTest(fuel_health.test.TestCase): manager_class = OfficialClientManager diff --git a/fuel_health/tests/sanity/test_sanity_ceilometer.py b/fuel_health/tests/sanity/test_sanity_ceilometer.py index 826d7329..18257b9a 100644 --- a/fuel_health/tests/sanity/test_sanity_ceilometer.py +++ b/fuel_health/tests/sanity/test_sanity_ceilometer.py @@ -40,8 +40,8 @@ class CeilometerApiTests(ceilometermanager.CeilometerBaseTest): 1, fail_msg, 'getting list of meters', q) fail_msg = 'Failed to get list of alarms.' - self.verify(60, self.ceilometer_client.alarms.list, - 2, fail_msg, 'getting list of alarms') + self.verify(60, self.aodh_client.alarm.list, + 2, fail_msg, 'getting list of alarms', 'threshold') fail_msg = 'Failed to get list of resources.' an_hour_ago = (datetime.datetime.now() - diff --git a/requirements.txt b/requirements.txt index 846a4f90..221c5ef5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ oslo.config>=2.3.0 +aodhclient>=0.1.0 python-cinderclient>=1.3.1 python-ceilometerclient>=1.5.0 python-keystoneclient>=1.6.0,!=1.8.0 diff --git a/specs/fuel-ostf.spec b/specs/fuel-ostf.spec index 076103e2..e0bcfe37 100644 --- a/specs/fuel-ostf.spec +++ b/specs/fuel-ostf.spec @@ -17,6 +17,7 @@ BuildRequires: python-pbr >= 1.6 BuildArch: noarch # fuel_health_reqs +Requires: python-aodhclient >= 0.1.0 Requires: python-amqplib >= 1.0.2 Requires: python-anyjson >= 0.3.3 Requires: python-oslo-config >= 1.1.1