AppFwk: Generic apps fail to apply with no clear error

Bug #2067430 reported by Igor Pires Soares
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Low
Igor Pires Soares

Bug Description

Brief Description
The hello-kitty app is a custom app used in testing to validate custom containers, even after adding the necessary 'supported_k8s_version' field in the metadata file, the app is uploaded but it instantly fails to apply, checking the sysinv.log file only shows that the operation is aborted.

Severity

Minor: System/Feature is usable with minor issue

Steps to Reproduce

get hello-kitty-new.tgz file
upload app tgz
apply hello-kitty app

Expected Behavior

app is applied successfully

Actual Behavior

App fails to apply.

Reproducibility

Reproducible

System Configuration

DX and SX

Load info (eg: 2022-03-10_20-00-07)

[sysadmin@controller-0 ~(keystone_admin)]$ cat /etc/build.info
SW_VERSION="24.03"
BUILD_TARGET="Host Installer"
BUILD_TYPE="Formal"
BUILD_ID="2024-05-15_19-00-12"
SRC_BUILD_ID="1982"JOB="master-debian"
BUILD_BY="jenkins"
BUILD_NUMBER="748"
BUILD_DATE="2024-05-15 23:00:12 +0000"

Timestamp/Logs

Sysinv snippet:

[3:07 PM] Gabriel Calixto de Paulasysinv 2024-05-17 17:50:02.863 23283 INFO sysinv.conductor.kube_app [-] lifecycle hook for application hello-kitty (0.1.0) started {'mode': 'manual', 'lifecycle_type': 'resource', 'relative_timing': 'pre', 'operation': 'apply', 'extra': {}}.

sysinv 2024-05-17 17:50:02.912 23283 INFO sysinv.helm.lifecycle_utils [-] Secret default-registry-key created under Namespace default.

sysinv 2024-05-17 17:50:02.919 23283 INFO sysinv.conductor.kube_app [-] lifecycle hook for application hello-kitty (0.1.0) started {'mode': 'manual', 'lifecycle_type': 'rbd', 'relative_timing': 'pre', 'operation': 'apply', 'extra': {}}.

sysinv 2024-05-17 17:50:02.962 23283 INFO sysinv.conductor.kube_app [-] lifecycle hook for application hello-kitty (0.1.0) started {'mode': 'manual', 'lifecycle_type': 'rbd', 'relative_timing': 'post', 'operation': 'apply', 'extra': {}}.

sysinv 2024-05-17 17:50:02.963 23283 INFO sysinv.conductor.kube_app [-] lifecycle hook for application hello-kitty (0.1.0) started {'mode': 'manual', 'lifecycle_type': 'resource', 'relative_timing': 'post', 'operation': 'apply', 'extra': {}}.

sysinv 2024-05-17 17:50:03.177 23283 ERROR sysinv.conductor.kube_app [-] Application apply aborted!.

sysinv 2024-05-17 17:50:03.178 23283 INFO sysinv.conductor.kube_app [-] Deregister the abort status of app hello-kitty

sysinv.log

Alarms

N/A

Test Activity

Feature Testing, Regression Testing

Workaround

N/A

Changed in starlingx:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/c/starlingx/config/+/920552
Committed: https://opendev.org/starlingx/config/commit/66e59f016d8ec26f82722cd3743cd11998da0ded
Submitter: "Zuul (22348)"
Branch: master

commit 66e59f016d8ec26f82722cd3743cd11998da0ded
Author: Igor Soares <email address hidden>
Date: Mon May 27 12:16:29 2024 -0300

    Fix support for generic StarlingX apps

    This commit fixes the support for StarlingX applications that do not
    provide any plugins, also known as generic apps. Two changes were
    required to fix that regression:

      * Check if the app is generic when retrieving its charts. A previous
        commit [1] introduced a check to verify whether charts are enabled,
        which caused false negatives because generic apps do not provide
        plugins to tell if they are enabled or disabled. In light of that,
        all charts provided by generic apps should be considered as enabled.
      * Swap the order that the "_get_list_of_charts" and
        "generate_helm_application_overrides" methods are called during the
        application apply process. The call to
        "generate_helm_application_overrides" requires application charts to
        be passed as a parameter, so "_get_list_of_charts" should be called
        first.

    In addition, an error log message was added to cover the scenario where
    no application charts are found. That will provide better information
    for developers that eventually makes mistakes when structuring their
    apps. Otherwise, the apply process would silently abort with no clear
    error.

    [1] https://opendev.org/starlingx/config/commit/967eedadb73b93a4098975663b3b221d83b4d5ce

    Test Plan:
    PASS: build-pkgs -a && build-image.
    PASS: AIO-SX fresh install.
    PASS: Upload/apply/remove/delete generic app.
    PASS: Upload dell-storage app.
          Enable csm-replication replication chart.
          Apply user overrides.
          Apply dell-storage.
          Confirm that the enabled chart was installed.
          Remove/Delete dell-storage.

    Closes-bug: 2067430

    Change-Id: Ib6fbd53209e19b12c5dbedc3584e04f8261363f4
    Signed-off-by: Igor Soares <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Low
tags: added: stx.10.0 stx.apps
Changed in starlingx:
assignee: nobody → Igor Pires Soares (ipiresso)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.