.. _workbook-baremetal:

==================
Baremetal Workbook
==================

:Workbook name: tripleo.baremetal.v1

TripleO Baremetal Workflows

Workflows in the Baremetal Workbook

.. object:: tripleo.baremetal.v1._introspect

   An internal workflow. The tripleo.baremetal.v1.introspect workflow should be used for introspection.



   Workflow inputs:

   :input node_uuid: Required.
   :input timeout: Required.
   :input queue_name: Required.

.. object:: tripleo.baremetal.v1.apply_bios_settings

   Apply BIOS settings for given nodes


   Workflow inputs:

   :input node_uuids: Required.
   :input settings: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.apply_bios_settings_on_manageable_nodes

   Apply BIOS settings on manageable nodes


   Workflow inputs:

   :input settings: Required.
   :input {'concurrency': 20}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.cellv2_discovery

   Run cell_v2 host discovery


   Workflow inputs:

   :input node_uuids: Required.

.. object:: tripleo.baremetal.v1.clean_manageable_nodes

   Clean all nodes in a 'manageable' state.


   Workflow inputs:

   :input {'concurrency': 20}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.clean_nodes

   Wipe partition tables on all disks of given nodes


   Workflow inputs:

   :input node_uuids: Required.
   :input {'concurrency': 20}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.configure

   Take a list of manageable nodes and update their boot configuration.


   Workflow inputs:

   :input node_uuids: Required.
   :input {'queue_name': 'tripleo'}: Required.
   :input {'kernel_name': 'bm-deploy-kernel'}: Required.
   :input {'ramdisk_name': 'bm-deploy-ramdisk'}: Required.
   :input {'instance_boot_option': None}: Required.
   :input {'root_device': None}: Required.
   :input {'root_device_minimum_size': 4}: Required.
   :input {'overwrite_root_device_hints': False}: Required.

.. object:: tripleo.baremetal.v1.configure_manageable_nodes

   Update the boot configuration of all nodes in 'manageable' state.


   Workflow inputs:

   :input {'queue_name': 'tripleo'}: Required.
   :input {'kernel_name': 'bm-deploy-kernel'}: Required.
   :input {'ramdisk_name': 'bm-deploy-ramdisk'}: Required.
   :input {'instance_boot_option': None}: Required.
   :input {'root_device': None}: Required.
   :input {'root_device_minimum_size': 4}: Required.
   :input {'overwrite_root_device_hints': False}: Required.

.. object:: tripleo.baremetal.v1.create_raid_configuration

   Create and apply RAID configuration for given nodes


   Workflow inputs:

   :input node_uuids: Required.
   :input configuration: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.introspect

   Take a list of nodes and move them through introspection.
   By default each node will attempt introspection up to 3 times (two retries plus the initial attemp) if it fails. This behaviour can be modified by changing the max_retry_attempts input.
   The workflow will assume the node has timed out after 20 minutes (1200 seconds). This can be changed by passing the node_timeout input in seconds.
   

   Workflow inputs:

   :input node_uuids: Required.
   :input {'run_validations': False}: Required.
   :input {'queue_name': 'tripleo'}: Required.
   :input {'concurrency': 20}: Required.
   :input {'max_retry_attempts': 2}: Required.
   :input {'node_timeout': 1200}: Required.

.. object:: tripleo.baremetal.v1.introspect_manageable_nodes

   Introspect all nodes in a 'manageable' state.


   Workflow inputs:

   :input {'run_validations': False}: Required.
   :input {'queue_name': 'tripleo'}: Required.
   :input {'concurrency': 20}: Required.

.. object:: tripleo.baremetal.v1.manage

   Set a list of nodes to 'manageable' state


   Workflow inputs:

   :input node_uuids: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.manual_cleaning


   Workflow inputs:

   :input node_uuid: Required.
   :input clean_steps: Required.
   :input {'timeout': 7200}: Required.
   :input {'retry_delay': 10}: Required.
   :input {'retry_count': 720}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.nodes_with_hint

   Find nodes matching a hint regex


   Workflow inputs:

   :input hint_regex: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.nodes_with_profile

   Find nodes with a specific profile


   Workflow inputs:

   :input profile: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.provide

   Take a list of nodes and move them to "available"


   Workflow inputs:

   :input node_uuids: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.provide_manageable_nodes

   Provide all nodes in a 'manageable' state.


   Workflow inputs:

   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.register_or_update

   Take nodes JSON and create nodes in a "manageable" state


   Workflow inputs:

   :input nodes_json: Required.
   :input {'remove': False}: Required.
   :input {'queue_name': 'tripleo'}: Required.
   :input {'kernel_name': None}: Required.
   :input {'ramdisk_name': None}: Required.
   :input {'instance_boot_option': None}: Required.
   :input {'initial_state': 'manageable'}: Required.

.. object:: tripleo.baremetal.v1.reset_bios_settings

   Reset BIOS settings for given nodes to factory default


   Workflow inputs:

   :input node_uuids: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.reset_bios_settings_on_manageable_nodes

   Reset BIOS settings on manageable nodes to factory default


   Workflow inputs:

   :input {'concurrency': 20}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.set_node_state


   Workflow inputs:

   :input node_uuid: Required.
   :input state_action: Required.
   :input target_state: Required.
   :input {'error_states': ['error', 'adopt failed', 'clean failed', 'deploy failed', 'inspect failed', 'rescue failed']}: Required.

.. object:: tripleo.baremetal.v1.set_power_state


   Workflow inputs:

   :input node_uuid: Required.
   :input state_action: Required.
   :input target_state: Required.
   :input {'error_state': 'error'}: Required.

.. object:: tripleo.baremetal.v1.tag_node

   Tag a node with a role


   Workflow inputs:

   :input node_uuid: Required.
   :input {'role': None}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.tag_nodes

   Runs the tag_node workflow in a loop


   Workflow inputs:

   :input tag_node_uuids: Required.
   :input untag_node_uuids: Required.
   :input role: Required.
   :input {'plan': 'overcloud'}: Required.
   :input {'queue_name': 'tripleo'}: Required.

.. object:: tripleo.baremetal.v1.validate_nodes

   Validate nodes JSON


   Workflow inputs:

   :input nodes_json: Required.
   :input {'queue_name': 'tripleo'}: Required.
