~ubuntu-branches/ubuntu/vivid/ironic/vivid-updates

« back to all changes in this revision

Viewing changes to ironic/drivers/utils.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2015-03-30 11:14:57 UTC
  • mfrom: (1.2.6)
  • Revision ID: package-import@ubuntu.com-20150330111457-kr4ju3guf22m4vbz
Tags: 2015.1~b3-0ubuntu1
* New upstream release.
  + d/control: 
    - Align with upstream dependencies.
    - Add dh-python to build-dependencies.
    - Add psmisc as a dependency. (LP: #1358820)
  + d/p/fix-requirements.patch: Rediffed.
  + d/ironic-conductor.init.in: Fixed typos in LSB headers,
    thanks to JJ Asghar. (LP: #1429962)

Show diffs side-by-side

added added

removed removed

Lines of Context:
198
198
    node.save()
199
199
 
200
200
 
 
201
def validate_capability(node, capability_name, valid_values):
 
202
    """Validate a capabability set in node property
 
203
 
 
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
 
207
        that capability.
 
208
    :raises: InvalidParameterValue, if the capability is not set to the
 
209
        expected values.
 
210
    """
 
211
    value = get_node_capability(node, capability_name)
 
212
 
 
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})
 
220
 
 
221
 
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.
203
224
 
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.
207
228
 
208
229
    """
209
 
    boot_mode = get_node_capability(node, 'boot_mode')
210
 
 
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'))
 
231
 
 
232
 
 
233
def validate_boot_option_capability(node):
 
234
    """Validate the boot_option capability set in node properties.
 
235
 
 
236
    :param node: an ironic node object.
 
237
    :raises: InvalidParameterValue, if 'boot_option' capability is set
 
238
             other than 'local' or 'netboot' or None.
 
239
 
 
240
    """
 
241
    validate_capability(node, 'boot_option', ('local', 'netboot'))
 
242
 
 
243
 
 
244
def validate_secure_boot_capability(node):
 
245
    """Validate the secure_boot capability set in node property.
 
246
 
 
247
    :param node: an ironic node object.
 
248
    :raises: InvalidParameterValue, if 'secure_boot' capability is set
 
249
             other than 'true' or 'false' or None.
 
250
 
 
251
    """
 
252
    validate_capability(node, 'secure_boot', ('true', 'false'))