From 63e6d2ca4ffcb7865cd9c15b08627343f558b221 Mon Sep 17 00:00:00 2001 From: "enshi.wzh" Date: Thu, 14 Dec 2023 18:10:34 +0800 Subject: [PATCH] resume progress --- .DS_Store | Bin 6148 -> 6148 bytes certs/csr_details.txt | 4 ++-- pkg/constants/types.go | 1 + .../changedefenseexecution_controller.go | 16 ++++++++++++++++ .../prometheus/object_series_registry.go | 3 +-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.DS_Store b/.DS_Store index 9c046f747f5649ce6892664f266134ba9631af54..87e09998a99b9d956957517b23b2330396eb7f28 100644 GIT binary patch delta 128 zcmZoMXffEJ%4B#dsURn_xWvHVIwKP^3o9Et2L~4i7cW;+{&uzn%cTq3}C>>2%#DHp)`z|y;+9&HOs^X Koz3hVfB6BXxE}%l delta 169 zcmZoMXffEJ%H;MfsURn_xWvHV1|t(Q3o9Et2PYRdCpRBAXKZjretB?7Vo7PSQ({rP zfJ|^^N@`MKQFvxbNk&L&o@-8OS!$ktkxybt>f|scPqAo_hJeJ944@(oWrt)11`wFM xkV(;yLsH!>D6X`rZ`SN3OP4J_d;~1Tz{m)p83ds;j5@mc1Ji4k&Fmb1`2lf?E-(N9 diff --git a/certs/csr_details.txt b/certs/csr_details.txt index 9dde294..d285c3c 100644 --- a/certs/csr_details.txt +++ b/certs/csr_details.txt @@ -9,8 +9,8 @@ distinguished_name = dn C=CN ST=Hangzhou L=Hangzhou -O=Alibaba -OU=Alibaba Cloud +O=TraasStack +OU=Alipay CN=altershield [ req_ext ] diff --git a/pkg/constants/types.go b/pkg/constants/types.go index 31c94f2..ed0f978 100644 --- a/pkg/constants/types.go +++ b/pkg/constants/types.go @@ -5,6 +5,7 @@ const ( ) const ( + LabelContinue = "altershield.io/continue" LabelChangeDefense = "altershield.io/change-defense" LabelCurrentExecutionID = "altershield.io/current-execution-id" ) diff --git a/pkg/controllers/changedefenseexecution_controller.go b/pkg/controllers/changedefenseexecution_controller.go index cfa5002..8b678d9 100644 --- a/pkg/controllers/changedefenseexecution_controller.go +++ b/pkg/controllers/changedefenseexecution_controller.go @@ -21,6 +21,7 @@ import ( "fmt" v1alpha1 "github.com/traas-stack/altershield-operator/apis/app.ops.cloud.alipay.com/v1alpha1" ac "github.com/traas-stack/altershield-operator/pkg/altershield/client" + "github.com/traas-stack/altershield-operator/pkg/constants" "github.com/traas-stack/altershield-operator/pkg/types" "github.com/traas-stack/altershield-operator/pkg/utils" apps "k8s.io/api/apps/v1" @@ -34,6 +35,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/source" + "strconv" "time" ) @@ -147,6 +149,12 @@ func (r *ChangeDefenseExecutionReconciler) processInitial(changeDefenseExec *v1a currentBatch := newStatus.DefenseStatus.CurrentBatch steps := changeDefenseExec.Spec.DefenseStrategy.Workload.Steps + // label target object to resume + if err := r.resumeProgress(info.Obj); err != nil { + klog.Errorf("failed to resume change progress: %v", err) + return ctrl.Result{Requeue: true}, err + } + request := ac.NewSubmitChangeExecBatchStartNotifyRequest(changeDefenseExec.Spec.ID, currentBatch, len(steps), info) response, err := r.AsClient.SubmitChangeExecBatchStartNotify(request) if err != nil { @@ -159,6 +167,14 @@ func (r *ChangeDefenseExecutionReconciler) processInitial(changeDefenseExec *v1a return ctrl.Result{}, nil } +func (r *ChangeDefenseExecutionReconciler) resumeProgress(in client.Object) error { + if in.GetLabels() == nil { + in.SetLabels(make(map[string]string)) + } + in.GetLabels()[constants.LabelContinue] = strconv.FormatInt(time.Now().UnixMilli(), 10) + return r.Update(context.TODO(), in) +} + func (r *ChangeDefenseExecutionReconciler) processProgressing(changeDefenseExec *v1alpha1.ChangeDefenseExecution, newStatus *v1alpha1.ChangeDefenseExecutionStatus, workloadInfo *types.WorkloadInfo) (ctrl.Result, error) { currentBatch := newStatus.DefenseStatus.CurrentBatch diff --git a/pkg/metric/provider/prometheus/object_series_registry.go b/pkg/metric/provider/prometheus/object_series_registry.go index 312261a..3819457 100644 --- a/pkg/metric/provider/prometheus/object_series_registry.go +++ b/pkg/metric/provider/prometheus/object_series_registry.go @@ -19,7 +19,6 @@ package prometheus import ( "fmt" - "k8s.io/klog/v2" "sync" apimeta "k8s.io/apimachinery/pkg/api/meta" @@ -80,7 +79,7 @@ func (r *objectSeriesRegistry) SetSeries(newSeriesSlices [][]promadapterclient.S for i, newSeries := range newSeriesSlices { namer := namers[i] addedSeries := make(map[string]struct{}) - for index, series := range newSeries { + for _, series := range newSeries { if _, ok := addedSeries[series.Name]; ok { continue }