- name: Prepare deployment host hosts: deployment_host gather_facts: True tasks: - name: Ensure common private key has correct permissions file: path: "{{ xci_path }}/xci/scripts/vm/id_rsa_for_dib" mode: "0600" - name: Remove host from known_hosts file if necessary shell: ssh-keygen -R {{ hostvars['opnfv'].ip }} failed_when: false - name: Prepare the OPNFV host hosts: opnfv gather_facts: True vars_files: - "{{ xci_path }}/xci/var/opnfv.yml" tasks: - name: Copy bifrost inventory file copy: src: /tmp/baremetal.json dest: /tmp/baremetal.json - name: Configure SSH key for devuser user: name: devuser generate_ssh_key: yes ssh_key_bits: 2048 ssh_key_comment: xci ssh_key_type: rsa state: present - name: Determine local user become: no local_action: command whoami changed_when: False register: _ansible_user - name: Fetch local SSH key delegate_to: localhost become: no slurp: src: "/home/{{ _ansible_user.stdout }}/.ssh/id_rsa.pub" register: _local_ssh_key - name: "Configure {{ inventory_hostname }} authorized_keys file (devuser)" authorized_key: exclusive: no user: devuser state: present manage_dir: yes key: "{{ _local_ssh_key['content'] | b64decode }}" comment: "deployer's key" - name: "Configure {{ inventory_hostname }} authorized_keys file (root)" authorized_key: exclusive: no user: root state: present manage_dir: yes key: "{{ _local_ssh_key['content'] | b64decode }}" comment: "deployer's key" become: yes - name: Ensure /httpboot directory exists file: path: /httpboot state: directory become: yes - name: Copy original qcow2 image to OPNFV VM synchronize: src: "{{ xci_cache }}/{{ item }}" dest: /httpboot/ recursive: yes delete: yes with_items: - "deployment_image.qcow2" - "deployment_image.qcow2.sha256.txt" become: yes - name: Configure DNS on openSUSE block: - stat: path: /etc/resolv.conf.netconfig register: _resolv_conf_netconfig - shell: | mv /etc/resolv.conf.netconfig /etc/resolv.conf become: yes when: _resolv_conf_netconfig.stat.exists when: ansible_pkg_mgr == 'zypper'