diff --git a/tripleo_ansible/playbooks/cli-baremetal-bios-reset.yaml b/tripleo_ansible/playbooks/cli-baremetal-bios-reset.yaml new file mode 100644 index 000000000..4f8cfcf24 --- /dev/null +++ b/tripleo_ansible/playbooks/cli-baremetal-bios-reset.yaml @@ -0,0 +1,67 @@ +--- +# Copyright 2019 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +- name: Baremetal bios reset for multiple Ironic Nodes + connection: "{{ (tripleo_target_host is defined) | ternary('ssh', 'local') }}" + hosts: "{{ tripleo_target_host | default('localhost') }}" + remote_user: "{{ tripleo_target_user | default(lookup('env', 'USER')) }}" + gather_facts: "{{ (tripleo_target_host is defined) | ternary(true, false) }}" + any_errors_fatal: true + vars: + run_validations: false + concurrency: 20 + max_retries: 2 + node_timeout: 1200 + pre_tasks: + - name: Check for required inputs + fail: + msg: > + Input missing `{{ item }}` + when: + - hostvars[inventory_hostname][item] is undefined + loop: + - node_uuids + + tasks: + - name: Set node_uuids_reset fact + set_fact: + node_uuids_reset: "{{ node_uuids }}" + + - name: exit if nothing to do + block: + - name: Notice + debug: + msg: No nodes are manageable at this time. + + - name: end play + meta: end_play + when: + - (node_uuids_reset | length) < 1 + + - name: Notice + debug: + msg: >- + Running raid config on the following nodes, {{ node_uuids_reset }}. + + - name: Start baremetal bios reset + os_baremetal_clean_node: + cloud: undercloud + node_uuid: "{{ node_uuids_reset }}" + concurrency: "{{ concurrency }}" + timeout: "{{ node_timeout }}" + clean_steps: + - interface: bios + step: factory_reset