diff --git a/requirements.txt b/requirements.txt index 36df2ab..1a3b33c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -49,6 +49,7 @@ python-neutronclient python-novaclient python-octaviaclient python-swiftclient +python-watcherclient tenacity paramiko diff --git a/setup.py b/setup.py index e8a7c06..80e6078 100644 --- a/setup.py +++ b/setup.py @@ -65,6 +65,7 @@ install_require = [ 'python-ceilometerclient', 'python-cinderclient<6.0.0', 'python-swiftclient<3.9.0', + 'python-watcherclient', # 'zaza@git+https://github.com/openstack-charmers/zaza.git#egg=zaza', 'zaza', ] diff --git a/zaza/openstack/utilities/openstack.py b/zaza/openstack/utilities/openstack.py index d98e1a7..f531076 100644 --- a/zaza/openstack/utilities/openstack.py +++ b/zaza/openstack/utilities/openstack.py @@ -65,6 +65,7 @@ from keystoneauth1.identity import ( v3, v2, ) +from watcherclient import client as watcher_client import zaza.openstack.utilities.cert as cert import zaza.utilities.deployment_env as deployment_env import zaza.utilities.juju as juju_utils @@ -516,6 +517,15 @@ def get_manila_session_client(session, version='2'): return manilaclient.Client(session=session, client_version=version) +def get_watcher_session_client(session): + """Return Watcher client authenticated by keystone session. + + :param session: Keystone session object + :returns: Authenticated watcher client + """ + return watcher_client.get_client(session=session, api_version='1') + + def get_keystone_scope(model_name=None): """Return Keystone scope based on OpenStack release of the overcloud.