Skip to content

Commit 57c48c1

Browse files
authored
Cleanup unnecessary methods and files for k8s plugin (#5675)
* Replace old main function Signed-off-by: Yoshiki Fujikane <[email protected]> * Replace old applymanifests Signed-off-by: Yoshiki Fujikane <[email protected]> * Replace old determineVersions Signed-off-by: Yoshiki Fujikane <[email protected]> * Replace old buildPipelineStages Signed-off-by: Yoshiki Fujikane <[email protected]> * Replace old buildQuickSyncPipeline Signed-off-by: Yoshiki Fujikane <[email protected]> * Remove sync.go and rollback.go Signed-off-by: Yoshiki Fujikane <[email protected]> * Remove server_test.go Signed-off-by: Yoshiki Fujikane <[email protected]> * Replace old determineStrategy Signed-off-by: Yoshiki Fujikane <[email protected]> * Remove DeploymentService Signed-off-by: Yoshiki Fujikane <[email protected]> --------- Signed-off-by: Yoshiki Fujikane <[email protected]>
1 parent 317a7c9 commit 57c48c1

15 files changed

+133
-1790
lines changed

pkg/app/pipedv1/plugin/kubernetes/deployment/apply.go

+1-18
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ package deployment
1717
import (
1818
"context"
1919
"errors"
20-
"time"
2120

2221
"github.com/pipe-cd/pipecd/pkg/app/pipedv1/plugin/kubernetes/provider"
23-
"github.com/pipe-cd/pipecd/pkg/plugin/logpersister"
2422
"github.com/pipe-cd/pipecd/pkg/plugin/sdk"
2523
)
2624

@@ -35,8 +33,7 @@ type applier interface {
3533
ForceReplaceManifest(ctx context.Context, manifest provider.Manifest) error
3634
}
3735

38-
// TODO: rewrite applyManifests with sdk.StageLogPersister
39-
func applyManifests(ctx context.Context, applier applier, manifests []provider.Manifest, namespace string, lp logpersister.StageLogPersister) error {
36+
func applyManifests(ctx context.Context, applier applier, manifests []provider.Manifest, namespace string, lp sdk.StageLogPersister) error {
4037
if namespace == "" {
4138
lp.Infof("Start applying %d manifests", len(manifests))
4239
} else {
@@ -91,17 +88,3 @@ func applyManifests(ctx context.Context, applier applier, manifests []provider.M
9188
lp.Successf("Successfully applied %d manifests", len(manifests))
9289
return nil
9390
}
94-
95-
// TODO: remove applyManifestsSDK and originalLogPersister after rewriting applyManifests
96-
func applyManifestsSDK(ctx context.Context, applier applier, manifests []provider.Manifest, namespace string, lp sdk.StageLogPersister) error {
97-
originalLogPersister := &originalLogPersister{lp}
98-
return applyManifests(ctx, applier, manifests, namespace, originalLogPersister)
99-
}
100-
101-
type originalLogPersister struct {
102-
sdk.StageLogPersister
103-
}
104-
105-
func (lp *originalLogPersister) Complete(timeout time.Duration) error {
106-
return nil
107-
}

pkg/app/pipedv1/plugin/kubernetes/deployment/apply_test.go

+4-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"errors"
2020
"fmt"
2121
"testing"
22-
"time"
2322

2423
"github.com/pipe-cd/pipecd/pkg/app/pipedv1/plugin/kubernetes/provider"
2524
)
@@ -58,11 +57,6 @@ func (m *mockStageLogPersister) Errorf(format string, a ...interface{}) {
5857
m.logs = append(m.logs, fmt.Sprintf(format, a...))
5958
}
6059

61-
func (m *mockStageLogPersister) Complete(timeout time.Duration) error {
62-
m.completed = true
63-
return nil
64-
}
65-
6660
type mockApplier struct {
6761
applyErr error
6862
forceReplaceErr error
@@ -86,7 +80,7 @@ func (m *mockApplier) CreateManifest(ctx context.Context, manifest provider.Mani
8680
return m.createErr
8781
}
8882

89-
func TestApplyManifests(t *testing.T) {
83+
func Test_applyManifests(t *testing.T) {
9084
tests := []struct {
9185
name string
9286
manifests []provider.Manifest
@@ -280,8 +274,10 @@ data:
280274

281275
for _, tt := range tests {
282276
t.Run(tt.name, func(t *testing.T) {
277+
t.Parallel()
278+
283279
lp := new(mockStageLogPersister)
284-
err := applyManifests(context.Background(), tt.applier, tt.manifests, tt.namespace, lp)
280+
err := applyManifests(t.Context(), tt.applier, tt.manifests, tt.namespace, lp)
285281
if (err != nil) != tt.wantErr {
286282
t.Errorf("applyManifests() error = %v, wantErr %v", err, tt.wantErr)
287283
}

pkg/app/pipedv1/plugin/kubernetes/deployment/determine.go

+19-54
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323

2424
"github.com/pipe-cd/pipecd/pkg/app/pipedv1/plugin/kubernetes/config"
2525
"github.com/pipe-cd/pipecd/pkg/app/pipedv1/plugin/kubernetes/provider"
26-
"github.com/pipe-cd/pipecd/pkg/model"
2726
"github.com/pipe-cd/pipecd/pkg/plugin/diff"
2827
"github.com/pipe-cd/pipecd/pkg/plugin/sdk"
2928
)
@@ -48,41 +47,22 @@ func parseContainerImage(image string) (img containerImage) {
4847

4948
// determineVersions decides artifact versions of an application.
5049
// It finds all container images that are being specified in the workload manifests then returns their names and tags.
51-
func determineVersions(manifests []provider.Manifest) []*model.ArtifactVersion {
50+
func determineVersions(manifests []provider.Manifest) []sdk.ArtifactVersion {
5251
imageMap := map[string]struct{}{}
5352
for _, m := range manifests {
5453
for _, c := range provider.FindContainerImages(m) {
5554
imageMap[c] = struct{}{}
5655
}
5756
}
5857

59-
versions := make([]*model.ArtifactVersion, 0, len(imageMap))
58+
versions := make([]sdk.ArtifactVersion, 0, len(imageMap))
6059
for i := range imageMap {
6160
image := parseContainerImage(i)
62-
versions = append(versions, &model.ArtifactVersion{
63-
Kind: model.ArtifactVersion_CONTAINER_IMAGE,
64-
Version: image.tag,
65-
Name: image.name,
66-
Url: i,
67-
})
68-
}
69-
70-
return versions
71-
}
72-
73-
// determineVersionsSDK decides artifact versions of an application.
74-
// It finds all container images that are being specified in the workload manifests then returns their names and tags.
75-
// TODO: rewrite this function to determineVersions after the current determineVersions is removed.
76-
func determineVersionsSDK(manifests []provider.Manifest) []sdk.ArtifactVersion {
77-
values := determineVersions(manifests)
78-
79-
versions := make([]sdk.ArtifactVersion, 0, len(values))
80-
for _, v := range values {
8161
versions = append(versions, sdk.ArtifactVersion{
8262
Kind: sdk.ArtifactKindContainerImage,
83-
Version: v.Version,
84-
Name: v.Name,
85-
URL: v.Url,
63+
Version: image.tag,
64+
Name: image.name,
65+
URL: i,
8666
})
8767
}
8868

@@ -176,16 +156,17 @@ func checkReplicasChange(ns diff.Nodes) (before, after string, changed bool) {
176156
return node.StringX(), node.StringY(), true
177157
}
178158

159+
// determineStrategy decides the sync strategy and summary message based on the given manifests.
179160
// First up, checks to see if the workload's `spec.template` has been changed,
180161
// and then checks if the configmap/secret's data.
181-
func determineStrategy(olds, news []provider.Manifest, workloadRefs []config.K8sResourceReference, logger *zap.Logger) (strategy model.SyncStrategy, summary string) {
162+
func determineStrategy(olds, news []provider.Manifest, workloadRefs []config.K8sResourceReference, logger *zap.Logger) (strategy sdk.SyncStrategy, summary string) {
182163
oldWorkloads := findWorkloadManifests(olds, workloadRefs)
183164
if len(oldWorkloads) == 0 {
184-
return model.SyncStrategy_QUICK_SYNC, "Quick sync by applying all manifests because it was unable to find the currently running workloads"
165+
return sdk.SyncStrategyQuickSync, "Quick sync by applying all manifests because it was unable to find the currently running workloads"
185166
}
186167
newWorkloads := findWorkloadManifests(news, workloadRefs)
187168
if len(newWorkloads) == 0 {
188-
return model.SyncStrategy_QUICK_SYNC, "Quick sync by applying all manifests because it was unable to find workloads in the new manifests"
169+
return sdk.SyncStrategyQuickSync, "Quick sync by applying all manifests because it was unable to find workloads in the new manifests"
189170
}
190171

191172
workloads := provider.FindSameManifests(oldWorkloads, newWorkloads)
@@ -196,17 +177,17 @@ func determineStrategy(olds, news []provider.Manifest, workloadRefs []config.K8s
196177
// do progressive deployment with the specified pipeline.
197178
diffResult, err := provider.Diff(w.Old, w.New, logger)
198179
if err != nil {
199-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively due to an error while calculating the diff (%v)", err)
180+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively due to an error while calculating the diff (%v)", err)
200181
}
201182
diffNodes := diffResult.Nodes()
202183
diffs[w.New.Key()] = diffNodes
203184

204185
templateDiffs := diffNodes.FindByPrefix("spec.template")
205186
if len(templateDiffs) > 0 {
206187
if msg, changed := checkImageChange(templateDiffs); changed {
207-
return model.SyncStrategy_PIPELINE, msg
188+
return sdk.SyncStrategyPipelineSync, msg
208189
}
209-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively because pod template of workload %s was changed", w.New.Name())
190+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively because pod template of workload %s was changed", w.New.Name())
210191
}
211192
}
212193

@@ -215,22 +196,22 @@ func determineStrategy(olds, news []provider.Manifest, workloadRefs []config.K8s
215196
oldConfigs := provider.FindConfigsAndSecrets(olds)
216197
newConfigs := provider.FindConfigsAndSecrets(news)
217198
if len(oldConfigs) > len(newConfigs) {
218-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively because %d configmap/secret deleted", len(oldConfigs)-len(newConfigs))
199+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively because %d configmap/secret deleted", len(oldConfigs)-len(newConfigs))
219200
}
220201
if len(oldConfigs) < len(newConfigs) {
221-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively because new %d configmap/secret added", len(newConfigs)-len(oldConfigs))
202+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively because new %d configmap/secret added", len(newConfigs)-len(oldConfigs))
222203
}
223204
for k, oc := range oldConfigs {
224205
nc, ok := newConfigs[k]
225206
if !ok {
226-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively because %s %s was deleted", oc.Kind(), oc.Name())
207+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively because %s %s was deleted", oc.Kind(), oc.Name())
227208
}
228209
result, err := provider.Diff(oc, nc, logger)
229210
if err != nil {
230-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively due to an error while calculating the diff (%v)", err)
211+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively due to an error while calculating the diff (%v)", err)
231212
}
232213
if result.HasDiff() {
233-
return model.SyncStrategy_PIPELINE, fmt.Sprintf("Sync progressively because %s %s was updated", oc.Kind(), oc.Name())
214+
return sdk.SyncStrategyPipelineSync, fmt.Sprintf("Sync progressively because %s %s was updated", oc.Kind(), oc.Name())
234215
}
235216
}
236217

@@ -244,24 +225,8 @@ func determineStrategy(olds, news []provider.Manifest, workloadRefs []config.K8s
244225
}
245226
if len(scales) > 0 {
246227
slices.Sort(scales)
247-
return model.SyncStrategy_QUICK_SYNC, fmt.Sprintf("Quick sync to scale %s", strings.Join(scales, ", "))
248-
}
249-
250-
return model.SyncStrategy_QUICK_SYNC, "Quick sync by applying all manifests"
251-
}
252-
253-
// determineStrategySDK decides the sync strategy and summary message based on the given manifests.
254-
// TODO: rewrite this function to determineStrategy after the current determineStrategy is removed.
255-
func determineStrategySDK(olds, news []provider.Manifest, workloadRefs []config.K8sResourceReference, logger *zap.Logger) (strategy sdk.SyncStrategy, summary string) {
256-
mStrategy, summary := determineStrategy(olds, news, workloadRefs, logger)
257-
258-
var s sdk.SyncStrategy
259-
switch mStrategy {
260-
case model.SyncStrategy_QUICK_SYNC:
261-
s = sdk.SyncStrategyQuickSync
262-
case model.SyncStrategy_PIPELINE:
263-
s = sdk.SyncStrategyQuickSync
228+
return sdk.SyncStrategyQuickSync, fmt.Sprintf("Quick sync to scale %s", strings.Join(scales, ", "))
264229
}
265230

266-
return s, summary
231+
return sdk.SyncStrategyQuickSync, "Quick sync by applying all manifests"
267232
}

0 commit comments

Comments
 (0)