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)
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]
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)
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, ]
def setUp(self): super(ShelvePolicyEnforcementV21, self).setUp() self.controller = shelve_v21.ShelveController() self.req = fakes.HTTPRequest.blank('')