This commit changes how we differentiate Helm charts when uploading new
StarlingX applications. The method previously used was based on
comparing SHA256 digests, which was causing the helm-upload script to
mistakenly report charts with the same implementation as different
after rebuilding them with no changes.
The new implementation uses the diff tool to perform such comparison so
that charts with the same implementation are reported as equals
regardless of whether they were rebuilt.
In addition, two new parameters were added to the helm-upload script:
* 'check-only': check if charts are valid without uploading them to
the given repository.
* 'upload-only': upload charts to the given repository bypassing the
preliminary checks.
The new parameters aim for more flexibility when integrating with other
pieces of software such as sysinv.
Test Plan:
PASS: build-pkgs -a && build-image
PASS: AIO-SX fresh install.
PASS: Update platform-integ-apps containing a rebuilt version of
ceph-pools-audit with no changes.
Confirm that the app was successfully updated.
PASS: Update platform-integ-apps containing a rebuilt version of
ceph-pools-audit containing changes to values.yaml but keeping the
same version number.
Confirm that the app update failed.
PASS: Run helm-upload with the 'check-only' parameter and confirm that
no charts were uploaded.
PASS: Run helm-upload with the 'upload-only' parameter and confirm that
charts were correctly uploaded.
PASS: Run helm-upload without the new parameters and confirm that the
original behavior was preserved.
Partial-Bug: 2053074
Change-Id: I45f6482118f5ecf9da1b51f21fbaf0db63eb321c
Signed-off-by: Igor Soares <Igor.PiresSoares@windriver.com>