From: Tony Mack <tmack@paris.CS.Princeton.EDU> Date: Mon, 8 Apr 2013 20:29:38 +0000 (-0400) Subject: use driver X-Git-Tag: 1.0~222 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=b5f339f8a34f7aaaa218753208febd7292c96d17;p=plstackapi.git use driver --- diff --git a/plstackapi/openstack/driver.py b/plstackapi/openstack/driver.py index 9d00976..cba7d95 100644 --- a/plstackapi/openstack/driver.py +++ b/plstackapi/openstack/driver.py @@ -14,6 +14,20 @@ class OpenStackDriver: else: self.shell = OpenStackClient() + def create_role(self, name): + roles = self.shell.keystone.roles.findall(name=name) + if not roles: + role = self.shell.keystone.roles.create(name) + else: + role = roles[0] + return role + + def delete_role(self, name): + roles = self.shell.keystone.roles.findall(name=name) + for role in roles: + self.shell.keystone.roles.delete(role) + return 1 + def create_tenant(self, tenant_name, enabled, description): """Create keystone tenant. Suggested fields: name, description, enabled""" tenants = self.shell.keystone.tenants.findall(name=tenant_name) diff --git a/plstackapi/planetstack/api/roles.py b/plstackapi/planetstack/api/roles.py index 2c14e2e..34415d8 100644 --- a/plstackapi/planetstack/api/roles.py +++ b/plstackapi/planetstack/api/roles.py @@ -5,16 +5,16 @@ from plstackapi.planetstack.models import * def add_role(auth, name): - client = auth_check(auth) - keystone_role = client.keystone.roles.create(name) + driver = OpenStackDriver(client = auth_check(auth)) + keystone_role = driver.create_role(name=name) role = Role(role_type=name, role_id=keystone_role.id) role.save() return role def delete_role(auth, name): - client = auth_check(auth) + driver = OpenStackDriver(client = auth_check(auth)) role = Role.objects.filter(role_type=name) - client.keystone.roles.delete(role.role_id) + driver.delete_role(name) role.delete() return 1 diff --git a/plstackapi/util/json.py b/plstackapi/util/json.py deleted file mode 100644 index ceb6dc9..0000000 --- a/plstackapi/util/json.py +++ /dev/null @@ -1,7 +0,0 @@ -import json - -def parse_request(request): - d = {} - for (k,v) in request.items(): - d[k] = json.loads(v) - diff --git a/plstackapi/util/jsonhelper.py b/plstackapi/util/jsonhelper.py deleted file mode 100644 index ceb6dc9..0000000 --- a/plstackapi/util/jsonhelper.py +++ /dev/null @@ -1,7 +0,0 @@ -import json - -def parse_request(request): - d = {} - for (k,v) in request.items(): - d[k] = json.loads(v) -