--- - name: Restart nova-conductor container vars: service_name: "nova-conductor" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - kolla_action != "upgrade" or not nova_safety_upgrade | bool - name: Restart nova-novncproxy container vars: service_name: "nova-novncproxy" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - kolla_action != "upgrade" or not nova_safety_upgrade | bool - name: Restart nova-spicehtml5proxy container vars: service_name: "nova-spicehtml5proxy" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - kolla_action != "upgrade" or not nova_safety_upgrade | bool - name: Restart nova-serialproxy container vars: service_name: "nova-serialproxy" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - kolla_action != "upgrade" or not nova_safety_upgrade | bool - name: Restart nova-ssh container vars: service_name: "nova-ssh" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" pid_mode: "{{ service.pid_mode | default('') }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - name: Restart nova-libvirt container vars: service_name: "nova-libvirt" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" pid_mode: "{{ service.pid_mode | default('') }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" register: restart_nova_libvirt # NOTE(Jeffrey4l): retry 5 to remove nova_libvirt container because when # guests running, nova_libvirt will raise error even though it is removed. retries: 5 until: restart_nova_libvirt is success when: - kolla_action != "config" - name: Restart nova-compute container vars: service_name: "nova-compute" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" environment: "{{ service.environment }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" ipc_mode: "{{ service.ipc_mode }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" - name: Restart nova-compute-ironic container vars: service_name: "nova-compute-ironic" service: "{{ nova_cell_services[service_name] }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" privileged: "{{ service.privileged | default(False) }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" when: - kolla_action != "config" # nova-compute-fake is special. It will start multi numbers of container # so put all variables here rather than defaults/main.yml file - name: Restart nova-compute-fake containers become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "nova_compute_fake_{{ item }}" image: "{{ nova_compute_image_full }}" privileged: True volumes: - "{{ node_config_directory }}/nova-compute-fake-{{ item }}/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/lib/modules:/lib/modules:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" with_sequence: start=1 end={{ num_nova_fake_per_node }} when: - kolla_action != "config" # NOTE(mgoddard): After upgrading nova-compute, services will have an RPC # version cap in place. We need to restart all services that communicate with # nova-compute in order to allow them to use the latest RPC version. Ideally, # there would be a way to check whether all nova services are using the latest # version, but currently there is not. Instead, wait a short time for all nova # compute services to update the version of their service in the database. # This seems to take around 10 seconds, but the default is 30 to allow room # for slowness. - name: Wait for nova-compute services to update service versions pause: seconds: "{{ nova_compute_startup_delay }}" run_once: true when: - kolla_action == 'upgrade' listen: - Restart nova-compute container - Restart nova-compute-ironic container - Restart nova-compute-fake containers