diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index 3bbe452ab27da7fa50aaf5123367befb7fce3c94..2f22ce8326d049525840a123aaa6e008dfbfb18a 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -242,6 +242,7 @@ openstack_nova_auth: "{{ openstack_auth }}" openstack_placement_auth: "{{ openstack_auth }}" +nova_libvirt_port: "16509" nova_ssh_port: "8022" #################### diff --git a/ansible/roles/nova/tasks/precheck.yml b/ansible/roles/nova/tasks/precheck.yml index 3b4f623361cce7680968e1dddf5805fa72a3f125..8f0193d2fbaca41228ea7d5e5ebed856c94639e3 100644 --- a/ansible/roles/nova/tasks/precheck.yml +++ b/ansible/roles/nova/tasks/precheck.yml @@ -105,6 +105,20 @@ - nova_ssh.enabled | bool - inventory_hostname in groups[nova_ssh.group] +- name: Checking free port for Nova Libvirt + vars: + nova_libvirt: "{{ nova_services['nova-libvirt'] }}" + wait_for: + host: "{{ api_interface_address }}" + port: "{{ nova_libvirt_port }}" + connect_timeout: 1 + timeout: 1 + state: stopped + when: + - container_facts['nova_libvirt'] is not defined + - nova_libvirt.enabled | bool + - inventory_hostname in groups[nova_libvirt.group] + - name: Checking free port for Nova Placement API vars: placement_api: "{{ nova_services['placement-api'] }}" diff --git a/ansible/roles/nova/templates/libvirtd.conf.j2 b/ansible/roles/nova/templates/libvirtd.conf.j2 index a89b97fafbe5046c7158811d47daaea49c439ef1..237a2074ce6821bc6f230e20e11f8358650ea598 100644 --- a/ansible/roles/nova/templates/libvirtd.conf.j2 +++ b/ansible/roles/nova/templates/libvirtd.conf.j2 @@ -5,3 +5,4 @@ ca_file = "" log_level = 3 log_outputs = "3:file:/var/log/kolla/libvirt/libvirtd.log" listen_addr = "{{ api_interface_address }}" +tcp_port = "{{ nova_libvirt_port }}"