Upgrade Stein > Train: Converge step fails during ceph-ansible preparation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
John Fulton |
Bug Description
During upgrade Stein > Train at the time of running the converge step (executes the whole deployment underneath) the following task failed:
2020-04-07 14:40:05,075 p=48174 u=mistral | TASK [tripleo-
2020-04-07 14:40:05,076 p=48174 u=mistral | Tuesday 07 April 2020 14:40:05 +0000 (0:00:00.134) 0:06:57.979 *********
2020-04-07 14:40:05,134 p=48174 u=mistral | skipping: [undercloud] => {"changed": false, "skip_reason": "Conditional result was False"}
2020-04-07 14:40:05,194 p=48174 u=mistral | TASK [create ceph-ansible working direcotry] *******
2020-04-07 14:40:05,195 p=48174 u=mistral | Tuesday 07 April 2020 14:40:05 +0000 (0:00:00.118) 0:06:58.098 *********
2020-04-07 14:40:05,470 p=48174 u=mistral | TASK [tripleo-
2020-04-07 14:40:05,471 p=48174 u=mistral | Tuesday 07 April 2020 14:40:05 +0000 (0:00:00.275) 0:06:58.374 *********
2020-04-07 14:40:05,832 p=48174 u=mistral | changed: [undercloud] => (item=/
2020-04-07 14:40:06,137 p=48174 u=mistral | changed: [undercloud] => (item=/
2020-04-07 14:40:06,390 p=48174 u=mistral | changed: [undercloud] => (item=/
2020-04-07 14:40:06,646 p=48174 u=mistral | changed: [undercloud] => (item=/
2020-04-07 14:40:06,729 p=48174 u=mistral | TASK [tripleo-
2020-04-07 14:40:06,729 p=48174 u=mistral | Tuesday 07 April 2020 14:40:06 +0000 (0:00:01.258) 0:06:59.632 *********
2020-04-07 14:40:07,040 p=48174 u=mistral | fatal: [undercloud]: FAILED! => {"changed": false, "gid": 42430, "group": "42430", "mode": "0664", "msg": "refusing to convert from file to symlink for /var/lib/
2020-04-07 14:40:07,041 p=48174 u=mistral | NO MORE HOSTS LEFT *******
2020-04-07 14:40:07,042 p=48174 u=mistral | PLAY RECAP *******
2020-04-07 14:40:07,042 p=48174 u=mistral | ceph-0 : ok=103 changed=21 unreachable=0 failed=0 skipped=55 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | ceph-1 : ok=99 changed=21 unreachable=0 failed=0 skipped=55 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | ceph-2 : ok=99 changed=21 unreachable=0 failed=0 skipped=55 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | compute-0 : ok=128 changed=37 unreachable=0 failed=0 skipped=71 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | compute-1 : ok=127 changed=37 unreachable=0 failed=0 skipped=71 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | controller-0 : ok=151 changed=51 unreachable=0 failed=0 skipped=73 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | controller-1 : ok=148 changed=50 unreachable=0 failed=0 skipped=73 rescued=0 ignored=0
2020-04-07 14:40:07,043 p=48174 u=mistral | controller-2 : ok=148 changed=50 unreachable=0 failed=0 skipped=73 rescued=0 ignored=0
2020-04-07 14:40:07,044 p=48174 u=mistral | undercloud : ok=12 changed=3 unreachable=0 failed=1 skipped=4 rescued=0 ignored=0
2020-04-07 14:40:07,044 p=48174 u=mistral | Tuesday 07 April 2020 14:40:07 +0000 (0:00:00.314) 0:06:59.947 *********
2020-04-07 14:40:07,044 p=48174 u=mistral | =======
After some debugging and local testing, I did try adding force: yes to the task:
- name: symbolic link to tripleo inventory from ceph-ansible work directory
# If we call ceph-ansible with the same inventory as the calling
# playbook, then config-
# of config-
file:
src: "{{ inventory_file }}"
dest: "{{ playbook_dir }}/ceph-
state: link
force: true
tags:
- run_uuid_ansible
- run_ceph_ansible
Re-ran the same converge and then the task successfuly executed:
TASK [tripleo-
Tuesday 07 April 2020 16:14:32 +0000 (0:00:00.254) 0:07:43.964 *********
ok: [undercloud] => (item=/
ok: [undercloud] => (item=/
ok: [undercloud] => (item=/
ok: [undercloud] => (item=/
TASK [tripleo-
Tuesday 07 April 2020 16:14:33 +0000 (0:00:01.312) 0:07:45.277 *********
changed: [undercloud] => {"changed": true, "dest": "/var/lib/
Checking the upstreame code, it looks like that line was missed to backport to tripleo-ansible stable/train: https:/
Changed in tripleo: | |
milestone: | ussuri-3 → ussuri-rc3 |
Changed in tripleo: | |
milestone: | ussuri-rc3 → victoria-1 |
Changed in tripleo: | |
milestone: | victoria-1 → victoria-3 |
Changed in tripleo: | |
milestone: | victoria-3 → wallaby-1 |
'force: true' is not present in train [1] but it is present in master [2].
Thus the patch will need to go directly into train.
[1] https:/ /github. com/openstack/ tripleo- ansible/ blob/stable/ train/tripleo_ ansible/ roles/tripleo- ceph-work- dir/tasks/ prepare. yml#L29- L39
[2] https:/ /github. com/openstack/ tripleo- ansible/ blob/master/ tripleo_ ansible/ roles/tripleo_ ceph_work_ dir/tasks/ prepare. yml#L29- L40