class OpenStackDriver:
- def __init__(self, config = None, client=None):
+ def __init__(self, config = None, client=None, deployment=None):
if config:
self.config = Config(config)
else:
- self.config = Config()
+ self.config = Config()
- self.admin_client = OpenStackClient()
+ self.admin_client = OpenStackClient(deployment=deployment)
self.admin_user = self.admin_client.keystone.users.find(name=self.admin_client.keystone.username)
if client:
self.shell = client
else:
- self.shell = OpenStackClient()
+ self.shell = OpenStackClient(deployment=deployment)
self.enabled = manager_enabled
self.has_openstack = has_openstack
- def client_driver(self, caller=None, tenant=None):
+ def client_driver(self, caller=None, tenant=None, deployment=None):
if caller:
auth = {'username': caller.email,
'password': hashlib.md5(caller.password).hexdigest()[:6],
'tenant': tenant}
- client = OpenStackClient(**auth)
+ client = OpenStackClient(deployment=deployment, **auth)
else:
- client = OpenStackClient(tenant=tenant)
- driver = OpenStackDriver(client=client)
+ client = OpenStackClient(tenant=tenant, deployment=deployment)
+
+ driver = OpenStackDriver(client=client, deployment=deployment)
return driver
- def admin_driver(self, tenant=None):
- client = OpenStackClient(tenant=tenant)
- driver = OpenStackDriver(client=client)
+ def admin_driver(self, tenant=None, deployment=None):
+ client = OpenStackClient(tenant=tenant, deployment=deployment)
+ driver = OpenStackDriver(client=client, deployment=deployment)
+ return driver
def create_role(self, name):
roles = self.shell.keystone.roles.findall(name=name)