32 Commits

Author SHA1 Message Date
Qing Hao
c516beffa6 Add addon conversion webhook for v1alpha1/v1beta1 API migration (#1289)
Some checks failed
Post / images (amd64, addon-manager) (push) Failing after 46s
Post / images (amd64, placement) (push) Failing after 41s
Post / images (amd64, registration-operator) (push) Failing after 39s
Post / images (amd64, work) (push) Failing after 42s
Post / images (arm64, addon-manager) (push) Failing after 39s
Post / images (arm64, placement) (push) Failing after 39s
Post / images (arm64, registration) (push) Failing after 40s
Post / images (arm64, registration-operator) (push) Failing after 42s
Post / images (arm64, work) (push) Failing after 39s
Post / images (amd64, registration) (push) Failing after 7m46s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Post / coverage (push) Failing after 14m33s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m25s
Close stale issues and PRs / stale (push) Successful in 46s
* Add addon conversion webhook for v1alpha1/v1beta1 API migration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Qing Hao <qhao@redhat.com>

* Fix GroupVersion compatibility issues after API dependency update

This commit fixes compilation and test errors introduced by updating
the API dependency to use native conversion functions from PR #411.

Changes include:

1. Fix GroupVersion type mismatches across the codebase:
   - Updated OwnerReference creation to use schema.GroupVersion
   - Fixed webhook scheme registration to use proper GroupVersion type
   - Applied fixes to addon, placement, migration, work, and registration controllers

2. Enhance addon conversion webhook:
   - Use native API conversion functions from addon/v1beta1/conversion.go
   - Fix InstallNamespace annotation key to match expected format
   - Add custom logic to populate deprecated ConfigReferent field in ConfigReferences
   - Properly preserve annotations during v1alpha1 <-> v1beta1 conversion

3. Remove duplicate conversion code:
   - Deleted pkg/addon/webhook/conversion/ directory (~500 lines)
   - Now using native conversion functions from the API repository

4. Patch vendored addon-framework:
   - Fixed GroupVersion errors in agentdeploy utils

All unit tests pass successfully (97 packages, 0 failures).

Signed-off-by: Qing Hao <qhao@redhat.com>

---------

Signed-off-by: Qing Hao <qhao@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-24 08:26:35 +00:00
Jian Qiu
99265f6113 Refactor to contextual logging (#1283)
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m25s
Post / coverage (push) Failing after 36m59s
Post / images (amd64, addon-manager) (push) Failing after 7m34s
Post / images (amd64, placement) (push) Failing after 7m4s
Post / images (amd64, registration) (push) Failing after 7m8s
Post / images (amd64, registration-operator) (push) Failing after 7m3s
Post / images (amd64, work) (push) Failing after 6m59s
Post / images (arm64, addon-manager) (push) Failing after 7m0s
Post / images (arm64, placement) (push) Failing after 6m54s
Post / images (arm64, registration) (push) Failing after 6m55s
Post / images (arm64, registration-operator) (push) Failing after 6m55s
Post / images (arm64, work) (push) Failing after 7m16s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2025-12-08 08:14:30 +00:00
Jian Qiu
33310619d9 🌱 use SDK basecontroller for better logging. (#1269)
* Use basecontroller in sdk-go instead for better logging

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* Rename to fakeSyncContext

Signed-off-by: Jian Qiu <jqiu@redhat.com>

---------

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2025-12-01 03:07:02 +00:00
Jian Qiu
eb033993c2 🌱 Use base controller in sdk-go (#1251)
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m11s
Post / coverage (push) Failing after 37m30s
Post / images (amd64, addon-manager) (push) Failing after 7m29s
Post / images (amd64, placement) (push) Failing after 6m57s
Post / images (amd64, registration) (push) Failing after 7m5s
Post / images (amd64, registration-operator) (push) Failing after 7m5s
Post / images (amd64, work) (push) Failing after 7m2s
Post / images (arm64, addon-manager) (push) Failing after 7m18s
Post / images (arm64, placement) (push) Failing after 7m7s
Post / images (arm64, registration) (push) Failing after 7m13s
Post / images (arm64, registration-operator) (push) Failing after 7m6s
Post / images (arm64, work) (push) Failing after 7m2s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 45s
* Use base controller in sdk-go

We can leverage contextual logger in base controller.

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* Fix integration test error

Signed-off-by: Jian Qiu <jqiu@redhat.com>

---------

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2025-11-20 07:53:42 +00:00
Qing Hao
67f0db9311 remove cel from placement decision group (#981)
Signed-off-by: Qing Hao <qhao@redhat.com>
2025-05-06 12:35:15 +00:00
Qing Hao
df87f528d7 add cost budget, runtime cost estimator and metrics (#964)
Some checks failed
Post / images (amd64) (push) Failing after 6m56s
Post / images (arm64) (push) Failing after 6m41s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Post / coverage (push) Failing after 27m27s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 4m7s
Close stale issues and PRs / stale (push) Successful in 34s
Signed-off-by: Qing Hao <qhao@redhat.com>
2025-04-30 08:15:22 +00:00
Qing Hao
f4b6dcb159 select clusters with cel selector (#693)
Some checks failed
Post / images (amd64) (push) Failing after 3m11s
Post / coverage (push) Failing after 8m5s
Post / images (arm64) (push) Failing after 3m27s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 7s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m34s
Signed-off-by: Qing Hao <qhao@redhat.com>
2025-04-22 15:00:56 +00:00
Ankit Kurmi
cd8827572e feat: updated golang to v1.23.6 and related k8s.io packages (#870)
Signed-off-by: Ankit152 <ankitkurmi152@gmail.com>
2025-04-09 07:46:27 +00:00
Jian Qiu
241a3eaaa3 Reduce client scope built from driver (#915)
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m1s
Post / coverage (push) Failing after 22m36s
Post / images (amd64) (push) Failing after 13m6s
Post / images (arm64) (push) Failing after 2m21s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 13s
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2025-03-27 09:44:13 +00:00
Jian Qiu
2582ad922d Update deps to 1.30 (#546)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-07-02 14:04:15 +00:00
Jian Zhu
468fdc0476 Exclude terminating clusters from Placementdecision (#480)
Signed-off-by: zhujian <jiazhu@redhat.com>
2024-05-29 01:45:08 +00:00
Jian Zhu
c749b42ca0 Send available condition events for managed cluster (#450)
* Send available condition events for managed cluster

Signed-off-by: zhujian <jiazhu@redhat.com>

* Send available condition events for managed cluster

Signed-off-by: zhujian <jiazhu@redhat.com>

* Rename event reporting component

Signed-off-by: zhujian <jiazhu@redhat.com>

---------

Signed-off-by: zhujian <jiazhu@redhat.com>
2024-05-06 07:00:36 +00:00
Jian Qiu
1c3cb033b0 Bump ocm/api to v0.13.0 (#361)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-02-21 08:51:34 +00:00
Jian Qiu
c04ab368de Bump api and addon-framework deps (#354)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-01-23 07:40:26 +00:00
Jian Qiu
6cfce8ce24 Revert apply func (#353)
this part dep on library-go so remove from
sdk-go

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-01-22 03:46:46 +00:00
Jian Qiu
bede3edd92 Switch to patcher in sdk-go (#349)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-01-22 02:04:49 +00:00
Jian Qiu
1d42f4285e Switch to sdk-go for helper functions (#346)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-01-17 14:28:54 +00:00
Qing Hao
2f4ff9f424 🌱 add metrics for placement (#297)
* add metrics for placement

Signed-off-by: haoqing0110 <qhao@redhat.com>

* record plugin metrics in schedule()

Signed-off-by: haoqing0110 <qhao@redhat.com>

* add plugin type

Signed-off-by: haoqing0110 <qhao@redhat.com>

---------

Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-10-26 06:44:59 +00:00
Nitish Chauhan
36e389cc07 adding contextual logging in placement component (#254)
Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>
2023-08-24 21:19:17 -04:00
Qing Hao
a2b3c6d54c revert placement decision start index from 1 to keep backward compatibility (#253)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-08-23 03:45:27 -02:30
Jian Qiu
88f6f4dd17 Refactor code to start managers with shared informers (#232)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2023-08-21 00:03:58 -02:30
Qing Hao
4f3749970e fix the placement decision clusters have random order issue (#235)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-07-27 03:00:42 +02:00
Jian Qiu
e810520961 🌱 Refactor code to fix lint warning (#218)
* Refactor code to fix lint warning

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* enable lint for testing files

Signed-off-by: Jian Qiu <jqiu@redhat.com>

---------

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2023-07-25 07:12:34 +02:00
Qing Hao
5c03624912 divide pre-defined decision groups by length (#227)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-07-21 10:34:21 +02:00
Qing Hao
66498342dd 🌱 placement support decision groups (#200)
* placement support decision groups

Signed-off-by: haoqing0110 <qhao@redhat.com>

* update decision generation flow

Signed-off-by: haoqing0110 <qhao@redhat.com>

* fix label update issue

Signed-off-by: haoqing0110 <qhao@redhat.com>

* update decision group logic

Signed-off-by: haoqing0110 <qhao@redhat.com>

* update placement and decision with patcher

Signed-off-by: haoqing0110 <qhao@redhat.com>

* modify code based on review comments

Signed-off-by: haoqing0110 <qhao@redhat.com>

---------

Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-07-10 09:46:23 -04:00
Qing Hao
de2b7d35be generalize cluster selector method (#204)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-06-29 15:11:56 +02:00
Jian Qiu
e4792e4b83 Refactor to use common queue/filter funcs (#197)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2023-06-28 15:59:19 +02:00
Jian Zhu
d3d648283e 🌱 Configure the golangci lint (#180)
* 🌱 Configure the golangci lint

Signed-off-by: zhujian <jiazhu@redhat.com>

* 🌱 Fix lint issues

Signed-off-by: zhujian <jiazhu@redhat.com>

---------

Signed-off-by: zhujian <jiazhu@redhat.com>
2023-06-13 03:51:48 -04:00
Jian Zhu
7332a585c0 🌱 add a verify rule for golang files import order (#177)
* 🌱 add a verify rule for golang files import order

This PR uses the [gci tool](https://github.com/daixiang0/gci) to make all go files' import section with a specific order, it will organize import with group with order:
1. standard library modules
2. 3rd party modules
3. modules in OCM org, like the `open-cluster-management.io/api`
4. current project `open-cluster-management.io/ocm` modules

developers can use the `make fmt-imports` to format the import automatically and the `make verify-fmt-imports` to check for any violation.

Signed-off-by: zhujian <jiazhu@redhat.com>

* 🌱 format the go files import

Signed-off-by: zhujian <jiazhu@redhat.com>

---------

Signed-off-by: zhujian <jiazhu@redhat.com>
2023-06-12 10:23:04 -04:00
Chunlin Yang
6f21760b7e Bump k8s to v0.27.2 (#160)
upgrade to golang 1.20

Signed-off-by: clyang82 <chuyang@redhat.com>
2023-06-06 05:55:07 -04:00
Jian Qiu
72d87a2ea5 Refactor testing (#161)
* Move common testing fixture to a common location

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* Add common pkg

Signed-off-by: Jian Qiu <jqiu@redhat.com>

---------

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2023-06-04 22:47:08 -04:00
xuezhaojun
ad38b9465f Relocate pkgs. (#146)
Signed-off-by: xuezhaojun <zxue@redhat.com>
2023-05-29 07:20:55 -04:00