# Extract the undercloud admin password from # `undercloud-passwords.conf`. - name: Get undercloud admin password command: > awk -F= '$1 == "undercloud_admin_password" {print $2}' {{ working_dir }}/undercloud-passwords.conf register: undercloud_admin_password changed_when: false - name: Copy stackrc to ansible host tags: - undercloud-post-install fetch: flat: true src: stackrc dest: "{{ local_working_dir }}/stackrc" # We need this (and the previous task) in order to replace the # `sudo hiera admin_password` with an actual password in the `stackrc` # file. - name: Update admin password in local credentials file delegate_to: localhost lineinfile: dest: "{{ local_working_dir }}/stackrc" line: "export OS_PASSWORD={{ undercloud_admin_password.stdout }}" regexp: "OS_PASSWORD" - name: Install VirtualBMC package when: release not in ['liberty', 'mitaka', 'newton'] package: name: "python2-virtualbmc" state: present use: yum become: true - name: Create the Virtual BMCs when: release not in ['liberty', 'mitaka', 'newton'] command: > vbmc add {{item.name}} --port {{item.virtualbmc_port}} --libvirt-uri "qemu+ssh://{{ non_root_user }}@{{ networks[0].address }}/session?socket=/run/user/{{ hostvars[groups['virthost'][0]].non_root_user_uid }}/libvirt/libvirt-sock&keyfile=/root/.ssh/id_rsa_virt_power&no_verify=1&no_tty=1" with_items: "{{ overcloud_nodes }}" become: true become_user: root changed_when: false # TODO(lucasagomes): The service file should be included in the # virtualbmc RPM package. - name: Create the VirtualBMC systemd service when: release not in ['liberty', 'mitaka', 'newton'] copy: mode: 0664 dest: "/usr/lib/systemd/system/virtualbmc.service" content: | [Unit] Description=VirtualBMC service After=network.target [Service] Type=oneshot ExecStart=/bin/bash -c 'for bmc in $(ls /root/.vbmc/); do vbmc start $bmc; done' ExecStop=/bin/bash -c 'for bmc in $(ls /root/.vbmc/); do vbmc stop $bmc; done' RemainAfterExit=yes [Install] WantedBy=multi-user.target become: true - name: Start the Virtual BMCs when: release not in ['liberty', 'mitaka', 'newton'] service: name: virtualbmc state: started enabled: true become: true