Commit Graph

91 Commits

Author SHA1 Message Date
zhihao jian 0c2faf9673 combine patchExtraStatus and syncDeploymentStatus
Signed-off-by: zhihao jian <zhihao.jian@shopee.com>
2025-07-18 17:02:17 +08:00
zhihao jian 20bc6e9c74 use runtimeClient to operate deployment uniformly
Signed-off-by: zhihao jian <zhihao.jian@shopee.com>

remove dupl SetNewReplicaSetAnnotations

use UnsafeDisableDeepCopy to optimize performance

use optimisticLock for patch

fix patch extra status always failed

fix unit test
2025-07-17 16:45:02 +08:00
zhihao jian 51cebc1d44 change workload controller to use patch instead of update
Signed-off-by: zhihao jian <zhihao.jian@shopee.com>

fix test

use MergeFrom func to patch data

get latest rs

fix unit test

fix lint

do not get latest status before patch
2025-07-14 17:00:34 +08:00
Ai Ranthem deaa5f38b5
Fix: Webhook will take over Deployment even Rollout CR doesn't exist (#278)
Signed-off-by: AiRanthem <zhongtianyun.zty@alibaba-inc.com>
2025-06-20 15:24:23 +08:00
handagou 2aa692dc2f
Fix order of object in batchrelease event handler (#265)
Signed-off-by: z760087139 <z760087139@gmail.com>
2025-04-10 16:24:51 +08:00
Ai Ranthem 744430356d
Fix: blue-green batch-id e2e fails sometime (#261)
* Fix: blue-green batch-id e2e fails sometime

Signed-off-by: AiRanthem <zhongtianyun.zty@alibaba-inc.com>
2025-04-01 13:20:48 +08:00
PersistentJZH 6094e966ac
supoort patch batch id in cacary release (#251)
Signed-off-by: zhihao jian <zhihao.jian@shopee.com>
Co-authored-by: zhihao jian <zhihao.jian@shopee.com>
2025-04-01 10:09:45 +08:00
Ai Ranthem 3e66fa1ad8
Feature: support batch-id labeling for bluegreen strategy (#250)
* Feature: support batch-id labeling for blue-green strategy

---------

Signed-off-by: AiRanthem <zhongtianyun.zty@alibaba-inc.com>
2025-03-20 19:26:46 +08:00
zhihao jian faa2d03338 fix patch rollout batch id
Signed-off-by: zhihao jian <zhihao.jian@shopee.com>

add rollback prefix to identify in rollback pods

fix patch rollout id

fix test

fix

add prefix when rollout id is empty

fix test
2025-01-03 09:55:23 +08:00
yunbo 5bbbc046b0 fix the pod-recreate issue in partition style
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
2024-12-27 10:00:08 +08:00
myname4423 efbd8ba8f9
support bluegreen release: support workload of deployment and cloneSet (#238)
* support bluegreen release: Deployment and CloneSet

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* support bluegreen release: webhook update

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* add unit test & split workload mutating webhook

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* fix a bug caused by previous merged PR

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* improve some log information

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* fix kruise version problem

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

---------

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-12-24 19:38:52 +08:00
Jiajing LU 056c77dbd2
Patch canary service selector from PodTemplateMetadata (#243)
* patch canary service selector

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* check null

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix nil check

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* remove len check

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

---------

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
2024-12-09 19:25:49 +08:00
yunbo 3f66aae0ae support bluegreen release: release logic
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
2024-11-13 11:26:44 +08:00
Ai Ranthem 09e01cb95b
upgrade: gateway-api(0.5.1=>0.7.1), along with controller-runtime(0.12.1=>0.14.6) (#237)
Signed-off-by: AiRanthem <zhongtianyun.zty@alibaba-inc.com>
2024-11-13 09:38:49 +08:00
Jiajing LU 6854752435
Add composite provider to support multiple network providers (#224)
* add composite provider

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix nginx lua script and add E2E

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix test case

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* revert image

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix indent

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* follow latest interface change

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* move e2e to v1beta1 file and add workflow

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

---------

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
2024-11-01 11:28:58 +08:00
ls-2018 f0363f28c0
fix: lua encode structural error (#209)
Signed-off-by: acejilam <acejilam@gmail.com>
2024-09-06 19:38:09 +08:00
myname4423 d2613132aa
improve finalising logic for canary release (#229)
improve finalising logic for canary release-2

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-09-04 17:29:58 +08:00
myname4423 5378dc2cf7
refactor the grace system (#226)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-08-13 15:17:38 +08:00
myname4423 78273c2998
add restriction for traffic configuration of partition-style step (#225)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-08-02 13:42:28 +08:00
myname4423 16a3f0acc1
update runCanary traffic step for special cases (#219)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-07-30 10:30:26 +08:00
Jiajing LU 6fae7085e5
* inject headerModifier to the luaData (#223)
* fix lua script and test case
* use ptr instead of struct
* add requestHeaderModifier to testcase debugging toolkit

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
2024-07-22 10:47:18 +08:00
myname4423 e7652cbc7c
traffic: Refactor continous logic (#222)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-07-15 11:18:11 +08:00
myname4423 db761a979c
add 2 fields to status to support showing result of kubectl get (#220)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-06-25 14:58:53 +08:00
myname4423 aa28f4e12e
Allow to jump between steps (#218)
* allow jump between steps

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

allow jump between steps

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

allow jump among steps

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

safte index check

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

add e2e test for step jump

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

amend: style-agonstic reference for webhook

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

improve existing e2e logic to avoid unexpected behaviour

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

jump: nextStep Index default value from 0 to -1

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

after rebase

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* jump: fix out of range

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

---------

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-06-25 13:21:54 +08:00
myname4423 1e8af4a4c1
update api for future bluegreen (#214)
add status conversion



nextStepIndex default value from 0 to -1



restore the enableExtra field in BR

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-06-12 13:27:41 +08:00
Jiajing LU 62794dc883
Support Path and QueryParams in http route matches (#204)
* support queryparams for gateway api

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* support mse

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* support path and queryParams

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix lint

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix testcase

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix manifests

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* do not provide default value for path

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* Allow Not generating Canary Service && Fixed a bug caused by NOT considering case-insensitivity. (#200)

* Fixed a bug caused by NOT considering case-insensitivity.

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* add DisableGenerateCanaryService for CanaryStrategy

amend1: update crd yaml

amend2: add DisableGenerateCanaryService for v1alpha1

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

---------

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* revert test images

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* polish comments

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* add gateway api tests

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix MSE cases

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* update golang lint ci

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* regenerate manifests

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* remove generic usage

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* update istio lua script

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* update v1alpha1 in e2e to v1beta1

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix cases

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* refactor istio case to include queryParams and path

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix cloneset issue

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* fix typo

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

* revert images

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>

---------

Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: myname4423 <57184070+myname4423@users.noreply.github.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-06-12 13:21:42 +08:00
pnr 07c1731e8a
fix: don't check for strategy when finalize (#198)
Co-authored-by: nwaiyatharee <nattadej.waiyatharee@agoda.com>
2024-04-02 13:45:36 +08:00
myname4423 25b053b8be
update unit test for PR #200 (#206)
Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-04-02 10:34:36 +08:00
myname4423 0ff23f6636
Allow Not generating Canary Service && Fixed a bug caused by NOT considering case-insensitivity. (#200)
* Fixed a bug caused by NOT considering case-insensitivity.

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

* add DisableGenerateCanaryService for CanaryStrategy

amend1: update crd yaml

amend2: add DisableGenerateCanaryService for v1alpha1

Signed-off-by: yunbo <yunbo10124scut@gmail.com>

---------

Signed-off-by: yunbo <yunbo10124scut@gmail.com>
Co-authored-by: yunbo <yunbo10124scut@gmail.com>
2024-03-12 16:37:29 +08:00
Wei-Xiang Sun 678d4d2b34
refresh observed rollout-id for BatchRelease (#193)
Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
Co-authored-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
2023-12-27 11:16:07 +08:00
zhengjr9 1e84129ff1
bugfix: Filter rs that are not part of the current Deployement (#191)
Signed-off-by: zhengjr <zhengjiarui_pro@163.com>
2023-12-26 17:54:07 +08:00
berg 83eedb354e
rollout v0.5.0 changelog (#190)
* rollout v0.5.0 changelog

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* modify rollout types description

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* limit secret & configmaps namespace rbac

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* modify rollout v0.5.0 changelog

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

---------

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-12-21 15:23:02 +08:00
Wei-Xiang Sun 862040870d
set default advanced deployment strategy (#176)
Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
Co-authored-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
2023-12-19 13:23:00 +08:00
Wei-Xiang Sun e19a89c16e
wait grace period seconds after pod creation/upgrade (#185)
Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
Co-authored-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
2023-12-19 11:22:00 +08:00
berg bc580a3ae7
fix gateway print log panic (#167)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-12-19 11:20:00 +08:00
berg 897b42292c
dump to v1beta1 gatewayapis (#189)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-12-18 15:30:00 +08:00
berg 75b1b90dc9
webhook validate v1beta1 rollout (#188)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-12-18 13:14:00 +08:00
berg 9dcf3659d2
new v1beta1 apis (#184)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-12-04 14:56:47 +08:00
berg d41b1fa7d7
rollout v1beta1 apis (#182)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-11-03 13:38:55 +08:00
Kuromesi a9a9430a9a
add e2e tests for custom network provider (#177)
Signed-off-by: Kuromesi <blackfacepan@163.com>
2023-10-27 14:16:48 +08:00
berg 23f1e97f4e
add changelog v0.4.0 (#160)
* add changelog v0.4.0

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* optimize webhook patchResponse function

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* modify makefile install helm

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* modify github workflow golang version 1.19

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* modify makefile kustomize version v4.5.5

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

* go format

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>

---------

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-10-27 11:56:48 +08:00
Kuromesi 57f9853f23
add support for custom network provider (part A) (#172)
* add support for custom network providers

Signed-off-by: Kuromesi <blackfacepan@163.com>

* make some improvements

Signed-off-by: Kuromesi <blackfacepan@163.com>

* log format updates

Signed-off-by: Kuromesi <blackfacepan@163.com>

* make some logic changes

Signed-off-by: Kuromesi <blackfacepan@163.com>

* remove roll back

Signed-off-by: Kuromesi <blackfacepan@163.com>

* add annotation for lua.go

Signed-off-by: Kuromesi <blackfacepan@163.com>

* store configuration when ensure routes

Signed-off-by: Kuromesi <blackfacepan@163.com>

* store configuration when ensure routes

Signed-off-by: Kuromesi <blackfacepan@163.com>

* make some improvements

Signed-off-by: Kuromesi <blackfacepan@163.com>

* move TestLuaScript to custom_network_provider_test

Signed-off-by: Kuromesi <blackfacepan@163.com>

---------

Signed-off-by: Kuromesi <blackfacepan@163.com>
2023-09-25 13:39:20 +08:00
Kuromesi 76d33b830a
set nodePort of canary service to be 0 (#170)
Signed-off-by: Kuromesi <blackfacepan@163.com>
2023-08-29 13:29:56 +08:00
likakuli 657c6d8079
clean: update rollout status log info (#164)
Signed-off-by: likakuli <1154584512@qq.com>
2023-08-15 20:23:43 +08:00
berg 29862589aa
optimize webhook patchResponse function (#165)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-07-18 12:47:18 +08:00
Wei-Xiang Sun 72e1c0b936
Advanced deployment scale down old unhealthy pods firstly (#150)
* advanced deployment scale down old unhealthy pods firstly

Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>

* add e2e for advanced deployment scale down old unhealthy pod first

Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>

---------

Signed-off-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
Co-authored-by: mingzhou.swx <mingzhou.swx@alibaba-inc.com>
2023-07-12 17:52:13 +08:00
berg e99c529795
auto patch webhook objectSelector label on workload (#158)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-07-11 14:16:12 +08:00
berg bc014ea80d
rollout support patchPodTemplateMetadata (#157)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-07-10 10:46:10 +08:00
Kuromesi 88e4bb7679
disabled rollout (#155)
Signed-off-by: Kuromesi <blackfacepan@163.com>
2023-07-05 18:46:06 +08:00
berg 1d343d5a26
rollout trafficrouting support requestHeaderModifier (#156)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
2023-07-05 17:03:06 +08:00