1 from sfa.util.sfalogging import logger
2 from keystoneclient.v2_0 import client as keystone_client
3 from glance import client as glance_client
4 from novaclient.v1_1 import client as nova_client
5 from sfa.util.config import Config
8 def parse_novarc(filename):
10 f = open(filename, 'r')
13 line = line.replace('export', '').strip()
14 parts = line.split('=')
16 value = parts[1].replace("\'", "")
17 value = value.replace('\"', '')
18 opts[parts[0]] = value
26 def __init__(self, config=None):
29 opts = parse_novarc(config.SFA_NOVA_NOVARC)
30 self.client = keystone_client.Client(username=opts.get('OS_USERNAME'),
31 password=opts.get('OS_PASSWORD'),
32 tenant_name=opts.get('OS_TENANT_NAME'),
33 auth_url=opts.get('OS_AUTH_URL'))
35 def __getattr__(self, name):
36 return getattr(self.client, name)
40 def __init__(self, config=None):
43 opts = parse_novarc(config.SFA_NOVA_NOVARC)
44 self.client = glance_client.get_client(host='0.0.0.0',
45 username=opts.get('OS_USERNAME'),
46 password=opts.get('OS_PASSWORD'),
47 tenant=opts.get('OS_TENANT_NAME'),
48 auth_url=opts.get('OS_AUTH_URL'))
49 def __getattr__(self, name):
50 return getattr(self.client, name)
53 def __init__(self, config=None):
56 opts = parse_novarc(config.SFA_NOVA_NOVARC)
57 self.client = nova_client.Client(username=opts.get('OS_USERNAME'),
58 api_key=opts.get('OS_PASSWORD'),
59 project_id=opts.get('OS_TENANT_NAME'),
60 auth_url=opts.get('OS_AUTH_URL'),
63 service_type='compute',
67 def __getattr__(self, name):
68 return getattr(self.client, name)