From: Tony Mack Date: Fri, 29 Jun 2012 15:37:36 +0000 (-0400) Subject: added KeystoneClient X-Git-Tag: sfa-2.1-12~35 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=80930ae9f818e10b64042736b59733fc0b32b660;p=sfa.git added KeystoneClient --- 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)