201
def validate_capability(node, capability_name, valid_values):
202
"""Validate a capabability set in node property
204
:param node: an ironic node object.
205
:param capability_name: the name of the capability.
206
:parameter valid_values: an iterable with valid values expected for
208
:raises: InvalidParameterValue, if the capability is not set to the
211
value = get_node_capability(node, capability_name)
213
if value and value not in valid_values:
214
valid_value_str = ', '.join(valid_values)
215
raise exception.InvalidParameterValue(
216
_("Invalid %(capability)s parameter '%(value)s'. "
217
"Acceptable values are: %(valid_values)s.") %
218
{'capability': capability_name, 'value': value,
219
'valid_values': valid_value_str})
201
222
def validate_boot_mode_capability(node):
202
"""Validate the boot_mode capability set in node property.
223
"""Validate the boot_mode capability set in node properties.
204
225
:param node: an ironic node object.
205
226
:raises: InvalidParameterValue, if 'boot_mode' capability is set
206
227
other than 'bios' or 'uefi' or None.
209
boot_mode = get_node_capability(node, 'boot_mode')
211
if boot_mode and boot_mode not in ['bios', 'uefi']:
212
raise exception.InvalidParameterValue(_("Invalid boot_mode "
213
"parameter '%s'.") % boot_mode)
230
validate_capability(node, 'boot_mode', ('bios', 'uefi'))
233
def validate_boot_option_capability(node):
234
"""Validate the boot_option capability set in node properties.
236
:param node: an ironic node object.
237
:raises: InvalidParameterValue, if 'boot_option' capability is set
238
other than 'local' or 'netboot' or None.
241
validate_capability(node, 'boot_option', ('local', 'netboot'))
244
def validate_secure_boot_capability(node):
245
"""Validate the secure_boot capability set in node property.
247
:param node: an ironic node object.
248
:raises: InvalidParameterValue, if 'secure_boot' capability is set
249
other than 'true' or 'false' or None.
252
validate_capability(node, 'secure_boot', ('true', 'false'))