From 80930ae9f818e10b64042736b59733fc0b32b660 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 29 Jun 2012 11:37:36 -0400 Subject: [PATCH 1/1] added KeystoneClient --- sfa/openstack/client.py | 44 ++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/sfa/openstack/client.py b/sfa/openstack/client.py index 11d9221c..f0d717e6 100644 --- a/sfa/openstack/client.py +++ b/sfa/openstack/client.py @@ -1,6 +1,7 @@ from sfa.util.sfalogging import logger +from keystoneclient.v2_0 import client as keystone_client from glance import client as glance_client -from novaclient.v1_1.client import Client +from novaclient.v1_1 import client as nova_client from sfa.util.config import Config @@ -21,40 +22,47 @@ def parse_novarc(filename): return opts -class GlanceClient: +class KeystoneClient: def __init__(self, config=None): if not config: config = Config() opts = parse_novarc(config.SFA_NOVA_NOVARC) + self.client = keystone_client.Client(username=opts.get('OS_USERNAME'), + password=opts.get('OS_PASSWORD'), + tenant_name=opts.get('OS_TENANT_NAME'), + auth_url=opts.get('OS_AUTH_URL')) + + def __getattr__(self, name): + return getattr(self.client, name) + +class GlanceClient: + def __init__(self, config=None): + if not config: + config = Config() + opts = parse_novarc(config.SFA_NOVA_NOVARC) self.client = glance_client.get_client(host='0.0.0.0', username=opts.get('OS_USERNAME'), password=opts.get('OS_PASSWORD'), tenant=opts.get('OS_TENANT_NAME'), auth_url=opts.get('OS_AUTH_URL')) - def __getattr__(self, name): return getattr(self.client, name) - class NovaClient: def __init__(self, config=None): if not config: config = Config() opts = parse_novarc(config.SFA_NOVA_NOVARC) - - self.client = Client(username=opts.get('OS_USERNAME'), - api_key=opts.get('OS_PASSWORD'), - project_id=opts.get('OS_TENANT_NAME'), - auth_url=opts.get('OS_AUTH_URL'), - region_name='', - extensions=[], - service_type='compute', - service_name='', - ) + self.client = nova_client.Client(username=opts.get('OS_USERNAME'), + api_key=opts.get('OS_PASSWORD'), + project_id=opts.get('OS_TENANT_NAME'), + auth_url=opts.get('OS_AUTH_URL'), + region_name='', + extensions=[], + service_type='compute', + service_name='', + ) - def __getattr__(self, name): - return getattr(self.client, name) - - + return getattr(self.client, name) -- 2.43.0