50 lines
2.0 KiB
YAML
50 lines
2.0 KiB
YAML
---
|
|
- name: Ensure Ironic Python Agent (IPA) images are downloaded and registered
|
|
hosts: controllers[0]
|
|
pre_tasks:
|
|
- name: Validate OpenStack password authentication parameters
|
|
fail:
|
|
msg: >
|
|
Required OpenStack authentication parameter {{ item }} is
|
|
{% if item in openstack_auth %}empty{% else %}not present{% endif %}
|
|
in openstack_auth. Have you sourced the environment file?
|
|
when:
|
|
- "{{ openstack_auth_type == 'password' }}"
|
|
- "{{ item not in openstack_auth or not openstack_auth[item] }}"
|
|
with_items: "{{ openstack_auth_password_required_params }}"
|
|
tags:
|
|
- config-validation
|
|
|
|
- block:
|
|
- name: Check for the presence of locally built Ironic Python Agent (IPA) images
|
|
stat:
|
|
path: "{{ image_cache_path }}/{{ item }}"
|
|
get_md5: False
|
|
get_checksum: False
|
|
mime: False
|
|
with_items:
|
|
- "{{ ipa_images_kernel_name }}"
|
|
- "{{ ipa_images_ramdisk_name }}"
|
|
register: ipa_image_stat
|
|
|
|
- name: Validate the presence of locally built Ironic Python Agent (IPA) images
|
|
fail:
|
|
msg: >
|
|
Expected locally built Ironic Python Agent (IPA) image
|
|
{{ item.item }} was not present in {{ image_cache_path }}.
|
|
with_items: "{{ ipa_image_stat.results }}"
|
|
when: "{{ not item.stat.exists }}"
|
|
when: "{{ ipa_build_images | bool }}"
|
|
tags:
|
|
- config-validation
|
|
|
|
roles:
|
|
- role: ipa-images
|
|
ipa_images_venv: "{{ virtualenv_path }}/shade"
|
|
ipa_images_openstack_auth_type: "{{ openstack_auth_type }}"
|
|
ipa_images_openstack_auth: "{{ openstack_auth }}"
|
|
ipa_images_cache_path: "{{ image_cache_path }}"
|
|
# Don't pass the kernel and ramdisk image URLs if using built images.
|
|
ipa_images_kernel_url: "{{ ipa_build_images | ternary(None, ipa_kernel_upstream_url) }}"
|
|
ipa_images_ramdisk_url: "{{ ipa_build_images | ternary(None, ipa_ramdisk_upstream_url) }}"
|