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 @@
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 @@
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)
-