From 2ef8808a2bf778ebd20d6fc276469744b02bd151 Mon Sep 17 00:00:00 2001 From: Florian Bacher Date: Thu, 11 Nov 2021 12:37:19 +0100 Subject: [PATCH] chore(shipyard-controller): Do not interpret absence of configurationChange property as an error (#5979) Signed-off-by: Florian Bacher --- shipyard-controller/common/keptn_helpers.go | 6 ++--- .../common/keptn_helpers_test.go | 25 +++++++------------ .../db/mongodb_project_mv_repo.go | 5 +--- .../handler/sequence_migrator.go | 5 +--- .../handler/sequencehooks/sequencestate.go | 6 ++--- 5 files changed, 16 insertions(+), 31 deletions(-) diff --git a/shipyard-controller/common/keptn_helpers.go b/shipyard-controller/common/keptn_helpers.go index f1a4342cdb..d05b50e3a9 100644 --- a/shipyard-controller/common/keptn_helpers.go +++ b/shipyard-controller/common/keptn_helpers.go @@ -182,9 +182,9 @@ func CreateEventWithPayload(keptnContext, triggeredID, eventType string, payload return event } -func ExtractImageOfDeploymentEvent(deploymentTriggeredEventData keptnv2.DeploymentTriggeredEventData) (string, error) { +func ExtractImageOfDeploymentEvent(deploymentTriggeredEventData keptnv2.DeploymentTriggeredEventData) string { if imageValue, ok := deploymentTriggeredEventData.ConfigurationChange.Values["image"].(string); ok { - return imageValue, nil + return imageValue } - return "", errors.New("could not extract image name of event: could not find property configurationChange.Values['image'] of type string") + return "" } diff --git a/shipyard-controller/common/keptn_helpers_test.go b/shipyard-controller/common/keptn_helpers_test.go index d2d5797955..eea1e9e870 100644 --- a/shipyard-controller/common/keptn_helpers_test.go +++ b/shipyard-controller/common/keptn_helpers_test.go @@ -3,6 +3,7 @@ package common import ( keptnv2 "github.com/keptn/go-utils/pkg/lib/v0_2_0" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "os" "testing" ) @@ -85,10 +86,9 @@ func TestExtractImageOfDeploymentEvent(t *testing.T) { eventData keptnv2.DeploymentTriggeredEventData } tests := []struct { - name string - args args - want string - wantErr bool + name string + args args + want string }{ { name: "extract image property from correctly structured event", @@ -101,8 +101,7 @@ func TestExtractImageOfDeploymentEvent(t *testing.T) { }, }, }, - want: "my-image", - wantErr: false, + want: "my-image", }, { name: "image property has different type than expected", @@ -118,20 +117,14 @@ func TestExtractImageOfDeploymentEvent(t *testing.T) { }, }, }, - want: "", - wantErr: true, + want: "", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got, err := ExtractImageOfDeploymentEvent(tt.args.eventData) - if (err != nil) != tt.wantErr { - t.Errorf("ExtractImageOfDeploymentEvent() error = %v, wantErr %v", err, tt.wantErr) - return - } - if got != tt.want { - t.Errorf("ExtractImageOfDeploymentEvent() got = %v, want %v", got, tt.want) - } + got := ExtractImageOfDeploymentEvent(tt.args.eventData) + + require.Equal(t, tt.want, got) }) } } diff --git a/shipyard-controller/db/mongodb_project_mv_repo.go b/shipyard-controller/db/mongodb_project_mv_repo.go index d185314e51..85f89e7e1d 100644 --- a/shipyard-controller/db/mongodb_project_mv_repo.go +++ b/shipyard-controller/db/mongodb_project_mv_repo.go @@ -493,10 +493,7 @@ func (mv *MongoDBProjectMVRepo) UpdateEventOfService(e models.Event) error { return errors.New("unable to decode deployment.triggered event data: " + err.Error()) } - deployedImage, err := common.ExtractImageOfDeploymentEvent(*triggeredData) - if err != nil { - return fmt.Errorf("could not determine deployed image: %s", err.Error()) - } + deployedImage := common.ExtractImageOfDeploymentEvent(*triggeredData) service.DeployedImage = deployedImage } return nil diff --git a/shipyard-controller/handler/sequence_migrator.go b/shipyard-controller/handler/sequence_migrator.go index 0d8f1aae49..1c1446a5b6 100644 --- a/shipyard-controller/handler/sequence_migrator.go +++ b/shipyard-controller/handler/sequence_migrator.go @@ -261,10 +261,7 @@ func processTaskEventTaskEvent(scope models.EventScope, event models.Event, stag if err := keptnv2.Decode(event.Data, deploymentTriggeredEventData); err != nil { return nil, fmt.Errorf("could not decode deployment.triggered event data: %s", err.Error()) } - deployedImage, err := common.ExtractImageOfDeploymentEvent(*deploymentTriggeredEventData) - if err != nil { - return nil, fmt.Errorf("could not determine deployed image: %s", err.Error()) - } + deployedImage := common.ExtractImageOfDeploymentEvent(*deploymentTriggeredEventData) stageState.Image = deployedImage } diff --git a/shipyard-controller/handler/sequencehooks/sequencestate.go b/shipyard-controller/handler/sequencehooks/sequencestate.go index 44e34df66f..11564edba7 100644 --- a/shipyard-controller/handler/sequencehooks/sequencestate.go +++ b/shipyard-controller/handler/sequencehooks/sequencestate.go @@ -259,10 +259,8 @@ func (smv *SequenceStateMaterializedView) updateImageOfSequence(event models.Eve return fmt.Errorf("could not decode deployment.triggered event data: %s", err.Error()) } - deployedImage, err := common.ExtractImageOfDeploymentEvent(*deploymentTriggeredEventData) - if err != nil { - return fmt.Errorf("could not determine deployed image: %s", err.Error()) - } + deployedImage := common.ExtractImageOfDeploymentEvent(*deploymentTriggeredEventData) + eventScope, err := models.NewEventScope(event) if err != nil { return fmt.Errorf("could not determine event scope: %s", err.Error())