Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2250187

Summary: nova-compute container fails to get deployed when compute startup delay is enabled (typically for HCI nodes)
Product: Red Hat OpenStack Reporter: Marian Krcmarik <mkrcmari>
Component: openstack-tripleo-heat-templatesAssignee: OSP Team <rhos-maint>
Status: CLOSED ERRATA QA Contact: Joe H. Rahme <jhakimra>
Severity: urgent Docs Contact:
Priority: high    
Version: 17.1 (Wallaby)CC: igallagh, juriarte, lmiccini, mariel, mburns, pgrist, ramishra, rhos-maint
Target Milestone: z2Keywords: Regression, Triaged
Target Release: 17.1   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-14.3.1-17.1.20231103010823.el9ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-01-16 14:31:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marian Krcmarik 2023-11-16 21:20:52 UTC
Description of problem:
The startup of nova-compute container starts to fail during the overcloud deployment of typically HCI nodes (nodes with compute delay enabled).
The stdout from the container:
2023-11-15T18:57:04.671122265+00:00 stderr F + echo 'Running command: '\''/var/lib/nova/delay-nova-compute --delay 180 --nova-binary '\'''
2023-11-15T18:57:04.671134462+00:00 stdout F Running command: '/var/lib/nova/delay-nova-compute --delay 180 --nova-binary '
2023-11-15T18:57:04.671148397+00:00 stderr F + umask 0022
2023-11-15T18:57:04.671165844+00:00 stderr F + exec /var/lib/nova/delay-nova-compute --delay 180 --nova-binary
2023-11-15T18:57:04.701564579+00:00 stderr F usage: delay-nova-compute [-h] [--config-file NOVA_CONFIG]
2023-11-15T18:57:04.701564579+00:00 stderr F                           [--nova-binary NOVA_BINARY] [--delay DELAY]
2023-11-15T18:57:04.701564579+00:00 stderr F                           [--state-dir STATE_DIR] [--state-file STATE_FILE]
2023-11-15T18:57:04.701618896+00:00 stderr F delay-nova-compute: error: argument --nova-binary: expected one argument

The compute startup delay is typically enabled for HCI nodes to give ceph some time.
It seems that the problem comes from the recent revert patch:
https://code.engineering.redhat.com/gerrit/plugins/gitiles/openstack-tripleo-heat-templates/+/118d29c35075e0832cb78b5f6b9106cb4e477aa3
Which changed in /deployment/nova/nova-compute-container-puppet.yaml, this:
      kolla_config:
        /var/lib/kolla/config_files/nova_compute.json:
          command:
            list_join:
            - ' '
            - - if:
                - compute_startup_delay
                 - str_replace:
                     template: '/var/lib/nova/delay-nova-compute --delay DELAY --nova-binary'
                     params: { DELAY: {get_attr: [RoleParametersValue, value, nova_compute_startup_delay]} }
-              - if:
-                - {get_param: EnableInstanceHA}
-                - /var/lib/nova/instanceha/check-run-nova-compute
                 - /usr/bin/nova-compute
               - get_attr: [NovaLogging, cmd_extra_args]

to this:

      kolla_config:
        /var/lib/kolla/config_files/nova_compute.json:
          command:
            list_join:
            - ' '
            - - if:
                - compute_startup_delay
                - str_replace:
                    template: '/var/lib/nova/delay-nova-compute --delay DELAY --nova-binary'
                    params: { DELAY: {get_attr: [RoleParametersValue, value, nova_compute_startup_delay]} }
                - /usr/bin/nova-compute
              - get_attr: [NovaLogging, cmd_extra_args]

Previously the possible commands which could be executed (depends on whether compute delay or Instance HA are enabled):
1. /var/lib/nova/delay-nova-compute --delay DELAY --nova-binary /usr/bin/nova-compute
2. /var/lib/nova/delay-nova-compute --delay DELAY --nova-binary /var/lib/nova/instanceha/check-run-nova-compute
3. /usr/bin/nova-compute
4. /var/lib/nova/instanceha/check-run-nova-compute

But now, It's one of the options:
1. /var/lib/nova/delay-nova-compute --delay DELAY --nova-binary
2. /usr/bin/nova-compute

It should be tho I believe:
1. /var/lib/nova/delay-nova-compute --delay DELAY --nova-binary /usr/bin/nova-compute
2. /usr/bin/nova-compute



Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-14.3.1-17.1.20231103010821.e7c7ce3.el9ost.noarch

How reproducible:
Always

Steps to Reproduce:
1. Deploy the ovecloud with HCI nodes (nodes with nova-compute delay enabled)

Actual results:
The startup of nove-compute container during the deployment fails.

Expected results:
Successful startup of the container with defined delay and nova-compute service registration.

Additional info:

Comment 1 Rabi Mishra 2023-11-17 10:34:37 UTC
Looks like a regression. Should be fixed with https://code.engineering.redhat.com/gerrit/c/openstack-tripleo-heat-templates/+/448284.

Comment 4 Jon Uriarte 2023-11-21 09:12:09 UTC
*** Bug 2250696 has been marked as a duplicate of this bug. ***

Comment 16 errata-xmlrpc 2024-01-16 14:31:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenStack Platform 17.1.2 bug fix and enhancement advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2024:0209