The default deployment strategy is RollingUpdate, which causes the
application update to fail. Since the Pods share the same Persistent
Volume for their database, the original Pod must be shut down before
creating a new one.
This commit resolves the application issue by switching the deployment
strategy to Recreate. This ensures the old Pod is shut down before a new
Pod is created during the upgrade process.
Test Plan:
PASS: Validate basic application lifecycle operations:
upload/apply/remove/delete
PASS: Upgrade the application on Duplex nodes, confirming a successful
upgrade to the new version without issues.
Closes-Bug: 2088424
Change-Id: Ide821620ffedfd0a8e58ad2883e3348fddb6994f
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
This commit resolves the O2 application apply failure
caused by a version mismatch of the helm chart. The current
chart version is 2.0.4, but the system was attempting to
use version 0.1.0.
Test Cases:
PASS - Validate basic application lifecycle operations:
upload/apply/remove/delete.
Closes-Bug: 2075506
Change-Id: I8f8b5cdfc695b900d1a2ecd70faabb4d71cc0180
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Enable auto-versioning of helm charts to ensure the FluxCD
helm controller recognizes chart changes.
Test Plan:
PASS: Build all packages generating an application tarball verifying
all versions on the charts and application make sense.
PASS: Introduce temporary chart changes and ensure that the versions
increment as expected.
PASS: Validate basic application lifecycle operations:
upload/apply/remove/delete.
Story: 2010929
Task: 50383
Change-Id: Ie57ea4a4f5a04f09c14a8855e6c1afdfd7dbccb8
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
ORAN release J is out. This change bumps o2service image to 2.0.4
which matches the published version of release J.
TEST PLAN
PASS: Ensure IPv6 supported
PASS: mTLS is worked
PASS: OAuth2.0 is worked
PASS: Deploy ORAN app to System Controller with AIO-SX subclouds
PASS: Run compliance and quality robot tests, with mock SMO
Story: 2011152
Task: 50332
Change-Id: I4719aeece3b7a77244ff23a9b47e4cc78513e3e3
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Right now, oran-o2 app is using beta versions
of the Fluxcd and Helm APIs, and for this reason,
some warnings are being thrown.
This change aims to update api versions, removing
beta values following this logic:
Fluxcd:
- source.toolkit.fluxcd.io/v1beta1
+ source.toolkit.fluxcd.io/v1
Helm:
- helm.toolkit.fluxcd.io/v2beta1
+ helm.toolkit.fluxcd.io/v2
No changes to yaml file structure are required
for this change.
Test Plan:
PASS: Build ISO & Bootstrap AIO-SX
PASS: Upload and apply oran-o2 app
PASS: Confirm that sysinv.log does not have any
warnings about beta versions related to
oran-o2.
Story: 2011129
Task: 50475
Change-Id: I9ec6a0baca7d4a3b8ab35401bd0baed542067acf
Signed-off-by: Edson Dias <edson.dias@windriver.com>
A quick note for how a user can go about disabling the platform
affined aspect of this application.
Story: 2011041
Task: 50380
Change-Id: If63c52359145d27adb69fdfccf6a77e7ff78e6d8
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
ORAN release I is out. This change bumps o2service image to 2.0.3
which matches the published version of release I.
TEST PLAN
PASS: Ensure pods have platform label
* app.starlingx.io/component: platform is present on pods
PASS: Deploy ORAN app to System Controller with AIO-SX subclouds
PASS: Run compliance and quality robot tests, with mock SMO
Story: 2011041
Task: 49658
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
Change-Id: If0439004a8070c452f0990ae22be430f71a37aa4
ORAN release I is out. This change bumps the helm chart to 2.0.3
which matches the published version of release I.
TEST PLAN
PASS: Ensure pods have platform label
* app.starlingx.io/component: platform is present on pods
PASS: Deploy ORAN app to System Controller with
AIO-SX subclouds present
PASS: Run compliance and quality robot tests, with mock SMO
* Update/apply override for dev image (if required)
Story: 2011041
Task: 49565
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
Change-Id: I225c74285d3f4ade189da894b7a06f67d630749a
Add the minimum Kubernetes version supported to the application metadata
file.
The minimum Kubernetes version is set to 1.24.4 and should be changed
accordingly for future application updates.
The "supported_k8s_version:minimum" field is optional but it will become
mandatory in the near future.
This also contains a fix to properly trigger the Tox metadata checks.
Test Plan
PASS: build-pkgs && build-image
PASS: Apply application
Story: 2010929
Task: 49498
Change-Id: I743e0c4e7b28e28a2338b2942854c4fb61050de6
Signed-off-by: Igor Soares <Igor.PiresSoares@windriver.com>
This change will automatically adjust versioning of the application
tarball and python plugins to reflect the same version reported by
SW_VERION in /etc/build.info.
Test plan:
PASS: build-pkgs -a & build-image
PASS: Confirm that the tarball version matches the platform version
PASS: Apply application
Story: 2010929
Task: 49347
Change-Id: Ib11dbeddb30194e92532afa2e9ab370dcf9484a3
Signed-off-by: Igor Soares <Igor.PiresSoares@windriver.com>
Modify code to conform to flake8 and pylint.
Jobs are now flake8, pylint, py39 and metadata.
Test Plan
PASS - All zuul jobs pass as expected.
Story: 2010929
Task: 49258
Change-Id: Ifdb34f6864c803a4326e17d6d5c25709c54c7726
Signed-off-by: Reed, Joshua <Joshua.Reed@windriver.com>
The purpose of this change is to remove the
HelmOperatorTestSuiteMixin in the unit tests. This reference is
part of Armada and crashes Zuul because it was removed
here: https://review.opendev.org/c/starlingx/config/+/869094
It was necessary to make adjustments to configuration files for unit
tests and pylint because zuul was failing.
Test Plan:
PASS build-pkgs -p python3-k8sapp-oran-o2
PASS build-pkgs -p stx-oran-o2-helm
PASS unit test is performed successfully
Story: 2010560
Task: 48751
Co-Authored-By: Igor Pires Soares <igor.piressoares@windriver.com>
Change-Id: Idb0963c60f8a8a5ec3acd139f60383a128dc43b7
Signed-off-by: David Barbosa Bastos <david.barbosabastos@windriver.com>
Updating the rsa ssh host key based on:
https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
Note: In the future, StarlingX should have a zuul job and
secret setup for all repos so we do not need to do this
for every repo.
Needed to rename the secret, because zuul fails if like-named
secrets have diffent values in different branches of the same
repo.
Partial-Bug: #2015246
Change-Id: I5cda71223fbb3f8f380b25e49c488fc9fb39acb4
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
The oran-o2 platform application must mark its namespace and/or
pods with the "app.starlingx.io/component=platform" label in order
to ensure that Kubernetes knows to run it on the platform cores.
Since the upstream chart does not support this yet, an interim build
method must be used to test until the reference in the application is
updated to the new version of the chart, ETA June 2023.
To build using a commit that support this until then:
diff --git a/stx-oran-o2-helm/debian/meta_data.yaml b/stx-oran-o2-helm/debian/meta_data.yaml
index 6ba9683..01de152 100644
Change-Id: Ic7116f356968087adaa574765453b3cbfdf80a7a
--- a/stx-oran-o2-helm/debian/meta_data.yaml
+++ b/stx-oran-o2-helm/debian/meta_data.yaml
@@ -5,8 +5,8 @@ src_path: stx-oran-o2-helm
dl_files:
oran-o2-2.0.0_g39e022d7.tar.gz:
topdir: pti-o2-2.0.0
- url: 39e022d709.tar.gz
- md5sum: b9dc448c4dbea0e5ad5f5702319eb24f
+ url: 34244dc4e3.tar.gz
+ md5sum: fd1b2521c864a9f2926bec6942ebf899
revision:
dist: $STX_DIST
GITREVCOUNT:
Then run:
stx build -c "downloader"
stx shell -c "build-pkgs -c -p stx-oran-o2-helm,python3-k8sapp-oran-o2"
TEST PLAN
PASS: Upload and apply oran-o2 application
PASS: Verify oran-o2 pods have correct labels
Story: 2010648
Task: 47660
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
Change-Id: I2b14002e5c482fb6ccd0a9296f0b57f6b547e247
This allows app-oran-o2 to be automatically updated.
This is helpful when providing patches, removing the need
for manual intervention.
Test plan:
PASS: Build and deploy image where app-oran-o2 has "auto_update: true"
manually apply the app in starlingx.
PASS: Replace application tarball with version bumped new one in
/usr/local/share/applications/helm/, Reupload and re-apply
should happen automatically.
Story: 2010628
Task: 47797
Signed-off-by: Joshua Kraitberg <joshua.kraitberg@windriver.com>
Change-Id: Ie14c7955d84d137c612d3c2a7a960d27dd8ad19e
Currently, the debian build system produces a debian package version
with the format: "1.0-1.stx.<revision>"
The rules file then parses this deb pkg version at build time
to produce the app tarball version, which always comes up to
be "1.0-1" at this time [1]. This commit changes the app tarball
version calculation so that the resulting tarball version will
be "1.0-<revision>" [2].
This correction is necessary because the application framework
cannot update an app between instances with the same version.
This commit is part of a set of commits updating the app tarball
version calculation to all apps based off of [3].
[1]: /usr/local/share/applications/helm/<APPNAME>-1.0-1.tgz
[2]: /usr/local/share/applications/helm/<APPNAME>-1.0-<N>.tgz
[3]: https://review.opendev.org/c/starlingx/cert-manager-armada-app/+/872628
Test Plan:
pass - build-pkg
pass - tarball version updated
Story: 2010542
Task: 47521
Signed-off-by: Leonardo Fagundes Luz Serrano <Leonardo.FagundesLuzSerrano@windriver.com>
Change-Id: I39dd219425df8ca2fd829051c9af9c578ba73759
Fixed versioning and adjusted some build files
to bring them as close to a standard as possible.
- Removed centos files
- Added version tracking via GITREVCOUNT
- Fixed mismatch in plugin name, set to python3-k8sapp-<app>
- Standardized plugin debian files (rules, *.install)
- Plugin wheels saved to /plugin instead of /plugin/<app>
Test Plan:
PASS - Build-pkgs -a
PASS - Build-image
PASS - Install, bootstrap, unlock
PASS - app tarball contains wheel file
PASS - wheel versioning updated properly
Story: 2010542
Task: 47192
Signed-off-by: Leonardo Fagundes Luz Serrano <Leonardo.FagundesLuzSerrano@windriver.com>
Change-Id: I73712a6b41639829cd56a02781bd8d80337a372a
This change will allow this repo to pass zuul now
that this has merged:
https://review.opendev.org/c/zuul/zuul-jobs/+/866943
Tox 4 deprecated whitelist_externals.
Replace whitelist_externals with allowlist_externals
Due to unit test failures related to installing the
components, the Zuul file for this repo is pinned to
be less than tox 4.
Partial-Bug: #2000399
Signed-off-by: Al Bailey <al.bailey@windriver.com>
Change-Id: I906ebaa601170bd12183f1c983c3d5087014e696
Set reconciliation interval for all flux helm resources to 1m
to allow it to manage resources by itself in a reasonable time
interval.
Test Plan (tested as part of [1]):
PASS: bootstrap
PASS: unlocked enabled available
PASS: apps applied
PASS: inspect flux pod logs for errors
PASS: re-test known trigger for 1996747 and 1995748
PASS: re-test known trigger 1997368
[1] https://review.opendev.org/c/starlingx/config/+/866862
Partial-Bug: 1999032
Signed-off-by: Leonardo Fagundes Luz Serrano <Leonardo.FagundesLuzSerrano@windriver.com>
Change-Id: Id7568e901598ed0945ca8ba7c0024e0ab04bb5c2
The upstream 2.0.0 tag is unstable, which breaks the starlingx
downloader. In particular, the change
I3df016307deb83ef005cf201bf6fc6c91fa3a49e breaks the mirror.
Use a git commit instead of 2.0.0. Refactor the filename.
Test plan:
PASS: build
PASS: compare build artifacts before/after replacement of dl url
Closes-Bug: 1997934
Change-Id: I9098b75802cfb2d11213f4c22137384828ffe8c1
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
The upstream changed the tag to include some security
fixes so the md5sum need to be updated.
Test Plan:
Pass: "downloader -s" without using the cengn mirror
Pass: build the package stx-oran-o2-helm
Pass: oran-o2 present in /usr/local/share/applications/helm/ after package installation
Pass: oran-o2 is applied on AIO-SX Debian
Closes-Bug: 1997934
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I3df016307deb83ef005cf201bf6fc6c91fa3a49e
The ORAN O2 app provides O-RAN spec compliant O2 interfaces.
This commit packages the existing O2 helm charts into
a fluxCD application
Test Plan:
Pass: oran-o2 present in /usr/local/share/applications/helm/ after CentOS ISO installation
Pass: oran-o2 present in /usr/local/share/applications/helm/ after Debian ISO installation
Pass: oran-o2 is applied on AIO-SX CentOS
Pass: oran-o2 is applied on AIO-SX Debian
Pass: oran-o2 is applied on DC AIO-DX CentOS
Pass: oran-o2 is applied with overrides on AIO-SX CentOS
Pass: oran-o2 is applied with overrides on AIO-SX Debian
Pass: oran-o2 is applied with overrides on DC Central AIO-DX CentOS
Story: 2010278
Task: 46684
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I290c12f8d0f5c02588920ef3cd3e23b1ad80b0d2