25 Commits

Author SHA1 Message Date
Zhang Rong(Jon)
affec587e0 Change deployment strategy to Recreate
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>
vr/stx.10.0 vf/stx.trixie vf/trixie vf/portable-dc
2024-11-18 07:34:50 +00:00
Zhang Rong(Jon)
74810eecea Fix O2 app apply failed by helm chart version
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>
vf/caracal
2024-08-01 22:08:00 +08:00
Joshua Kraitberg
aba5069d7f Auto-increment chart versions
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>
2024-07-12 15:55:17 -04:00
Zhang Rong(Jon)
27c0390963 Updated o2service to J-release
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>
2024-07-03 23:47:11 +08:00
Edson Dias
e9f08a4492 Update helm/fluxcd api version.
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>
2024-06-27 16:05:39 -03:00
Joshua Kraitberg
b2cc3a36a1 Add note for changing app.starlingx.io/component label
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>
2024-06-20 10:49:16 -04:00
Joshua Kraitberg
ef995f821c Updated o2service image to 2.0.3
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
vr/stx.9.0
2024-03-04 16:27:00 -05:00
Zuul
1cc4b2f288 Merge "Updated upstream application tar bundle to 2.0.3" vf/bookworm 2024-02-16 15:33:12 +00:00
Joshua Kraitberg
9657688b3a Updated upstream application tar bundle to 2.0.3
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
2024-02-15 15:04:45 -05:00
Igor Soares
a40152ae6f Add minimum Kubernetes version supported
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>
2024-02-06 11:17:29 -03:00
Zuul
d434e02d8e Merge "Application versioning based on build release" vf/kernel-6.6 2024-01-08 15:15:30 +00:00
Igor Soares
9834d7a8c7 Application versioning based on build release
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>
2023-12-29 12:02:08 -03:00
Reed, Joshua
cfbbc01576 Update app Zuul Check Jobs.
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>
2023-12-13 15:00:19 -07:00
David Barbosa Bastos
eb5039ce29 Remove unit test class HelmOperatorTestSuiteMixin
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>
2023-09-15 14:57:14 -03:00
Davlet Panech
1832c26309 Fix github mirroring for this repo
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>
vf/antelope
2023-04-28 12:38:49 -04:00
Joshua Kraitberg
ef348ccf56 Add label 'app.starlingx.io/component=platform'
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
2023-04-25 13:25:34 -04:00
Joshua Kraitberg
4ad5993891 Enable automatic app update
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
2023-04-14 13:05:26 -04:00
Leonardo Fagundes Luz Serrano
f225122a68 Updated app tarball version
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
2023-03-02 14:31:54 -03:00
Leonardo Fagundes Luz Serrano
441d44eb2f Standardize app configs
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
vr/stx.8.0 __v.stx.test2
2023-01-20 15:41:02 +00:00
Al Bailey
056036a19b Update tox.ini to work with tox 4
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
2022-12-26 22:24:03 +00:00
Leonardo Fagundes Luz Serrano
a392d114d7 appfwk: set flux reconciliation interval to 1m
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
2022-12-07 19:33:24 +00:00
Michel Thebeau
169972f1bd lock down tarball for o-ran-sc/pti-o2
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>
2022-11-30 11:14:39 -05:00
Jackie Huang
19fdd5701f meta_data.yaml: update the md5sum
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
2022-11-25 22:21:54 +08:00
Jackie Huang
47b3fd6a32 Introduction of the ORAN O2 application
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
2022-11-12 16:49:24 +08:00
OpenDev Project Creator
49916455ef Added .gitreview 2022-09-23 18:48:22 +00:00