scale: fixes for compute scale down

- Force fact gathering so that we're ensured to have the proper FQDN
- Update start squence so that our scale down process is not starting
  from irrelevant steps
- correct list evaluation. The compute service argument should have one
  item in the list. Prior to this change it was expecting zero items,
  which was causing the removal tasks to skip.

Co-Authored-By: "Cedric Jeanneret (Tengu) <cjeanner@redhat.com>"
Co-Authored-By: "Emilien Macchi <emilien@redhat.com>"
Co-Authored-By: "Kevin Carter (cloudnull) <kecarter@redhat.com>"

Change-Id: I7c1615685718924e872a2f9173b15c63bba8c482
Closes-Bug: #1856062
This commit is contained in:
Emilien Macchi 2019-12-11 10:27:26 -05:00 committed by Kevin Carter (cloudnull)
parent 5ca908c91f
commit 7a4015f220
2 changed files with 8 additions and 4 deletions

View File

@ -1494,7 +1494,11 @@ outputs:
- facts
- hosts: DEPLOY_TARGET_HOST
name: Scaling
gather_facts: {{ '"{{' }} gather_facts | default(false) {{ '}}"' }}
# NOTE(cloudnull): This is set to true explicitly so that we have up-to-date facts
# on all DEPLOY_TARGET_HOST when performing a scaling operation.
# Without up-to-date facts, we're creating a potential failure
# scenario.
gather_facts: true
any_errors_fatal: yes
become: false
vars:
@ -1513,7 +1517,7 @@ outputs:
# If a task is allowed to fail, it needs to be configured at
# the task definition level but not here.
- include_tasks: scale_steps_tasks.yaml
with_sequence: start=0 end={{scale_steps_max}}
with_sequence: start=1 end={{scale_steps_max}}
loop_control:
loop_var: step
tags: always

View File

@ -1024,7 +1024,7 @@ outputs:
delegate_to: localhost
check_mode: no
when:
- (nova_compute_service | length) < 1
- (nova_compute_service | length) <= 1
- name: Stop nova-compute healthcheck container
service:
name: tripleo_nova_compute_healthcheck
@ -1042,7 +1042,7 @@ outputs:
delegate_to: localhost
check_mode: no
when:
- (nova_compute_service | length) < 1
- (nova_compute_service | length) <= 1
fast_forward_upgrade_tasks:
- when:
- step|int == 0