28 Commits
Author SHA1 Message Date
Tesshu FlowerandGitHub 3fc97b0c98 🌱 chore: upgrade to go 1.26 (#1571)
* chore: upgrade to go 1.26

Upgrades Go version from 1.25 to 1.26.

Changes:
- go.mod — go directive updated to 1.26.0
- .github/workflows/*.yml — GO_VERSION updated to 1.26 (5 workflows)
- build/Dockerfile.* — base image updated to golang:1.26-bookworm (5 Dockerfiles)
- pkg/placement/controllers/scheduling/scheduling_controller.go — fix
  pre-existing printf format mismatch (%q -> %d for int args) surfaced
  by stricter Go 1.26 linter

Relates to: https://github.com/open-cluster-management-io/ocm/issues/1555

Signed-off-by: Tesshu Flower <tflower@redhat.com>

* fix: pin engineerd/setup-kind to working commit SHA

Pin engineerd/setup-kind to commit SHA ecfad61750951586a9ef973db567df1d28671bdc
which is the tip of the v0.6.2 branch and includes the required dist/
build artifact. The v0.6.2 tag currently resolves to a different commit
that is missing dist/main/index.js, causing e2e CI to fail.

Signed-off-by: Tesshu Flower <tflower@redhat.com>

---------

Signed-off-by: Tesshu Flower <tflower@redhat.com>
2026-06-15 01:30:48 +00:00
391ae86bff split debug controller as standalone service with proper validation (#1461)
* feat(placement): split debug controller as standalone service with proper validation

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

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

* feat(placement): make placement service conditional on PlacementDebugServer feature gate

Make placement debug service deployment conditional based on
PlacementDebugServer feature gate to allow users to control
whether to expose the debug endpoint.

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

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

---------

Signed-off-by: Qing Hao <qhao@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-04-03 02:40:24 +00:00
7f4d432638 improve event recording logic and test maintainability (#1376)
🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Qing Hao <qhao@redhat.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 02:15:46 +00:00
c516beffa6 Add addon conversion webhook for v1alpha1/v1beta1 API migration (#1289)
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 QiuandGitHub 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
Qing HaoandGitHub 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 HaoandGitHub df87f528d7 add cost budget, runtime cost estimator and metrics (#964)
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 HaoandGitHub f4b6dcb159 select clusters with cel selector (#693)
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 KurmiandGitHub 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 ZhuandGitHub 468fdc0476 Exclude terminating clusters from Placementdecision (#480)
Signed-off-by: zhujian <jiazhu@redhat.com>
2024-05-29 01:45:08 +00:00
Jian QiuandGitHub 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 QiuandGitHub 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 QiuandGitHub 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 QiuandGitHub 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 HaoandGitHub 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 ChauhanandGitHub 36e389cc07 adding contextual logging in placement component (#254)
Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>
2023-08-24 21:19:17 -04:00
Qing HaoandGitHub 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
Qing HaoandGitHub 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 QiuandGitHub 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 HaoandGitHub 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 HaoandGitHub 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 HaoandGitHub de2b7d35be generalize cluster selector method (#204)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2023-06-29 15:11:56 +02:00
Jian QiuandGitHub 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 ZhuandGitHub 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 ZhuandGitHub 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 YangandGitHub 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 QiuandGitHub 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
xuezhaojunandGitHub ad38b9465f Relocate pkgs. (#146)
Signed-off-by: xuezhaojun <zxue@redhat.com>
2023-05-29 07:20:55 -04:00