give admin user the admin role to every tenant created by OpenStackDriver
[plstackapi.git] / plstackapi / openstack / driver.py
index b03669d..a1a3333 100644 (file)
@@ -9,6 +9,9 @@ class OpenStackDriver:
         else:
             self.config = Config() 
 
+        self.admin_client = OpenStackClient()
+        self.admin_user = self.admin_client.keystone.users.find(name=self.admin_client.keystone.username)
+
         if client:
             self.shell = client
         else:
@@ -37,6 +40,10 @@ class OpenStackDriver:
             tenant = self.shell.keystone.tenants.create(**fields)
         else:
             tenant = tenants[0]
+
+        # always give the admin user the admin role to any tenant created 
+        # by the driver. 
+        self.add_user_role(self.admin_user.id, tenant.id, 'admin')
         return tenant
 
     def update_tenant(self, id, **kwds):
@@ -117,13 +124,11 @@ class OpenStackDriver:
         routers = self.shell.quantum.list_routers(id=id)['routers']
         for router in routers:
             self.shell.quantum.delete_router(router['id'])
-            
             # remove router form external network
-            nets = self.shell.quantum.list_networks()['networks']
-            for net in nets:
-                if net['router:external'] == True:
-                    self.shell.quantum.add_gateway_router(router['id'],
-                                                          {'network_id': net['id']})
+            #nets = self.shell.quantum.list_networks()['networks']
+            #for net in nets:
+            #    if net['router:external'] == True:
+            #        self.shell.quantum.remove_gateway_router(router['id'])
 
     def add_router_interface(self, router_id, subnet_id):
         router = self.shell.quantum.show_router(router_id)['router']