Do not require valid migration_interface for controllers
Controllers lacking compute should not be required to provide valid migration_interface as it is not used there (and prechecks do not check that either). Inclusion of libvirt conf section is now conditional on service type. libvirt conf section has been moved to separate included file to avoid evaluation of the undefined variable (conditional block did not prevent it and using 'default' filter may hide future issues). See https://github.com/ansible/ansible/issues/58835 Additionally this fixes the improper nesting of 'if' blocks for libvirt. Change-Id: I77af534fbe824cfbe95782ab97838b358c17b928 Closes-Bug: #1835713 Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
This commit is contained in:
parent
0c00915c41
commit
b166d2550e
19
ansible/roles/nova/templates/nova.conf.d/libvirt.conf.j2
Normal file
19
ansible/roles/nova/templates/nova.conf.d/libvirt.conf.j2
Normal file
@ -0,0 +1,19 @@
|
||||
[libvirt]
|
||||
connection_uri = "qemu+tcp://{{ migration_interface_address }}/system"
|
||||
{% if enable_ceph | bool and nova_backend == "rbd" %}
|
||||
images_type = rbd
|
||||
images_rbd_pool = {{ ceph_nova_pool_name }}
|
||||
images_rbd_ceph_conf = /etc/ceph/ceph.conf
|
||||
rbd_user = nova
|
||||
disk_cachemodes="network=writeback"
|
||||
{% if nova_hw_disk_discard != '' %}
|
||||
hw_disk_discard = {{ nova_hw_disk_discard }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if nova_backend == "rbd" and external_ceph_cephx_enabled | bool %}
|
||||
rbd_secret_uuid = {{ rbd_secret_uuid }}
|
||||
{% endif %}
|
||||
virt_type = {{ nova_compute_virt_type }}
|
||||
{% if nova_libvirt_cpu_mode %}
|
||||
cpu_mode = {{ nova_libvirt_cpu_mode }}
|
||||
{% endif %}
|
@ -185,27 +185,13 @@ memcache_security_strategy = ENCRYPT
|
||||
memcache_secret_key = {{ memcache_secret_key }}
|
||||
memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
||||
|
||||
{% if service_name == 'nova-compute' %}
|
||||
{% if nova_compute_virt_type in ['kvm', 'qemu'] %}
|
||||
[libvirt]
|
||||
connection_uri = "qemu+tcp://{{ migration_interface_address }}/system"
|
||||
{% if enable_ceph | bool and nova_backend == "rbd" %}
|
||||
images_type = rbd
|
||||
images_rbd_pool = {{ ceph_nova_pool_name }}
|
||||
images_rbd_ceph_conf = /etc/ceph/ceph.conf
|
||||
rbd_user = nova
|
||||
disk_cachemodes="network=writeback"
|
||||
{% if nova_hw_disk_discard != '' %}
|
||||
hw_disk_discard = {{ nova_hw_disk_discard }}
|
||||
{# must be an include because Ansible 2.8 (and earlier) does not like defined variables referencing undefined variables: migration_interface_address here #}
|
||||
{# see https://github.com/ansible/ansible/issues/58835 #}
|
||||
{% include 'nova.conf.d/libvirt.conf.j2' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if nova_backend == "rbd" and external_ceph_cephx_enabled | bool %}
|
||||
rbd_secret_uuid = {{ rbd_secret_uuid }}
|
||||
{% endif %}
|
||||
virt_type = {{ nova_compute_virt_type }}
|
||||
{% endif %}
|
||||
{% if nova_libvirt_cpu_mode %}
|
||||
cpu_mode = {{ nova_libvirt_cpu_mode }}
|
||||
{% endif %}
|
||||
|
||||
{% if nova_compute_virt_type == "vmware" %}
|
||||
[vmware]
|
||||
|
Loading…
x
Reference in New Issue
Block a user