From: Tony Mack Date: Tue, 26 Jun 2012 01:19:09 +0000 (-0400) Subject: initial checkin X-Git-Tag: sfa-2.1-12~36^2~11 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=6f0af19745f1c9856fdc8fd7fca9498c350efc61;p=sfa.git initial checkin --- 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) + + + +