Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Commit

Permalink
#1919 Correct spec version to v0.1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
agrimmer committed Jun 26, 2020
1 parent e1e2a18 commit dfc8ccb
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion remediation-service/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/gophercloud/gophercloud v0.9.0 // indirect
github.com/json-iterator/go v1.1.9 // indirect
github.com/kelseyhightower/envconfig v1.4.0
github.com/keptn/go-utils v0.6.3-0.20200626082025-f9d70007df67
github.com/keptn/go-utils v0.6.3-0.20200626150941-b642b0b7fb33
github.com/mitchellh/mapstructure v1.1.2
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
Expand Down
2 changes: 2 additions & 0 deletions remediation-service/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,8 @@ github.com/keptn/go-utils v0.6.3-0.20200617060337-e48e5452bfe9 h1:K36NQ1/DwTBU/3
github.com/keptn/go-utils v0.6.3-0.20200617060337-e48e5452bfe9/go.mod h1:hf2FU6JFuOzLP5rEAlA1/XnNS28pDZbVfxDESeQsq1g=
github.com/keptn/go-utils v0.6.3-0.20200626082025-f9d70007df67 h1:dPwC+U8wTf8JKXVj4J4IwudZbPmKi46FkmGnWfx3CC8=
github.com/keptn/go-utils v0.6.3-0.20200626082025-f9d70007df67/go.mod h1:hf2FU6JFuOzLP5rEAlA1/XnNS28pDZbVfxDESeQsq1g=
github.com/keptn/go-utils v0.6.3-0.20200626150941-b642b0b7fb33 h1:umo/7YHLHaTrBvnC7sdJuZvSEPvvoQP1ml5IGgD1fGA=
github.com/keptn/go-utils v0.6.3-0.20200626150941-b642b0b7fb33/go.mod h1:hf2FU6JFuOzLP5rEAlA1/XnNS28pDZbVfxDESeQsq1g=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
Expand Down
16 changes: 8 additions & 8 deletions remediation-service/handler/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"strings"
"time"

"github.com/keptn/go-utils/pkg/lib/v0_1_3"
"github.com/keptn/go-utils/pkg/lib/v0_1_4"

cloudevents "github.com/cloudevents/sdk-go"
"github.com/cloudevents/sdk-go/pkg/cloudevents/types"
Expand All @@ -26,7 +26,7 @@ import (
const remediationFileName = "remediation.yaml"
const configurationserviceconnection = "CONFIGURATION_SERVICE" //"localhost:6060" // "configuration-service:8080"
const datastoreConnection = "MONGODB_DATASTORE"
const remediationSpecVersion = "spec.keptn.sh/0.1.3"
const remediationSpecVersion = "spec.keptn.sh/0.1.4"

// Handler handles incoming Keptn events
type Handler interface {
Expand Down Expand Up @@ -117,7 +117,7 @@ type Remediation struct {
Keptn *keptn.Keptn
}

func (r *Remediation) getActionForProblemType(remediationData v0_1_3.Remediation, problemType string, index int) *v0_1_3.RemediationActionsOnOpen {
func (r *Remediation) getActionForProblemType(remediationData v0_1_4.Remediation, problemType string, index int) *v0_1_4.RemediationActionsOnOpen {
for _, remediation := range remediationData.Spec.Remediations {
if strings.HasPrefix(problemType, remediation.ProblemType) {
r.Keptn.Logger.Info("Found remediation for problem type " + remediation.ProblemType)
Expand Down Expand Up @@ -397,7 +397,7 @@ func (r *Remediation) sendRemediationFinishedEvent(status keptn.RemediationStatu
return nil
}

func (r *Remediation) getActionTriggeredEventData(problemDetails keptn.ProblemDetails, action *v0_1_3.RemediationActionsOnOpen) (keptn.ActionTriggeredEventData, error) {
func (r *Remediation) getActionTriggeredEventData(problemDetails keptn.ProblemDetails, action *v0_1_4.RemediationActionsOnOpen) (keptn.ActionTriggeredEventData, error) {
return keptn.ActionTriggeredEventData{
Project: r.Keptn.KeptnBase.Project,
Service: r.Keptn.KeptnBase.Service,
Expand Down Expand Up @@ -438,7 +438,7 @@ func (r *Remediation) sendActionTriggeredEvent(actionTriggeredEventData keptn.Ac
return nil
}

func (r *Remediation) sendRemediationStatusChangedEvent(action *v0_1_3.RemediationActionsOnOpen, actionIndex int) error {
func (r *Remediation) sendRemediationStatusChangedEvent(action *v0_1_4.RemediationActionsOnOpen, actionIndex int) error {

remediationStatusChangedEventData := &keptn.RemediationStatusChangedEventData{
Project: r.Keptn.KeptnBase.Project,
Expand Down Expand Up @@ -508,8 +508,8 @@ func (r *Remediation) getRemediationFile() (*configmodels.Resource, error) {
return resource, nil
}

func (r *Remediation) getRemediation(resource *configmodels.Resource) (*v0_1_3.Remediation, error) {
remediationData := &v0_1_3.Remediation{}
func (r *Remediation) getRemediation(resource *configmodels.Resource) (*v0_1_4.Remediation, error) {
remediationData := &v0_1_4.Remediation{}
err := yaml.Unmarshal([]byte(resource.ResourceContent), remediationData)
if err != nil {
msg := "could not parse remediation.yaml"
Expand All @@ -527,7 +527,7 @@ func (r *Remediation) getRemediation(resource *configmodels.Resource) (*v0_1_3.R
return remediationData, nil
}

func (r *Remediation) triggerAction(action *v0_1_3.RemediationActionsOnOpen, actionIndex int, problemDetails keptn.ProblemDetails) error {
func (r *Remediation) triggerAction(action *v0_1_4.RemediationActionsOnOpen, actionIndex int, problemDetails keptn.ProblemDetails) error {
err := r.sendRemediationStatusChangedEvent(action, actionIndex)
if err != nil {
msg := "could not send remediation.status.changed event"
Expand Down
10 changes: 5 additions & 5 deletions remediation-service/handler/problem_open_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const shipyardResource = `{
"resourceURI": "shipyard.yaml"
}`

const remediationYamlContent = `apiVersion: spec.keptn.sh/0.1.3
const remediationYamlContent = `apiVersion: spec.keptn.sh/0.1.4
kind: Remediation
metadata:
name: remediation-configuration
Expand All @@ -55,22 +55,22 @@ spec:
description: Escalate the problem`

const remediationYamlResourceWithValidRemediation = `{
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuMwpraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOiAKICAtIHByb2JsZW1UeXBlOiAiUmVzcG9uc2UgdGltZSBkZWdyYWRhdGlvbiIKICAgIGFjdGlvbnNPbk9wZW46CiAgICAtIG5hbWU6IFRvb2dsZSBmZWF0dXJlIGZsYWcKICAgICAgYWN0aW9uOiB0b2dnbGVmZWF0dXJlCiAgICAgIGRlc2NyaXB0aW9uOiBUb2dnbGUgZmVhdHVyZSBmbGFnIEVuYWJsZVByb21vdGlvbiBmcm9tIE9OIHRvIE9GRgogICAgICB2YWx1ZToKICAgICAgICBFbmFibGVQcm9tb3Rpb246IG9mZgogIC0gcHJvYmxlbVR5cGU6ICcqJwogICAgYWN0aW9uc09uT3BlbjoKICAgIC0gbmFtZToKICAgICAgYWN0aW9uOiBlc2NhbGF0ZQogICAgICBkZXNjcmlwdGlvbjogRXNjYWxhdGUgdGhlIHByb2JsZW0=",
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuNApraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOiAKICAtIHByb2JsZW1UeXBlOiAiUmVzcG9uc2UgdGltZSBkZWdyYWRhdGlvbiIKICAgIGFjdGlvbnNPbk9wZW46CiAgICAtIG5hbWU6IFRvb2dsZSBmZWF0dXJlIGZsYWcKICAgICAgYWN0aW9uOiB0b2dnbGVmZWF0dXJlCiAgICAgIGRlc2NyaXB0aW9uOiBUb2dnbGUgZmVhdHVyZSBmbGFnIEVuYWJsZVByb21vdGlvbiBmcm9tIE9OIHRvIE9GRgogICAgICB2YWx1ZToKICAgICAgICBFbmFibGVQcm9tb3Rpb246IG9mZgogIC0gcHJvYmxlbVR5cGU6ICcqJwogICAgYWN0aW9uc09uT3BlbjoKICAgIC0gbmFtZToKICAgICAgYWN0aW9uOiBlc2NhbGF0ZQogICAgICBkZXNjcmlwdGlvbjogRXNjYWxhdGUgdGhlIHByb2Js",
"resourceURI": "remediation.yaml"
}`

const remediationYamlResourceWithValidRemediationAndMultipleActions = `{
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuMwpraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOiAKICAtIHByb2JsZW1UeXBlOiAiUmVzcG9uc2UgdGltZSBkZWdyYWRhdGlvbiIKICAgIGFjdGlvbnNPbk9wZW46CiAgICAtIG5hbWU6IFRvb2dsZSBmZWF0dXJlIGZsYWcKICAgICAgYWN0aW9uOiB0b2dnbGVmZWF0dXJlCiAgICAgIGRlc2NyaXB0aW9uOiBUb2dnbGUgZmVhdHVyZSBmbGFnIEVuYWJsZVByb21vdGlvbiBmcm9tIE9OIHRvIE9GRgogICAgICB2YWx1ZToKICAgICAgICBFbmFibGVQcm9tb3Rpb246IG9mZgogICAgLSBuYW1lOiBteSBzZWNvbmQgYWN0aW9uCiAgICAgIGFjdGlvbjogZXNjYWxhdGUKICAgICAgZGVzY3JpcHRpb246IGVzY2FsYXRlIHRoZSBwcm9ibGVtCiAgLSBwcm9ibGVtVHlwZTogJyonCiAgICBhY3Rpb25zT25PcGVuOgogICAgLSBuYW1lOgogICAgICBhY3Rpb246IGVzY2FsYXRlCiAgICAgIGRlc2NyaXB0aW9uOiBFc2NhbGF0ZSB0aGUgcHJvYmxlbQ==",
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuNApraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOiAKICAtIHByb2JsZW1UeXBlOiAiUmVzcG9uc2UgdGltZSBkZWdyYWRhdGlvbiIKICAgIGFjdGlvbnNPbk9wZW46CiAgICAtIG5hbWU6IFRvb2dsZSBmZWF0dXJlIGZsYWcKICAgICAgYWN0aW9uOiB0b2dnbGVmZWF0dXJlCiAgICAgIGRlc2NyaXB0aW9uOiBUb2dnbGUgZmVhdHVyZSBmbGFnIEVuYWJsZVByb21vdGlvbiBmcm9tIE9OIHRvIE9GRgogICAgICB2YWx1ZToKICAgICAgICBFbmFibGVQcm9tb3Rpb246IG9mZgogICAgLSBuYW1lOiBteSBzZWNvbmQgYWN0aW9uCiAgICAgIGFjdGlvbjogZXNjYWxhdGUKICAgICAgZGVzY3JpcHRpb246IGVzY2FsYXRlIHRoZSBwcm9ibGVtCiAgLSBwcm9ibGVtVHlwZTogJyonCiAgICBhY3Rpb25zT25PcGVuOgogICAgLSBuYW1lOgogICAgICBhY3Rpb246IGVzY2FsYXRlCiAgICAgIGRlc2NyaXB0aW9uOiBFc2NhbGF0ZSB0aGUgcHJvYmxlbQ==",
"resourceURI": "remediation.yaml"
}`

const remediationYamlResourceWithInvalidSpecVersion = `{
"resourceContent": "a2luZDogUmVtZWRpYXRpb24KbWV0YWRhdGE6CiAgbmFtZTogcmVtZWRpYXRpb24tY29uZmlndXJhdGlvbgpzcGVjOgogIHJlbWVkaWF0aW9uczogCiAgLSBwcm9ibGVtVHlwZTogIlJlc3BvbnNlIHRpbWUgZGVncmFkYXRpb24iCiAgICBhY3Rpb25zT25PcGVuOgogICAgLSBuYW1lOiBUb29nbGUgZmVhdHVyZSBmbGFnCiAgICAgIGFjdGlvbjogdG9nZ2xlZmVhdHVyZQogICAgICBkZXNjcmlwdGlvbjogVG9nZ2xlIGZlYXR1cmUgZmxhZyBFbmFibGVQcm9tb3Rpb24gZnJvbSBPTiB0byBPRkYKICAgICAgdmFsdWU6CiAgICAgICAgRW5hYmxlUHJvbW90aW9uOiBvZmYKICAtIHByb2JsZW1UeXBlOiAnKicKICAgIGFjdGlvbnNPbk9wZW46CiAgICAtIG5hbWU6CiAgICAgIGFjdGlvbjogZXNjYWxhdGUKICAgICAgZGVzY3JpcHRpb246IEVzY2FsYXRlIHRoZSBwcm9ibGVt",
"resourceContent": "",
"resourceURI": "remediation.yaml"
}`

const remediationYamlResourceWithNoRemediations = `{
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuMwpraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOg==",
"resourceContent": "YXBpVmVyc2lvbjogc3BlYy5rZXB0bi5zaC8wLjEuNApraW5kOiBSZW1lZGlhdGlvbgptZXRhZGF0YToKICBuYW1lOiByZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uCnNwZWM6CiAgcmVtZWRpYXRpb25zOg==",
"resourceURI": "remediation.yaml"
}`

Expand Down
2 changes: 1 addition & 1 deletion test/assets/self_healing_remediation.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 0.2.0
apiVersion: spec.keptn.sh/0.1.4
kind: Remediation
metadata:
name: service-remediation
Expand Down

0 comments on commit dfc8ccb

Please sign in to comment.