--- - name: set file if already set by heat variable (backwards-compatibility) set_fact: image_filename: "{{ amp_image_filename }}" when: amp_image_filename is defined and not amp_image_filename == '' - name: set location if CentOS set_fact: image_filename: "/usr/share/openstack-octavia-amphora-images/amphora-x64-haproxy.qcow2" when: ansible_distribution == 'CentOS' and not image_filename is defined - block: - name: install Octavia amphora image if Red Hat package: name: octavia-amphora-image state: present become: true - name: set location if Red Hat set_fact: image_filename: "/usr/share/rhosp-director-images/octavia-amphora.qcow2" when: ansible_distribution == 'RedHat' and not image_filename is defined - name: check if amphora image file exists stat: path: "{{ image_filename }}" follow: true get_md5: true register: image_file_result - include_tasks: image_mgmt.yml when: image_file_result.stat.exists - 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 ignore_errors: true - 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: key_file_result|failed or key_file_result.stat.exists == False or key_file_result.stat.readable == False - set_fact: amp_ssh_key_path_final: "{{ amp_ssh_key_path }}" when: amp_ssh_key_path is defined and amp_ssh_key_path != "" - 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 }}" - set_fact: amp_ssh_key_path_final: "{{ ssh_key_tmp_file.path }}" when: amp_ssh_key_path is not defined or amp_ssh_key_path == "" - 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 }} environment: OS_USERNAME: "{{ auth_username }}" OS_PASSWORD: "{{ auth_password }}" OS_PROJECT_NAME: "{{ auth_project_name }}"