[heat] Installations fails during Update Q->R
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openstack-ansible |
New
|
Undecided
|
Guilherme Steinmuller Pimentel |
Bug Description
During an update from Queens to Rocky, the heat installations fails at this step:
TASK [os_heat : Add service/heat user] *******
changed: [ctr003_
FAILED - RETRYING: Add service/heat user (5 retries left).
FAILED - RETRYING: Add service/heat user (4 retries left).
FAILED - RETRYING: Add service/heat user (3 retries left).
FAILED - RETRYING: Add service/heat user (2 retries left).
FAILED - RETRYING: Add service/heat user (1 retries left).
failed: [ctr003_
fatal: [ctr003_
Enabling logging reveals this:
TASK [os_heat : Add service/heat user] *******
changed: [ctr003_
FAILED - RETRYING: Add service/heat user (5 retries left).
FAILED - RETRYING: Add service/heat user (4 retries left).
FAILED - RETRYING: Add service/heat user (3 retries left).
FAILED - RETRYING: Add service/heat user (2 retries left).
FAILED - RETRYING: Add service/heat user (1 retries left).
failed: [ctr003_
This is a bug in os_user:
https:/
Applying the change for get_user fixed the above step:
https:/
But it leads to this problem:
TASK [os_heat : Add service user to roles] *******
ok: [ctr003_
changed: [ctr003_
changed: [ctr003_
FAILED - RETRYING: Add service user to roles (5 retries left).
FAILED - RETRYING: Add service user to roles (4 retries left).
FAILED - RETRYING: Add service user to roles (3 retries left).
FAILED - RETRYING: Add service user to roles (2 retries left).
FAILED - RETRYING: Add service user to roles (1 retries left).
failed: [ctr003_
Next Ansible bug:
https:/
Fix:
https:/
+ a change to the heat task Add service user to roles:
- name: Add service user to roles
os_user_role:
cloud: default
state: present
user: "{{ item.user }}"
role: "{{ item.role }}"
project: "{{ item.project }}"
domain: "{{ item.domain }}"
verify: "{{ not keystone_
register: add_service
when: not heat_service_
until: add_service is success
retries: 5
delay: 10
with_items:
- user: "{{ heat_service_
role: "{{ heat_service_
project: "{{ heat_service_
domain: default
# We add the keystone role used by heat to delegate to the heat service user
# for performing deferred operations via trusts.
- user: "{{ heat_service_
role: "{{ heat_stack_
project: "{{ heat_service_
domain: default
# Any user creating stacks needs to have the 'heat_stack_owner' role assigned.
# We add to admin user here for testing purposes.
- user: "{{ keystone_
role: "{{ heat_stack_
project: "{{ heat_service_
domain: default
# os_user_role needs a id
- user: "{{ heat_stack_
role: "{{ keystone_role_name | default('admin') }}"
project:
domain: "{{ add_stack_
According to the heat docs the project is not specified for the stack_domain_admin:
https:/
The result can be verified with:
$ openstack --os-cloud default role assignment list --user-domain heat --domain heat --user stack_domain_admin
+------
| Role | User | Group | Project | Domain | System | Inherited |
+------
| ffe96c912b30498
+------
$ openstack --os-cloud default role show <uuid from previous command>
+------
| Field | Value |
+------
| domain_id | None |
| id | ffe96c912b30498
| name | admin |
+------
Changed in openstack-ansible: | |
assignee: | nobody → Guilherme Steinmuller Pimentel (guilhermesp) |
It is affecting our important installations. Please resolve this on priority