78 lines
2.5 KiB
YAML
78 lines
2.5 KiB
YAML
---
|
|
|
|
- name: set file if already set by heat variable (backwards-compatibility)
|
|
set_fact:
|
|
image_filename: "{{ amp_image_filename }}"
|
|
when:
|
|
- amp_image_filename is defined
|
|
- not ((amp_image_filename | length) < 1)
|
|
|
|
- name: set location if CentOS
|
|
set_fact:
|
|
image_filename: "/usr/share/openstack-octavia-amphora-images/amphora-x64-haproxy.qcow2"
|
|
when:
|
|
- ansible_facts['distribution'] == 'CentOS'
|
|
- not (image_filename is defined)
|
|
|
|
- name: set location if Red Hat
|
|
set_fact:
|
|
image_filename: "/usr/share/openstack-octavia-amphora-images/octavia-amphora.qcow2"
|
|
when:
|
|
- ansible_facts['distribution'] == 'RedHat'
|
|
- not (image_filename is defined)
|
|
|
|
- name: check if amphora image file exists
|
|
stat:
|
|
path: "{{ image_filename }}"
|
|
follow: true
|
|
get_checksum: true
|
|
register: image_file_result
|
|
|
|
- include_tasks: image_mgmt.yml
|
|
when:
|
|
- image_file_result.stat.exists | bool
|
|
|
|
- name: use ssh pub key file if provided and is readable
|
|
block:
|
|
- name: check if pub key file exists
|
|
stat: path="{{ amp_ssh_key_path }}"
|
|
register: key_file_result
|
|
|
|
- name: fail if ssh pub key file does not exist or is not readable
|
|
fail: msg="{{ amp_ssh_key_path }} does not exist or is not readable by user {{ ansible_user }}"
|
|
when:
|
|
- (not (key_file_result.stat.exists | bool)) or (not (key_file_result.stat.readable | bool))
|
|
|
|
- name: Set final key fact
|
|
set_fact:
|
|
amp_ssh_key_path_final: "{{ amp_ssh_key_path }}"
|
|
when:
|
|
- amp_ssh_key_path is defined
|
|
- (amp_ssh_key_path | length) > 0
|
|
|
|
- name: defaulting to public key from undercloud default keypair
|
|
block:
|
|
- name: create temp pub key file
|
|
tempfile: state=file
|
|
register: ssh_key_tmp_file
|
|
|
|
- name: copy ssh public key content to temp file
|
|
copy: content="{{ amp_ssh_key_data }}" dest="{{ ssh_key_tmp_file.path }}"
|
|
|
|
- name: Set final key fact
|
|
set_fact:
|
|
amp_ssh_key_path_final: "{{ ssh_key_tmp_file.path }}"
|
|
no_log: "{{ octavia_undercloud_config_hide_sensitive_logs | bool }}"
|
|
when:
|
|
- amp_ssh_key_path is not defined or ((amp_ssh_key_path | length) < 1)
|
|
|
|
- name: upload pub key to overcloud
|
|
shell: |-
|
|
openstack keypair show {{ amp_ssh_key_name }} || \
|
|
openstack keypair create --public-key {{ amp_ssh_key_path_final }} {{ amp_ssh_key_name }}
|
|
no_log: "{{ octavia_undercloud_config_hide_sensitive_logs | bool }}"
|
|
environment:
|
|
OS_USERNAME: "{{ auth_username }}"
|
|
OS_PASSWORD: "{{ auth_password }}"
|
|
OS_PROJECT_NAME: "{{ auth_project_name }}"
|