Esempio n. 1
0
    def test_list_private_flavor_info(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.LAST_FLAVOR_NAME,
                                self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS,
                                self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID,
                                public=False)

        #The cloud admin gives access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                           self.LAST_FLAVOR_ID,
                                           self.PROJECT_ID)

        novautils.list_flavor_tenant_access(self.nova_cloud_client,
                                            flavor=self.LAST_FLAVOR_ID)

        # A project admin can list
        novautils.list_flavor_tenant_access(self.nova_project_admin_client,
                                            flavor=self.LAST_FLAVOR_ID)

        # A member from the project cannot list
        self.assertAnyRaise(lambda: novautils.list_flavor_tenant_access(
            self.nova_member_client, flavor=self.LAST_FLAVOR_ID))

        novautils.delete_flavor(self.nova_cloud_client, self.LAST_FLAVOR_ID)
Esempio n. 2
0
    def test_add_access_private_flavor(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.OTHER_FLAVOR_NAME,
                                self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS,
                                self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID,
                                public=False)

        #The project admin can give access
        novautils.add_flavor_tenant_access(self.nova_project_admin_client,
                                           self.LAST_FLAVOR_ID,
                                           self.PROJECT_ID)

        novautils.list_flavor_tenant_access(self.nova_cloud_client,
                                            flavor=self.LAST_FLAVOR_ID)

        #The project member can't give access
        self.assertAnyRaise(lambda: novautils.add_flavor_tenant_access(
            self.nova_member_client, self.LAST_FLAVOR_ID, self.PROJECT_ID))

        self.assertAnyRaise(lambda: novautils.get_flavor(
            self.other_nova_member_client, self.LAST_FLAVOR_ID))

        novautils.get_flavor(self.nova_member_client, self.LAST_FLAVOR_ID)

        novautils.delete_flavor(self.nova_cloud_client, self.LAST_FLAVOR_ID)
Esempio n. 3
0
    def test_get_private_flavor_project_member(self):

        novautils.get_all_flavors(self.nova_cloud_client)

        novautils.create_flavor(self.nova_cloud_client,
                                self.LAST_FLAVOR_NAME,
                                self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS,
                                self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID,
                                public=False)

        #The cloud admin can give access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                           self.LAST_FLAVOR_ID,
                                           self.PROJECT_ID)

        # Any member can get the details
        novautils.get_flavor(self.nova_cloud_client, self.LAST_FLAVOR_ID)

        novautils.get_flavor(self.nova_project_admin_client,
                             self.LAST_FLAVOR_ID)

        # A member from another project cannot access
        self.assertAnyRaise(lambda: novautils.get_flavor(
            self.other_nova_member_client, self.LAST_FLAVOR_ID))

        novautils.delete_flavor(self.nova_cloud_client, self.LAST_FLAVOR_ID)
Esempio n. 4
0
    def test_list_private_flavor_info(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.LAST_FLAVOR_NAME, self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS, self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID, public=False)

        #The cloud admin gives access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                          self.LAST_FLAVOR_ID,
                                          self.PROJECT_ID)

        novautils.list_flavor_tenant_access(self.nova_cloud_client,
                                         flavor=self.LAST_FLAVOR_ID)

        # A project admin can list
        novautils.list_flavor_tenant_access(self.nova_project_admin_client,
                                  flavor=self.LAST_FLAVOR_ID)

        # A member from the project cannot list
        self.assertAnyRaise(lambda:
          novautils.list_flavor_tenant_access(self.nova_member_client,
                                    flavor=self.LAST_FLAVOR_ID))

        novautils.delete_flavor(self.nova_cloud_client,
                self.LAST_FLAVOR_ID)
Esempio n. 5
0
    def test_add_access_private_flavor(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.OTHER_FLAVOR_NAME, self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS, self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID, public=False)

        #The project admin can give access
        novautils.add_flavor_tenant_access(self.nova_project_admin_client,
                                          self.LAST_FLAVOR_ID,
                                          self.PROJECT_ID)

        novautils.list_flavor_tenant_access(self.nova_cloud_client,
                                         flavor=self.LAST_FLAVOR_ID)

        #The project member can't give access
        self.assertAnyRaise(lambda:
          novautils.add_flavor_tenant_access(self.nova_member_client,
                                            self.LAST_FLAVOR_ID,
                                            self.PROJECT_ID))

        self.assertAnyRaise(lambda:
          novautils.get_flavor(self.other_nova_member_client,
                               self.LAST_FLAVOR_ID))

        novautils.get_flavor(self.nova_member_client,
                               self.LAST_FLAVOR_ID)

        novautils.delete_flavor(self.nova_cloud_client,
                self.LAST_FLAVOR_ID)
Esempio n. 6
0
    def test_get_private_flavor_project_member(self):

        novautils.get_all_flavors(self.nova_cloud_client)

        novautils.create_flavor(self.nova_cloud_client,
                                self.LAST_FLAVOR_NAME, self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS, self.FLAVOR_DISK,
                                self.LAST_FLAVOR_ID, public=False)

        #The cloud admin can give access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                          self.LAST_FLAVOR_ID,
                                          self.PROJECT_ID)

        # Any member can get the details
        novautils.get_flavor(self.nova_cloud_client, self.LAST_FLAVOR_ID)

        novautils.get_flavor(self.nova_project_admin_client,
                             self.LAST_FLAVOR_ID)

        # A member from another project cannot access
        self.assertAnyRaise(lambda:
          novautils.get_flavor(self.other_nova_member_client, self.LAST_FLAVOR_ID))

        novautils.delete_flavor(self.nova_cloud_client,
                self.LAST_FLAVOR_ID)
Esempio n. 7
0
    def test_remove_access_private_flavor(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.OTHER_FLAVOR_NAME,
                                self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS,
                                self.FLAVOR_DISK,
                                self.OTHER_FLAVOR_ID,
                                public=False)

        #The project admin can give access
        novautils.add_flavor_tenant_access(self.nova_project_admin_client,
                                           self.OTHER_FLAVOR_ID,
                                           self.PROJECT_ID)

        #The cloud admin can give access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                           self.OTHER_FLAVOR_ID,
                                           self.OTHER_PROJECT_ID)

        #The project member can't remove access
        self.assertAnyRaise(lambda: novautils.remove_flavor_tenant_access(
            self.nova_member_client, self.OTHER_FLAVOR_ID, self.PROJECT_ID))

        #The project admin can remove access
        novautils.remove_flavor_tenant_access(self.nova_project_admin_client,
                                              self.OTHER_FLAVOR_ID,
                                              self.PROJECT_ID)

        #The cloud admin can remove access
        novautils.remove_flavor_tenant_access(self.nova_cloud_client,
                                              self.OTHER_FLAVOR_ID,
                                              self.OTHER_PROJECT_ID)

        #The cloud gives access and the project admin deletes the flavor
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                           self.OTHER_FLAVOR_ID,
                                           self.OTHER_PROJECT_ID)

        novautils.delete_flavor(self.nova_project_admin_client,
                                self.OTHER_FLAVOR_ID)
Esempio n. 8
0
    def test_remove_access_private_flavor(self):

        novautils.create_flavor(self.nova_cloud_client,
                                self.OTHER_FLAVOR_NAME, self.FLAVOR_RAM,
                                self.FLAVOR_VCPUS, self.FLAVOR_DISK,
                                self.OTHER_FLAVOR_ID, public=False)

        #The project admin can give access
        novautils.add_flavor_tenant_access(self.nova_project_admin_client,
                                          self.OTHER_FLAVOR_ID,
                                          self.PROJECT_ID)

        #The cloud admin can give access
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                          self.OTHER_FLAVOR_ID,
                                          self.OTHER_PROJECT_ID)

        #The project member can't remove access
        self.assertAnyRaise(lambda:
          novautils.remove_flavor_tenant_access(self.nova_member_client,
                                            self.OTHER_FLAVOR_ID,
                                            self.PROJECT_ID))

        #The project admin can remove access
        novautils.remove_flavor_tenant_access(self.nova_project_admin_client,
                                          self.OTHER_FLAVOR_ID,
                                          self.PROJECT_ID)

        #The cloud admin can remove access
        novautils.remove_flavor_tenant_access(self.nova_cloud_client,
                                          self.OTHER_FLAVOR_ID,
                                          self.OTHER_PROJECT_ID)

        #The cloud gives access and the project admin deletes the flavor
        novautils.add_flavor_tenant_access(self.nova_cloud_client,
                                          self.OTHER_FLAVOR_ID,
                                          self.OTHER_PROJECT_ID)

        novautils.delete_flavor(self.nova_project_admin_client,
                self.OTHER_FLAVOR_ID)