diff --git a/ansible/roles/nova/tasks/discover_computes.yml b/ansible/roles/nova/tasks/discover_computes.yml index 1a0c904f26..647bd5d59c 100644 --- a/ansible/roles/nova/tasks/discover_computes.yml +++ b/ansible/roles/nova/tasks/discover_computes.yml @@ -23,15 +23,16 @@ - nova_compute_services is success - nova_compute_services.stdout | from_json | length != 0 -- name: Discovering nova hosts +# TODO(yoctozepto): no need to do --by-service if ironic not used +- name: Discover nova hosts become: true command: > docker exec nova_api nova-manage cell_v2 discover_hosts --by-service - register: discover_hosts changed_when: False run_once: True delegate_to: "{{ groups['nova-api'][0] }}" +# NOTE(yoctozepto): SIGHUP is probably unnecessary - name: Refresh cell cache in nova scheduler become: true command: docker kill --signal HUP nova_scheduler diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index 04b196b916..39bb43d9f9 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -254,7 +254,10 @@ secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO [scheduler] max_attempts = 10 -discover_hosts_in_cells_interval = 60 +# NOTE(yoctozepto): kolla-ansible handles cell mapping by itself on each deploy +# periodic run must be disabled to avoid random failures (where both try to map) +# -1 is default and means periodic discovery is disabled +discover_hosts_in_cells_interval = -1 {% if enable_nova_fake | bool %} default_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter