From 6f0af19745f1c9856fdc8fd7fca9498c350efc61 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 25 Jun 2012 21:19:09 -0400 Subject: [PATCH] initial checkin --- sfa/openstack/client.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 sfa/openstack/client.py diff --git a/sfa/openstack/client.py b/sfa/openstack/client.py new file mode 100644 index 00000000..59003394 --- /dev/null +++ b/sfa/openstack/client.py @@ -0,0 +1,40 @@ +from sfa.util.sfalogging import logger +from glance import client as glance_client +from sfa.util.config import Config + + +def parse_novarc(filename): + opts = {} + f = open(filename, 'r') + for line in f: + try: + line = line.replace('export', '').strip() + parts = line.split('=') + if len(parts) > 1: + value = parts[1].replace("\'", "") + value = value.replace('\"', '') + opts[parts[0]] = value + except: + pass + f.close() + return opts + + +class GlanceClient: + def __init__(self, config): + 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) + + + + -- 2.43.0