Support resource_properties key in instance_reservation
Partially Implements: blueprint flavors-extra-specs Depends-On: https://review.openstack.org/563149 Change-Id: I3c00bd366027465d349f1a0c83fe8290d9b2fa22
This commit is contained in:
parent
4a468edaaf
commit
434c34d495
|
@ -97,17 +97,6 @@ class CreateForm(forms.SelfHandlingForm):
|
||||||
'data-source-host': _('Hypervisor Properties'),
|
'data-source-host': _('Hypervisor Properties'),
|
||||||
'placeholder': 'e.g. [">=", "$vcpus", "2"]'})
|
'placeholder': 'e.g. [">=", "$vcpus", "2"]'})
|
||||||
)
|
)
|
||||||
resource_properties = forms.CharField(
|
|
||||||
label=_("Resource Properties"),
|
|
||||||
required=False,
|
|
||||||
help_text=_('Enter properties of a resource to reserve.'),
|
|
||||||
max_length=255,
|
|
||||||
widget=forms.TextInput(attrs={
|
|
||||||
'class': 'switched',
|
|
||||||
'data-switch-on': 'source',
|
|
||||||
'data-source-host': _('Resource Properties'),
|
|
||||||
'placeholder': 'e.g. ["==", "$extra_key", "extra_value"]'})
|
|
||||||
)
|
|
||||||
|
|
||||||
# Fields for instance reservation
|
# Fields for instance reservation
|
||||||
amount = forms.IntegerField(
|
amount = forms.IntegerField(
|
||||||
|
@ -155,6 +144,16 @@ class CreateForm(forms.SelfHandlingForm):
|
||||||
'data-source-instance': _('Root Disk (GB)')})
|
'data-source-instance': _('Root Disk (GB)')})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Fields for both of host and instance reservations
|
||||||
|
resource_properties = forms.CharField(
|
||||||
|
label=_("Resource Properties"),
|
||||||
|
required=False,
|
||||||
|
help_text=_('Enter properties of a resource to reserve.'),
|
||||||
|
max_length=255,
|
||||||
|
widget=forms.TextInput(attrs={
|
||||||
|
'placeholder': 'e.g. ["==", "$extra_key", "extra_value"]'})
|
||||||
|
)
|
||||||
|
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
if data['resource_type'] == 'host':
|
if data['resource_type'] == 'host':
|
||||||
reservations = [
|
reservations = [
|
||||||
|
@ -175,7 +174,8 @@ class CreateForm(forms.SelfHandlingForm):
|
||||||
'vcpus': data['vcpus'],
|
'vcpus': data['vcpus'],
|
||||||
'memory_mb': data['memory_mb'],
|
'memory_mb': data['memory_mb'],
|
||||||
'disk_gb': data['disk_gb'],
|
'disk_gb': data['disk_gb'],
|
||||||
'affinity': False
|
'affinity': False,
|
||||||
|
'resource_properties': data['resource_properties'] or ''
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,8 @@ class LeasesTests(test.TestCase):
|
||||||
'amount': 3,
|
'amount': 3,
|
||||||
'vcpus': 2,
|
'vcpus': 2,
|
||||||
'memory_mb': 4096,
|
'memory_mb': 4096,
|
||||||
'disk_gb': 128
|
'disk_gb': 128,
|
||||||
|
'resource_properties': '["==", "$energy", "clean"]'
|
||||||
}
|
}
|
||||||
lease_create.return_value = dummy_lease
|
lease_create.return_value = dummy_lease
|
||||||
|
|
||||||
|
@ -158,7 +159,8 @@ class LeasesTests(test.TestCase):
|
||||||
'vcpus': 2,
|
'vcpus': 2,
|
||||||
'memory_mb': 4096,
|
'memory_mb': 4096,
|
||||||
'disk_gb': 128,
|
'disk_gb': 128,
|
||||||
'affinity': False
|
'affinity': False,
|
||||||
|
'resource_properties': '["==", "$energy", "clean"]'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[])
|
[])
|
||||||
|
|
Loading…
Reference in New Issue