Exemple #1
0
 def setUp(self):
     super(UnshelveServerControllerTestV277, self).setUp()
     self.controller = shelve_v21.ShelveController()
     self.req = fakes.HTTPRequest.blank('/%s/servers/a/action' %
                                        fakes.FAKE_PROJECT_ID,
                                        use_admin_context=True,
                                        version=self.wsgi_api_version)
Exemple #2
0
    def setUp(self):
        super(ShelveServerPolicyTest, self).setUp()
        self.controller = shelve.ShelveController()
        self.req = fakes.HTTPRequest.blank('')
        user_id = self.req.environ['nova.context'].user_id
        self.mock_get = self.useFixture(
            fixtures.MockPatch('nova.api.openstack.common.get_instance')).mock
        self.instance = fake_instance.fake_instance_obj(
            self.project_member_context,
            id=1, uuid=uuids.fake_id, project_id=self.project_id,
            user_id=user_id, vm_state=vm_states.ACTIVE)
        self.mock_get.return_value = self.instance
        # With legacy rule and no scope checks, all admin, project members
        # project reader or other project role(because legacy rule allow server
        # owner- having same project id and no role check) is able to shelve,
        # unshelve the server.
        self.project_action_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, self.project_member_context,
            self.project_reader_context, self.project_foo_context]

        # By default, legacy rule are enable and scope check is disabled.
        # system admin, legacy admin, and project admin is able to shelve
        # offload the server.
        self.project_admin_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context]
Exemple #3
0
 def setUp(self):
     super(UnshelveServerControllerTestV277, self).setUp()
     self.controller = shelve_v21.ShelveController()
     self.req = fakes.HTTPRequest.blank('/fake/servers/a/action',
                                        use_admin_context=True,
                                        version=self.wsgi_api_version)
     # These tests don't care about ports with QoS bandwidth resources.
     self.stub_out('nova.api.openstack.common.'
                   'instance_has_port_with_resource_request',
                   lambda *a, **kw: False)
Exemple #4
0
 def setUp(self):
     super(UnshelveServerControllerTestV277, self).setUp()
     self.mock_neutron_extension_list = self.useFixture(
         fixtures.MockPatch(
             'nova.network.neutron.API._refresh_neutron_extensions_cache')
     ).mock
     self.mock_neutron_extension_list.return_value = {'extensions': []}
     self.controller = shelve_v21.ShelveController()
     self.req = fakes.HTTPRequest.blank('/%s/servers/a/action' %
                                        fakes.FAKE_PROJECT_ID,
                                        use_admin_context=True,
                                        version=self.wsgi_api_version)
    def setUp(self):
        super(ShelveServerPolicyTest, self).setUp()
        self.controller = shelve.ShelveController()
        self.req = fakes.HTTPRequest.blank('')
        user_id = self.req.environ['nova.context'].user_id
        self.mock_get = self.useFixture(
            fixtures.MockPatch('nova.api.openstack.common.get_instance')).mock
        self.instance = fake_instance.fake_instance_obj(
            self.project_member_context,
            id=1,
            uuid=uuids.fake_id,
            project_id=self.project_id,
            user_id=user_id,
            vm_state=vm_states.ACTIVE)
        self.mock_get.return_value = self.instance

        # Check that admin or and server owner is able to shelve/unshelve
        # the server
        self.admin_or_owner_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, self.project_member_context,
            self.project_reader_context, self.project_foo_context
        ]
        # Check that non-admin/owner is not able to shelve/unshelve
        # the server
        self.admin_or_owner_unauthorized_contexts = [
            self.system_member_context,
            self.system_reader_context,
            self.system_foo_context,
            self.other_project_member_context,
            self.other_project_reader_context,
        ]
        # Check that admin is able to shelve offload the server.
        self.admin_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context
        ]
        # Check that non-admin is not able to shelve offload the server.
        self.admin_unauthorized_contexts = [
            self.system_member_context,
            self.system_reader_context,
            self.system_foo_context,
            self.project_member_context,
            self.project_reader_context,
            self.project_foo_context,
            self.other_project_member_context,
            self.other_project_reader_context,
        ]
Exemple #6
0
 def setUp(self):
     super(ShelvePolicyEnforcementV21, self).setUp()
     self.controller = shelve_v21.ShelveController()
     self.req = fakes.HTTPRequest.blank('')