Merge "Changed heat_utils#get_stack_by_name to get_stack."
[snaps.git] / snaps / openstack / create_project.py
index 8d72fdb..1fbaef6 100644 (file)
@@ -48,7 +48,7 @@ class OpenStackProject:
         """
         self.__keystone = keystone_utils.keystone_client(self.__os_creds)
         self.__project = keystone_utils.get_project(
-            keystone=self.__keystone, project_name=self.project_settings.name)
+            keystone=self.__keystone, project_settings=self.project_settings)
         if self.__project:
             logger.info(
                 'Found project with name - ' + self.project_settings.name)
@@ -89,15 +89,15 @@ class OpenStackProject:
     def assoc_user(self, user):
         """
         The user object to associate with the project
-        :param user: the OpenStack user object to associate with project
+        :param user: the OpenStack User domain object to associate with project
         :return:
         """
         if not self.__role:
             self.__role = keystone_utils.create_role(
                 self.__keystone, self.project_settings.name + '-role')
 
-        keystone_utils.assoc_user_to_project(self.__keystone, self.__role,
-                                             user, self.__project)
+        keystone_utils.grant_user_role_to_project(self.__keystone, self.__role,
+                                                  user, self.__project)
 
 
 class ProjectSettings:
@@ -131,5 +131,11 @@ class ProjectSettings:
             self.enabled = True
 
         if not self.name:
-            raise Exception(
+            raise ProjectSettingsError(
                 "The attribute name is required for ProjectSettings")
+
+
+class ProjectSettingsError(Exception):
+    """
+    Exception to be thrown when project settings attributes are incorrect
+    """