
Currently we're relying on the baremetal_node module to create a node in the available state. This will soon imply cleaning, but the module is not ready to deal with it: it does not wait by default and there is no wait option. Just loop until it's done. Change-Id: Ia4b290e3c7e2041e249b947248123d9fb52dae08
49 lines
1.9 KiB
YAML
49 lines
1.9 KiB
YAML
# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# 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: "Collect facts"
|
|
setup:
|
|
gather_timeout: "{{ fact_gather_timeout }}"
|
|
|
|
- import_role:
|
|
name: bifrost-cloud-config
|
|
|
|
- name: "Dynamic enrollment"
|
|
openstack.cloud.baremetal_node:
|
|
cloud: "{{ cloud_name | default(omit) }}"
|
|
auth_type: "{{ auth_type | default(omit) }}"
|
|
auth: "{{ auth | default(omit) }}"
|
|
ca_cert: "{{ tls_certificate_path | default(omit) }}"
|
|
driver: "{{ driver }}"
|
|
uuid: "{{ uuid | default() }}"
|
|
name: "{{ name | default() }}"
|
|
state: present
|
|
nics: "{{ nics }}"
|
|
properties: "{{ properties | default({}) }}"
|
|
driver_info: "{{ driver_info | default(omit) }}"
|
|
|
|
# FIXME(dtantsur): the baremetal_node module should do it or at least provide
|
|
# a wait argument. Work around until then
|
|
- name: "Wait for the node to finish cleaning"
|
|
openstack.cloud.baremetal_node_info:
|
|
cloud: "{{ cloud_name | default(omit) }}"
|
|
auth_type: "{{ auth_type | default(omit) }}"
|
|
auth: "{{ auth | default(omit) }}"
|
|
ca_cert: "{{ tls_certificate_path | default(omit) }}"
|
|
node: "{{ name | default(uuid) }}"
|
|
register: enrolled_node_info
|
|
until: enrolled_node_info.baremetal_nodes[0].provision_state == "available"
|
|
retries: "{{ available_state_wait_retries | default(45) }}"
|
|
delay: "{{ provision_state_retry_interval | default(20) }}"
|