Esempio n. 1
0
    def setUp(self):
        super(QuotaSetsPolicyTest, self).setUp()
        self.controller = quota_sets.QuotaSetsController()
        self.controller._validate_quota_limit = mock.MagicMock()
        self.req = fakes.HTTPRequest.blank('')
        self.project_id = self.req.environ['nova.context'].project_id

        # With legacy rule all admin is able to update or revert their quota
        # to default or get other project quota.
        self.project_admin_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context]
        # With legacy rule, everyone is able to get their own quota.
        self.project_reader_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context,
            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]
        # Everyone is able to get the default quota
        self.everyone_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context,
            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]
Esempio n. 2
0
    def setUp(self):
        super(QuotaSetsPolicyTest, self).setUp()
        self.controller = quota_sets.QuotaSetsController()
        self.controller._validate_quota_limit = mock.MagicMock()
        self.req = fakes.HTTPRequest.blank('')
        self.project_id = self.req.environ['nova.context'].project_id

        # Check that admin is able to update or revert quota
        # to default.
        self.admin_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context
        ]
        # Check that non-admin is not able to update or revert
        # quota to default.
        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
        ]
        # Check that system reader is able to get another project's quota.
        self.system_reader_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, self.system_member_context,
            self.system_reader_context
        ]
        # Check that non-system reader is not able to get another
        # project's quota.
        self.system_reader_unauthorized_contexts = [
            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
        ]
        # Check that everyone is able to get the default quota or
        # their own quota.
        self.everyone_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, 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
        ]
        self.everyone_unauthorized_contexts = []
        # Check that system reader or owner is able to get their own quota.
        self.system_reader_or_owner_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, 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
        ]
Esempio n. 3
0
 def setUp(self):
     super(QuotaSetsTestV236, self).setUp()
     self.flags(enable_network_quota=True)
     tenant_networks._register_network_quota()
     self.old_req = fakes.HTTPRequest.blank('', version='2.1')
     self.filtered_quotas = ['fixed_ips', 'floating_ips', 'networks',
         'security_group_rules', 'security_groups']
     self.controller = quotas_v21.QuotaSetsController()
     self.req = fakes.HTTPRequest.blank('', version='2.36')
     self.addCleanup(self._remove_network_quota)
Esempio n. 4
0
    def setUp(self):
        super(QuotaSetsTestV236, self).setUp()
        # We need to stub out verify_project_id so that it doesn't
        # generate an EndpointNotFound exception and result in a
        # server error.
        self.stub_out('nova.api.openstack.identity.verify_project_id',
                      lambda ctx, project_id: True)

        self.flags(enable_network_quota=True)
        self.useFixture(nova_fixtures.RegisterNetworkQuota())
        self.old_req = fakes.HTTPRequest.blank('', version='2.1')
        self.filtered_quotas = ['fixed_ips', 'floating_ips', 'networks',
            'security_group_rules', 'security_groups']
        self.quotas = {
            'cores': {'limit': 20},
            'fixed_ips': {'limit': -1},
            'floating_ips': {'limit': 10},
            'injected_file_content_bytes': {'limit': 10240},
            'injected_file_path_bytes': {'limit': 255},
            'injected_files': {'limit': 5},
            'instances': {'limit': 10},
            'key_pairs': {'limit': 100},
            'metadata_items': {'limit': 128},
            'networks': {'limit': 3},
            'ram': {'limit': 51200},
            'security_group_rules': {'limit': 20},
            'security_groups': {'limit': 10},
            'server_group_members': {'limit': 10},
            'server_groups': {'limit': 10}
        }
        self.defaults = {
            'cores': 20,
            'fixed_ips': -1,
            'floating_ips': 10,
            'injected_file_content_bytes': 10240,
            'injected_file_path_bytes': 255,
            'injected_files': 5,
            'instances': 10,
            'key_pairs': 100,
            'metadata_items': 128,
            'networks': 3,
            'ram': 51200,
            'security_group_rules': 20,
            'security_groups': 10,
            'server_group_members': 10,
            'server_groups': 10
        }
        self.controller = quotas_v21.QuotaSetsController()
        self.req = fakes.HTTPRequest.blank('', version=self.microversion)
Esempio n. 5
0
 def setUp(self):
     super(QuotaSetsTestV236, self).setUp()
     self.flags(enable_network_quota=True)
     tenant_networks._register_network_quota()
     self.old_req = fakes.HTTPRequest.blank('', version='2.1')
     self.filtered_quotas = ['fixed_ips', 'floating_ips', 'networks',
         'security_group_rules', 'security_groups']
     self.quotas = {
         'cores': {'limit': 20},
         'fixed_ips': {'limit': -1},
         'floating_ips': {'limit': 10},
         'injected_file_content_bytes': {'limit': 10240},
         'injected_file_path_bytes': {'limit': 255},
         'injected_files': {'limit': 5},
         'instances': {'limit': 10},
         'key_pairs': {'limit': 100},
         'metadata_items': {'limit': 128},
         'networks': {'limit': 3},
         'ram': {'limit': 51200},
         'security_group_rules': {'limit': 20},
         'security_groups': {'limit': 10},
         'server_group_members': {'limit': 10},
         'server_groups': {'limit': 10}
     }
     self.defaults = {
         'cores': 20,
         'fixed_ips': -1,
         'floating_ips': 10,
         'injected_file_content_bytes': 10240,
         'injected_file_path_bytes': 255,
         'injected_files': 5,
         'instances': 10,
         'key_pairs': 100,
         'metadata_items': 128,
         'networks': 3,
         'ram': 51200,
         'security_group_rules': 20,
         'security_groups': 10,
         'server_group_members': 10,
         'server_groups': 10
     }
     self.controller = quotas_v21.QuotaSetsController()
     self.req = fakes.HTTPRequest.blank('', version='2.36')
     self.addCleanup(self._remove_network_quota)
Esempio n. 6
0
 def setUp(self):
     super(QuotaSetsPolicyEnforcementV21, self).setUp()
     self.controller = quotas_v21.QuotaSetsController()
     self.req = fakes.HTTPRequest.blank('')