Make VirtualBMC usage optional
In some environments we don't want to use vbmc, like in ovb, where we already have dedicated bmc machine, so make it configurable. Closes-Bug: #1651562 Change-Id: I99dcae5853761663514078cb6045ca886e8d10f4
This commit is contained in:
parent
62cd851bec
commit
cf5bc14e7d
|
@ -27,3 +27,4 @@ network_environment_args:
|
||||||
# not require privileged access (but does require the setup performed by the
|
# not require privileged access (but does require the setup performed by the
|
||||||
# `environment/setup` role).
|
# `environment/setup` role).
|
||||||
libvirt_uri: qemu:///session
|
libvirt_uri: qemu:///session
|
||||||
|
enable_vbmc: true
|
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
|
@ -25,49 +25,6 @@
|
||||||
line: "export OS_PASSWORD={{ undercloud_admin_password.stdout }}"
|
line: "export OS_PASSWORD={{ undercloud_admin_password.stdout }}"
|
||||||
regexp: "OS_PASSWORD"
|
regexp: "OS_PASSWORD"
|
||||||
|
|
||||||
- name: Install VirtualBMC package
|
- name: Include VBMC setup if enabled
|
||||||
when: release not in ['liberty', 'mitaka', 'newton']
|
include: configure-vbmc.yml
|
||||||
package:
|
when: enable_vbmc|bool
|
||||||
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
|
|
||||||
|
|
Loading…
Reference in New Issue