Auto-detect default overcloud-full image
When the undercloud glance is switched off the image files will be copied to /var/lib/ironic/images. This change will choose what to set for the default image based on whether there are image files in /var/lib/ironic/images, falling back to a glance based 'overcloud-full'. A missing .initrd file is used to imply that the .qcow2 file is a whole-disk image. This is just to determine the default image, and the image can always be specified on a per-role basis in the baremetal provisioning yaml. Change-Id: I3b8ba4b2a0d50077fcf4628720dff9310a200e2a Blueprint: nova-less-deploy
This commit is contained in:
committed by
Kevin Carter (cloudnull)
parent
c77f15f66a
commit
4369c28833
@@ -39,6 +39,48 @@
|
|||||||
- baremetal_deployed_path is undefined
|
- baremetal_deployed_path is undefined
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
|
- name: Detect default overcloud-full image
|
||||||
|
block:
|
||||||
|
- name: stat overcloud-full.qcow2
|
||||||
|
stat:
|
||||||
|
path: /var/lib/ironic/images/overcloud-full.qcow2
|
||||||
|
get_checksum: true
|
||||||
|
checksum_algorithm: md5
|
||||||
|
register: overcloud_full_stat
|
||||||
|
|
||||||
|
- name: stat overcloud-full.initrd
|
||||||
|
stat:
|
||||||
|
path: /var/lib/ironic/images/overcloud-full.initrd
|
||||||
|
get_checksum: false
|
||||||
|
register: overcloud_full_initrd_stat
|
||||||
|
|
||||||
|
- name: Set file based default image
|
||||||
|
set_fact:
|
||||||
|
default_image:
|
||||||
|
href: file:///var/lib/ironic/images/overcloud-full.qcow2
|
||||||
|
checksum: "{{ overcloud_full_stat.stat.checksum }}"
|
||||||
|
kernel: file:///var/lib/ironic/images/overcloud-full.vmlinuz
|
||||||
|
ramdisk: file:///var/lib/ironic/images/overcloud-full.initrd
|
||||||
|
when:
|
||||||
|
- overcloud_full_stat.stat.exists|bool
|
||||||
|
- overcloud_full_initrd_stat.stat.exists|bool
|
||||||
|
|
||||||
|
- name: Set whole-disk file based default image
|
||||||
|
set_fact:
|
||||||
|
default_image:
|
||||||
|
href: file:///var/lib/ironic/images/overcloud-full.qcow2
|
||||||
|
checksum: "{{ overcloud_full_stat.stat.checksum }}"
|
||||||
|
when:
|
||||||
|
- overcloud_full_stat.stat.exists|bool
|
||||||
|
- not overcloud_full_initrd_stat.stat.exists|bool
|
||||||
|
|
||||||
|
- name: Set glance based default image
|
||||||
|
set_fact:
|
||||||
|
default_image:
|
||||||
|
href: overcloud-full
|
||||||
|
when: not overcloud_full_stat.stat.exists|bool
|
||||||
|
|
||||||
- name: Expand roles
|
- name: Expand roles
|
||||||
tripleo_baremetal_expand_roles:
|
tripleo_baremetal_expand_roles:
|
||||||
baremetal_deployment: "{{ baremetal_deployment }}"
|
baremetal_deployment: "{{ baremetal_deployment }}"
|
||||||
@@ -46,6 +88,7 @@
|
|||||||
stack_name: "{{ stack_name }}"
|
stack_name: "{{ stack_name }}"
|
||||||
ssh_public_keys: "{{ ssh_public_keys }}"
|
ssh_public_keys: "{{ ssh_public_keys }}"
|
||||||
user_name: "{{ ssh_user_name }}"
|
user_name: "{{ ssh_user_name }}"
|
||||||
|
default_image: "{{ default_image }}"
|
||||||
register: baremetal_instances
|
register: baremetal_instances
|
||||||
|
|
||||||
- name: Find existing instances
|
- name: Find existing instances
|
||||||
|
|||||||
Reference in New Issue
Block a user