Ocata -> Pike upgrade of an environment with ceph nodes failure caused by failing 'Check legacy Ceph hieradata' task on OSD nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Won't Fix
|
High
|
Unassigned |
Bug Description
Description of problem:
Ocata -> Pike upgrade of an environment with ceph nodes failure caused by failing 'Check legacy Ceph hieradata' task on OSD nodes
Version-Release number of selected component (if applicable):
How reproducible:
100%
Steps to Reproduce:
1. Deploy Ocata with 3 controller + 2 computes + 3 ceph nodes
timeout 100m openstack overcloud deploy \
--templates /usr/share/
--stack overcloud \
--libvirt-type kvm \
--ntp-server clock.redhat.com \
-e /usr/share/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /home/stack/
-e /home/stack/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /home/stack/
-e /home/stack/
--log-file overcloud_
Content of: /home/stack/
parameter_defaults:
CinderEnabl
CinderEnabl
CinderEnabl
NovaEnableR
GlanceBackend: rbd
CinderRbdPo
NovaRbdPool
GlanceRbdPo
ExtraConfig:
ceph:
ceph:
ceph:
'/dev/vdb': {}
2. Run major upgrade composable steps:
openstack overcloud deploy \
--templates /usr/share/
--stack overcloud \
--libvirt-type kvm \
--ntp-server clock.redhat.com \
-e /usr/share/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /home/stack/
-e /home/stack/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /home/stack/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /home/stack/
-e /home/stack/
Note the /home/stack/
parameter_defaults:
ExtraConfig:
Actual results:
Upgrade fails caused by failing 'Check legacy Ceph hieradata' task on OSD nodes
overcloud.
resource_type: OS::Heat:
physical_
status: CREATE_FAILED
status_reason: |
Error: resources[1]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 2
deploy_stdout: |
...
TASK [Gathering Facts] *******
ok: [localhost]
TASK [Check legacy Ceph hieradata] *******
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "test \"nil\" == \"$(hiera -c /etc/puppet/
to retry, use: --limit @/var/lib/
PLAY RECAP *******
localhost : ok=1 changed=0 unreachable=0 failed=1
(truncated, view all with --long)
deploy_stderr: |
overcloud.
resource_type: OS::Heat:
physical_
status: CREATE_FAILED
status_reason: |
CREATE aborted
deploy_stdout: |
None
deploy_stderr: |
None
overcloud.
resource_type: OS::Heat:
physical_
status: CREATE_FAILED
status_reason: |
CREATE aborted
deploy_stdout: |
...
TASK [Gathering Facts] *******
ok: [localhost]
TASK [Check legacy Ceph hieradata] *******
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "test \"nil\" == \"$(hiera -c /etc/puppet/
to retry, use: --limit @/var/lib/
PLAY RECAP *******
localhost : ok=1 changed=0 unreachable=0 faileHeat Stack update failed.
Heat Stack update failed.
d=1
(truncated, view all with --long)
deploy_stderr: |
Expected results:
Upgrade succeeds.
Additional info:
It looks that the ExtraConfig override didn't get applied on the nodes:
cat controller-
{
"ceph:
"ceph:
"ceph:
"/dev/vdb": {}
}
}
cat ceph-0/
{
"ceph:
"ceph:
"ceph:
"/dev/vdb": {}
}
Changed in tripleo: | |
milestone: | none → rocky-1 |
Changed in tripleo: | |
milestone: | rocky-1 → rocky-2 |
Changed in tripleo: | |
milestone: | rocky-2 → rocky-3 |
Changed in tripleo: | |
milestone: | rocky-3 → rocky-rc1 |
Changed in tripleo: | |
milestone: | rocky-rc1 → stein-1 |
Changed in tripleo: | |
milestone: | stein-1 → stein-2 |
Changed in tripleo: | |
milestone: | stein-2 → stein-3 |
Changed in tripleo: | |
milestone: | stein-3 → stein-rc1 |
I tried instead of overriding ExtraConfig in an additional environment file to remove the old hieradata from the existing environment file and this allowed me to move forward.
Original Environment file containing hiera:
parameter_defaults: eIscsiBackend: false eRbdBackend: true eNfsBackend: false bdBackend: true olName: "volumes" Name: "vms" olName: "images" :profile: :params: :osd_pool_ default_ pg_num: 32 :profile: :params: :osd_pool_ default_ pgp_num: 32 :profile: :params: :osds:
CinderEnabl
CinderEnabl
CinderEnabl
NovaEnableR
GlanceBackend: rbd
CinderRbdPo
NovaRbdPool
GlanceRbdPo
ExtraConfig:
ceph:
ceph:
ceph:
'/dev/vdb': {}
Adjusted file used during upgrade which allows the upgrade to pass:
parameter_defaults: eIscsiBackend: false eRbdBackend: true eNfsBackend: false bdBackend: true olName: "volumes" Name: "vms" olName: "images" aultPgNum: 32 DisksConfig:
CinderEnabl
CinderEnabl
CinderEnabl
NovaEnableR
GlanceBackend: rbd
CinderRbdPo
NovaRbdPool
GlanceRbdPo
ExtraConfig: {}
CephPoolDef
CephAnsible
devices:
- '/dev/vdb'