48cce25c19
We use stackrc which sets OS_CLOUD env variable, when running the cli playbooks. We've been removing hardcoded cloud_names specified in playbooks to not conflict with it. Also, 'auth_type' would be picked from clouds.yaml and not required to be passed an argument. For standalone ironic using noauth, clouds.yaml would look like below and there is no need to have any logic in the modules. clouds: undercloud: auth: {} auth_type: none baremetal_api_version: '1' baremetal_endpoint_override: https://192.168.24.2:13385 Change-Id: Iacf16819ee98ed9d41abbe0e7f6a77f36e803de2
76 lines
2.4 KiB
YAML
76 lines
2.4 KiB
YAML
---
|
|
# 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 cleaning 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: >-
|
|
Required input `node_uuids` is undefined.
|
|
when:
|
|
- node_uuids is undefined
|
|
|
|
tasks:
|
|
- name: Set node_uuids_clean fact
|
|
set_fact:
|
|
node_uuids_clean: "{{ node_uuids }}"
|
|
|
|
# NOTE(cloudnull): This limits the concurrency so that we're not adding
|
|
# more threads than needed.
|
|
- name: Set concurrency fact
|
|
set_fact:
|
|
runtime_concurrency: "{{
|
|
((concurrency | int) > (node_uuids_clean | length)) |
|
|
ternary((node_uuids_clean | length), (concurrency | int))
|
|
}}"
|
|
|
|
- name: exit if nothing to do
|
|
when:
|
|
- (node_uuids_clean | length) < 1
|
|
block:
|
|
- name: Notice
|
|
debug:
|
|
msg: No nodes are manageable at this time.
|
|
|
|
- name: end play
|
|
meta: end_play
|
|
|
|
- name: Notice
|
|
debug:
|
|
msg: >-
|
|
Running cleaning on the following nodes, {{ node_uuids_clean }}.
|
|
|
|
# Clean nodes
|
|
- name: Start baremetal cleaning
|
|
os_baremetal_clean_node:
|
|
node_uuid: "{{ node_uuids_clean }}"
|
|
concurrency: "{{ runtime_concurrency }}"
|
|
# max_retries: "{{ max_retries }}" NotImplemented
|
|
timeout: "{{ node_timeout }}"
|
|
clean_steps:
|
|
- interface: deploy
|
|
step: erase_devices_metadata
|