HyperlinkedModelSerializer doesn't include the id by default
[plstackapi.git] / plstackapi / openstack / driver.py
index 5a42d79..f6817cf 100644 (file)
@@ -14,12 +14,26 @@ 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, filter):
+        roles = self.shell.keystone.roles.findall(**filter)
+        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)
         if not tenants:
             fields = {'tenant_name': tenant_name, 'enabled': enabled, 
-                      'description', description}  
+                      'description': description}  
             tenant = self.shell.keystone.tenants.create(**fields)
         else:
             tenant = tenants[0]