Bug 2097271 - Set tripleo cloud init timeout through templates
Summary: Set tripleo cloud init timeout through templates
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 16.2 (Train)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: OSP Team
QA Contact: Joe H. Rahme
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-06-15 10:23 UTC by Miguel Angel Nieto
Modified: 2022-10-04 20:04 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-10-04 20:04:54 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-15761 0 None None None 2022-06-15 10:25:32 UTC

Internal Links: 2042143

Description Miguel Angel Nieto 2022-06-15 10:23:40 UTC
Description of problem:
Sometimes operator will need to configure cloud-init timeout during deployment, it would be  usefull if it would be possible to configure it through templates as an optional value. 

For example, in this case [1] where there is a firmware update of a nic, it is taking longer than the default value and deployment is failing

Currently it is configured to 50 retries each 5 seconds (around 250 seconds)

/usr/share/openstack-tripleo-heat-templates/common/deploy-steps-tasks-step-0.j2.yaml
- name: Wait for cloud-init to finish, if enabled
  cloud_init_data_facts:
    filter: status
  register: res
  until: >
    res.cloud_init_data_facts.status.v1.stage is defined and
    not res.cloud_init_data_facts.status.v1.stage
  retries: 50
  delay: 5
  when:
    - cloud_init_enabled.rc is defined
    - cloud_init_enabled.rc == 0
    - cloud_init_vendor_disabled.rc is not defined or cloud_init_vendor_disabled.rc != 0

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2042143#c28


Version-Release number of selected component (if applicable):
RHOS-16.2-RHEL-8-20220603.n.1


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Steve Baker 2022-10-04 20:04:54 UTC
Rather than using cloud-init for early provision firmware upgrade, we would suggest using the ansible_playbooks directive[1] in the provision yaml. This is the mechanism we support for this sort of task, and there are already established patterns for tasks triggering a reboot and waiting for the node to be available again (for example, cli-overcloud-node-kernelargs.yaml).

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/17.0/html/director_installation_and_usage/assembly_provisioning-and-deploying-your-overcloud#ansible-playbooks-properties


Note You need to log in before you can comment on or make changes to this bug.