Set default fixed_ip quota to unlimited.
DocImpact: our previous default quota of ten was poorly thought through and resulted in upgrade problems. Instead, let's have operators opt into fixed IP quotas. This change should be mentioned in release notes please. Resolves bug 1161190. Change-Id: I2f066a0129461899fe330a628cf49ee5273eaba4
This commit is contained in:
parent
2134199856
commit
78c7edc52e
@ -1,7 +1,7 @@
|
||||
{
|
||||
"quota_class_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "test_class",
|
||||
"injected_file_content_bytes": 10240,
|
||||
@ -14,4 +14,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<quota_class_set id="test_class">
|
||||
<cores>20</cores>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<floating_ips>10</floating_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>10</security_groups>
|
||||
</quota_class_set>
|
||||
</quota_class_set>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"quota_class_set": {
|
||||
"cores": 50,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
@ -13,4 +13,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<quota_class_set>
|
||||
<cores>50</cores>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<floating_ips>10</floating_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>10</security_groups>
|
||||
</quota_class_set>
|
||||
</quota_class_set>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
@ -14,4 +14,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<quota_set id="fake_tenant">
|
||||
<cores>20</cores>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<floating_ips>10</floating_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>10</security_groups>
|
||||
</quota_set>
|
||||
</quota_set>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
@ -14,4 +14,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<quota_set id="fake_tenant">
|
||||
<cores>20</cores>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<floating_ips>10</floating_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>10</security_groups>
|
||||
</quota_set>
|
||||
</quota_set>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
@ -13,4 +13,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 45
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<quota_set>
|
||||
<cores>20</cores>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<floating_ips>10</floating_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>45</security_groups>
|
||||
</quota_set>
|
||||
</quota_set>
|
||||
|
@ -44,7 +44,7 @@ quota_opts = [
|
||||
default=10,
|
||||
help='number of floating ips allowed per project'),
|
||||
cfg.IntOpt('quota_fixed_ips',
|
||||
default=10,
|
||||
default=-1,
|
||||
help=('number of fixed ips allowed per project (this should be '
|
||||
'at least the number of instances allowed)')),
|
||||
cfg.IntOpt('quota_metadata_items',
|
||||
|
@ -25,7 +25,7 @@ from nova.tests.api.openstack import fakes
|
||||
def quota_set(class_name):
|
||||
return {'quota_class_set': {'id': class_name, 'metadata_items': 128,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'instances': 10,
|
||||
'fixed_ips': -1, 'instances': 10,
|
||||
'injected_files': 5, 'cores': 20,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'security_groups': 10,
|
||||
@ -45,7 +45,7 @@ class QuotaClassSetsTest(test.TestCase):
|
||||
'cores': 20,
|
||||
'ram': 51200,
|
||||
'floating_ips': 10,
|
||||
'fixed_ips': 10,
|
||||
'fixed_ips': -1,
|
||||
'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -64,7 +64,7 @@ class QuotaClassSetsTest(test.TestCase):
|
||||
self.assertEqual(qs['cores'], 20)
|
||||
self.assertEqual(qs['ram'], 51200)
|
||||
self.assertEqual(qs['floating_ips'], 10)
|
||||
self.assertEqual(qs['fixed_ips'], 10)
|
||||
self.assertEqual(qs['fixed_ips'], -1)
|
||||
self.assertEqual(qs['metadata_items'], 128)
|
||||
self.assertEqual(qs['injected_files'], 5)
|
||||
self.assertEqual(qs['injected_file_path_bytes'], 255)
|
||||
@ -90,7 +90,7 @@ class QuotaClassSetsTest(test.TestCase):
|
||||
def test_quotas_update_as_admin(self):
|
||||
body = {'quota_class_set': {'instances': 50, 'cores': 50,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -108,7 +108,7 @@ class QuotaClassSetsTest(test.TestCase):
|
||||
def test_quotas_update_as_user(self):
|
||||
body = {'quota_class_set': {'instances': 50, 'cores': 50,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'security_groups': 10,
|
||||
@ -136,7 +136,7 @@ class QuotaTemplateXMLSerializerTest(test.TestCase):
|
||||
injected_file_content_bytes=20,
|
||||
ram=50,
|
||||
floating_ips=60,
|
||||
fixed_ips=10,
|
||||
fixed_ips=-1,
|
||||
instances=70,
|
||||
injected_files=80,
|
||||
security_groups=10,
|
||||
@ -161,7 +161,7 @@ class QuotaTemplateXMLSerializerTest(test.TestCase):
|
||||
injected_file_content_bytes='20',
|
||||
ram='50',
|
||||
floating_ips='60',
|
||||
fixed_ips='10',
|
||||
fixed_ips='-1',
|
||||
instances='70',
|
||||
injected_files='80',
|
||||
security_groups='10',
|
||||
@ -175,7 +175,7 @@ class QuotaTemplateXMLSerializerTest(test.TestCase):
|
||||
'</injected_file_content_bytes>'
|
||||
'<ram>50</ram>'
|
||||
'<floating_ips>60</floating_ips>'
|
||||
'<fixed_ips>10</fixed_ips>'
|
||||
'<fixed_ips>-1</fixed_ips>'
|
||||
'<instances>70</instances>'
|
||||
'<injected_files>80</injected_files>'
|
||||
'<cores>90</cores>'
|
||||
|
@ -26,7 +26,7 @@ from nova.tests.api.openstack import fakes
|
||||
|
||||
def quota_set(id):
|
||||
return {'quota_set': {'id': id, 'metadata_items': 128,
|
||||
'ram': 51200, 'floating_ips': 10, 'fixed_ips': 10,
|
||||
'ram': 51200, 'floating_ips': 10, 'fixed_ips': -1,
|
||||
'instances': 10, 'injected_files': 5, 'cores': 20,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'security_groups': 10, 'security_group_rules': 20,
|
||||
@ -45,7 +45,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
'cores': 20,
|
||||
'ram': 51200,
|
||||
'floating_ips': 10,
|
||||
'fixed_ips': 10,
|
||||
'fixed_ips': -1,
|
||||
'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -62,7 +62,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
self.assertEqual(qs['cores'], 20)
|
||||
self.assertEqual(qs['ram'], 51200)
|
||||
self.assertEqual(qs['floating_ips'], 10)
|
||||
self.assertEqual(qs['fixed_ips'], 10)
|
||||
self.assertEqual(qs['fixed_ips'], -1)
|
||||
self.assertEqual(qs['metadata_items'], 128)
|
||||
self.assertEqual(qs['injected_files'], 5)
|
||||
self.assertEqual(qs['injected_file_path_bytes'], 255)
|
||||
@ -83,7 +83,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
'cores': 20,
|
||||
'ram': 51200,
|
||||
'floating_ips': 10,
|
||||
'fixed_ips': 10,
|
||||
'fixed_ips': -1,
|
||||
'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -109,13 +109,13 @@ class QuotaSetsTest(test.TestCase):
|
||||
def test_quotas_update_as_admin(self):
|
||||
body = {'quota_set': {'instances': 50, 'cores': 50,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'injected_file_path_bytes': 255,
|
||||
'security_groups': 10,
|
||||
'security_group_rules': 20,
|
||||
'key_pairs': 100, 'fixed_ips': 10}}
|
||||
'key_pairs': 100, 'fixed_ips': -1}}
|
||||
|
||||
req = fakes.HTTPRequest.blank('/v2/fake4/os-quota-sets/update_me',
|
||||
use_admin_context=True)
|
||||
@ -126,7 +126,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
def test_quotas_update_as_user(self):
|
||||
body = {'quota_set': {'instances': 50, 'cores': 50,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'security_groups': 10,
|
||||
@ -163,7 +163,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
expected_resp = {'quota_set': {
|
||||
'instances': 50, 'cores': 50,
|
||||
'ram': 51200, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -174,7 +174,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
# when PUT JSON format with empty string for quota
|
||||
body = {'quota_set': {'instances': 50, 'cores': 50,
|
||||
'ram': '', 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -189,7 +189,7 @@ class QuotaSetsTest(test.TestCase):
|
||||
# when PUT XML format with empty string for quota
|
||||
body = {'quota_set': {'instances': 50, 'cores': 50,
|
||||
'ram': {}, 'floating_ips': 10,
|
||||
'fixed_ips': 10, 'metadata_items': 128,
|
||||
'fixed_ips': -1, 'metadata_items': 128,
|
||||
'injected_files': 5,
|
||||
'injected_file_content_bytes': 10240,
|
||||
'injected_file_path_bytes': 255,
|
||||
@ -216,7 +216,7 @@ class QuotaXMLSerializerTest(test.TestCase):
|
||||
injected_file_content_bytes=20,
|
||||
ram=50,
|
||||
floating_ips=60,
|
||||
fixed_ips=10,
|
||||
fixed_ips=-1,
|
||||
instances=70,
|
||||
injected_files=80,
|
||||
security_groups=10,
|
||||
@ -240,7 +240,7 @@ class QuotaXMLSerializerTest(test.TestCase):
|
||||
injected_file_content_bytes='20',
|
||||
ram='50',
|
||||
floating_ips='60',
|
||||
fixed_ips='10',
|
||||
fixed_ips='-1',
|
||||
instances='70',
|
||||
injected_files='80',
|
||||
security_groups='10',
|
||||
@ -254,7 +254,7 @@ class QuotaXMLSerializerTest(test.TestCase):
|
||||
'</injected_file_content_bytes>'
|
||||
'<ram>50</ram>'
|
||||
'<floating_ips>60</floating_ips>'
|
||||
'<fixed_ips>10</fixed_ips>'
|
||||
'<fixed_ips>-1</fixed_ips>'
|
||||
'<instances>70</instances>'
|
||||
'<injected_files>80</injected_files>'
|
||||
'<security_groups>10</security_groups>'
|
||||
|
@ -2,7 +2,7 @@
|
||||
"quota_class_set": {
|
||||
"cores": 20,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"id": "%(set_id)s",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_class_set id="%(set_id)s">
|
||||
<cores>20</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
|
@ -4,7 +4,7 @@
|
||||
"cores": 50,
|
||||
"ram": 51200,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"metadata_items": 128,
|
||||
"injected_files": 5,
|
||||
"injected_file_content_bytes": 10240,
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_class_set>
|
||||
<cores>50</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"quota_class_set": {
|
||||
"cores": 50,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
@ -13,4 +13,4 @@
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_class_set>
|
||||
<cores>50</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
@ -12,4 +12,4 @@
|
||||
<ram>51200</ram>
|
||||
<security_group_rules>20</security_group_rules>
|
||||
<security_groups>10</security_groups>
|
||||
</quota_class_set>
|
||||
</quota_class_set>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_set id="fake_tenant">
|
||||
<cores>20</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_set id="fake_tenant">
|
||||
<cores>20</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
|
@ -2,7 +2,7 @@
|
||||
<quota_set>
|
||||
<cores>20</cores>
|
||||
<floating_ips>10</floating_ips>
|
||||
<fixed_ips>10</fixed_ips>
|
||||
<fixed_ips>-1</fixed_ips>
|
||||
<injected_file_content_bytes>10240</injected_file_content_bytes>
|
||||
<injected_file_path_bytes>255</injected_file_path_bytes>
|
||||
<injected_files>5</injected_files>
|
||||
|
Loading…
Reference in New Issue
Block a user