74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
# 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
|