Fetch uuid if it is not present in the inventory
The inventory file does not need to have a uuid in it, fetch it from Ironic by name. Change-Id: Ia1bfa742ea97bb04f6304450ead1e4edeb0e1cbc
This commit is contained in:
parent
624ea7d946
commit
72b267e90d
|
@ -12,10 +12,29 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
---
|
||||
# Note(TheJulia): Fact collection from ironic is necessary to obtain
|
||||
# the host's assigned UUID value.
|
||||
- name: "Update facts from ironic to fill in any missing values"
|
||||
include: update_facts_from_ironic.yaml
|
||||
- import_role:
|
||||
name: bifrost-cloud-config
|
||||
|
||||
# Note(TheJulia): This step allows us to collect things that
|
||||
# ironic knows, that we do not know potentially, such as an UUID
|
||||
# should a node have been created without one.
|
||||
- name: "Collecting node facts"
|
||||
os_ironic_node_info:
|
||||
cloud: "{{ cloud_name | default(omit) }}"
|
||||
auth_type: "{{ auth_type | default(omit) }}"
|
||||
auth: "{{ auth | default(omit) }}"
|
||||
ca_cert: "{{ tls_certificate_path | default(omit) }}"
|
||||
ironic_url: "{{ ironic_url | default(omit) }}"
|
||||
uuid: "{{ uuid | default() }}"
|
||||
name: "{{ name | default() }}"
|
||||
skip_items:
|
||||
- instance_info
|
||||
register: node_info
|
||||
|
||||
- name: "Set UUID from Ironic"
|
||||
set_fact:
|
||||
uuid: "{{ node_info.node.uuid }}"
|
||||
when: uuid is undefined
|
||||
|
||||
- name: "Identify ssh_public_key from ssh_public_key_path"
|
||||
include: ssh_public_key_path.yaml
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
# 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.
|
||||
---
|
||||
- import_role:
|
||||
name: bifrost-cloud-config
|
||||
|
||||
# Note(TheJulia): This step allows us to collect things that
|
||||
# ironic knows, that we do not know potentially, such as an UUID
|
||||
# should a node have been created without one.
|
||||
- name: "Collecting node facts"
|
||||
os_ironic_node_info:
|
||||
cloud: "{{ cloud_name | default(omit) }}"
|
||||
auth_type: "{{ auth_type | default(omit) }}"
|
||||
auth: "{{ auth | default(omit) }}"
|
||||
ca_cert: "{{ tls_certificate_path | default(omit) }}"
|
||||
ironic_url: "{{ ironic_url | default(omit) }}"
|
||||
uuid: "{{ uuid | default() }}"
|
||||
name: "{{ name | default() }}"
|
||||
skip_items:
|
||||
- instance_info
|
||||
register: node_info
|
|
@ -24,6 +24,28 @@
|
|||
- import_role:
|
||||
name: bifrost-cloud-config
|
||||
|
||||
# Note(TheJulia): This step allows us to collect things that
|
||||
# ironic knows, that we do not know potentially, such as an UUID
|
||||
# should a node have been created without one.
|
||||
- name: "Collecting node facts"
|
||||
os_ironic_node_info:
|
||||
cloud: "{{ cloud_name | default(omit) }}"
|
||||
auth_type: "{{ auth_type | default(omit) }}"
|
||||
auth: "{{ auth | default(omit) }}"
|
||||
ca_cert: "{{ tls_certificate_path | default(omit) }}"
|
||||
ironic_url: "{{ ironic_url | default(omit) }}"
|
||||
uuid: "{{ uuid | default() }}"
|
||||
name: "{{ name | default() }}"
|
||||
skip_items:
|
||||
- instance_info
|
||||
register: node_info
|
||||
when: uuid is undefined
|
||||
|
||||
- name: "Set UUID from Ironic"
|
||||
set_fact:
|
||||
uuid: "{{ node_info.node.uuid }}"
|
||||
when: uuid is undefined
|
||||
|
||||
- name: "Setup DHCP for nodes."
|
||||
template:
|
||||
src: dhcp-host.j2
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes ``bifrost-configdrives-dynamic`` and ``bifrost-deploy-nodes-dynamic``
|
||||
when ``uuid`` is not set in the inventory file.
|
Loading…
Reference in New Issue