diff --git a/openstack_dashboard/dashboards/admin/info/tests.py b/openstack_dashboard/dashboards/admin/info/tests.py index 2b2742464..334a53fed 100644 --- a/openstack_dashboard/dashboards/admin/info/tests.py +++ b/openstack_dashboard/dashboards/admin/info/tests.py @@ -57,17 +57,7 @@ class ServicessViewTests(test.BaseAdminViewTests): '', '', '', - '', - '', - '', - '', - '', - '', - '', - '', - '', - '', - '', + '', '', '', '', diff --git a/openstack_dashboard/dashboards/admin/projects/workflows.py b/openstack_dashboard/dashboards/admin/projects/workflows.py index 2b0986a8e..a8784bf3b 100644 --- a/openstack_dashboard/dashboards/admin/projects/workflows.py +++ b/openstack_dashboard/dashboards/admin/projects/workflows.py @@ -54,6 +54,7 @@ class UpdateProjectQuotaAction(workflows.Action): gigabytes = forms.IntegerField(min_value=-1, label=_("Gigabytes")) ram = forms.IntegerField(min_value=-1, label=_("RAM (MB)")) floating_ips = forms.IntegerField(min_value=-1, label=_("Floating IPs")) + fixed_ips = forms.IntegerField(min_value=-1, label=_("Fixed IPs")) security_groups = forms.IntegerField(min_value=-1, label=_("Security Groups")) security_group_rules = forms.IntegerField(min_value=-1, diff --git a/openstack_dashboard/test/test_data/nova_data.py b/openstack_dashboard/test/test_data/nova_data.py index c41d48fab..fee40cfc8 100644 --- a/openstack_dashboard/test/test_data/nova_data.py +++ b/openstack_dashboard/test/test_data/nova_data.py @@ -312,6 +312,7 @@ def data(TEST): gigabytes='1000', ram=10000, floating_ips='1', + fixed_ips='10', instances='10', injected_files='1', cores='10', diff --git a/openstack_dashboard/test/tests/quotas.py b/openstack_dashboard/test/tests/quotas.py index 7fabb7a18..8e3fbe662 100644 --- a/openstack_dashboard/test/tests/quotas.py +++ b/openstack_dashboard/test/tests/quotas.py @@ -62,6 +62,7 @@ class QuotaTests(test.APITestCase): 'injected_files': {'quota': 1}, 'security_groups': {'quota': 10}, 'security_group_rules': {'quota': 20}, + 'fixed_ips': {'quota': 10}, 'gigabytes': {'available': 920, 'used': 80, 'quota': 1000}, 'ram': {'available': 8976, 'used': 1024, 'quota': 10000}, 'floating_ips': {'available': 0, 'used': 2, 'quota': 1}, @@ -99,6 +100,7 @@ class QuotaTests(test.APITestCase): 'injected_files': {'quota': 1}, 'security_groups': {'quota': 10}, 'security_group_rules': {'quota': 20}, + 'fixed_ips': {'quota': 10}, 'ram': {'available': 8976, 'used': 1024, 'quota': 10000}, 'floating_ips': {'available': 0, 'used': 2, 'quota': 1}, 'instances': {'available': 8, 'used': 2, 'quota': 10}, @@ -133,6 +135,7 @@ class QuotaTests(test.APITestCase): 'injected_files': {'quota': 1}, 'security_groups': {'quota': 10}, 'security_group_rules': {'quota': 20}, + 'fixed_ips': {'quota': 10}, 'ram': {'available': 10000, 'used': 0, 'quota': 10000}, 'floating_ips': {'available': 1, 'used': 0, 'quota': 1}, 'instances': {'available': 10, 'used': 0, 'quota': 10}, @@ -176,6 +179,7 @@ class QuotaTests(test.APITestCase): 'injected_files': {'quota': 1}, 'security_groups': {'quota': 10}, 'security_group_rules': {'quota': 20}, + 'fixed_ips': {'quota': 10}, 'gigabytes': {'available': 920, 'used': 80, 'quota': 1000}, 'ram': {'available': float("inf"), 'used': 1024, 'quota': float("inf")}, diff --git a/openstack_dashboard/usage/quotas.py b/openstack_dashboard/usage/quotas.py index 5f382b2d9..c3cbe5faa 100644 --- a/openstack_dashboard/usage/quotas.py +++ b/openstack_dashboard/usage/quotas.py @@ -14,6 +14,7 @@ NOVA_QUOTA_FIELDS = ("metadata_items", "injected_file_content_bytes", "ram", "floating_ips", + "fixed_ips", "security_groups", "security_group_rules",) diff --git a/tools/pip-requires b/tools/pip-requires index bd4111d4c..29e2cdd33 100644 --- a/tools/pip-requires +++ b/tools/pip-requires @@ -6,7 +6,7 @@ netaddr python-cinderclient>=1.0.2,<2.0.0 python-glanceclient<2 python-keystoneclient -python-novaclient>=2.11.1,<3 +python-novaclient>=2.12.0,<3 python-quantumclient>=2.2.0,<3.0.0 python-swiftclient>1.1,<2 pytz