- if not self.tenant_id:
- nova_fields = {'tenant_name': self.name,
- 'description': self.description,
- 'enabled': self.enabled}
- tenant = self.driver.create_tenant(**nova_fields)
- self.tenant_id = tenant.id
-
- # give caller an admin role at the tenant they've created
- self.driver.add_user_role(self.caller.user_id, tenant.id, 'admin')
-
- # refresh credentials using this tenant
- self.driver.shell.connect(username=self.driver.shell.keystone.username,
- password=self.driver.shell.keystone.password,
- tenant=tenant.name)
-
- # create network
- network = self.driver.create_network(self.name)
- self.network_id = network['id']
-
- # create router
- router = self.driver.create_router(self.name)
- self.router_id = router['id']
-
- if self.id:
- self.driver.update_tenant(self.tenant_id,
- description=self.description,
- enabled=self.enabled)
-