From 3f9db070145009157ed3e917f319fc8369d2c5fb Mon Sep 17 00:00:00 2001 From: Christian Kreuzberger Date: Fri, 14 May 2021 13:34:28 +0200 Subject: [PATCH 1/3] #165 Added SLO file for dynatrace self healing example Signed-off-by: Christian Kreuzberger --- onboarding-carts/shipyard.yaml | 12 ++++++++ .../slo-self-healing-dynatrace.yaml | 30 +++++++++++++++++++ ....yaml => slo-self-healing-prometheus.yaml} | 0 3 files changed, 42 insertions(+) create mode 100644 onboarding-carts/slo-self-healing-dynatrace.yaml rename onboarding-carts/{slo-self-healing.yaml => slo-self-healing-prometheus.yaml} (100%) diff --git a/onboarding-carts/shipyard.yaml b/onboarding-carts/shipyard.yaml index 57e8ba6..92125a4 100644 --- a/onboarding-carts/shipyard.yaml +++ b/onboarding-carts/shipyard.yaml @@ -80,3 +80,15 @@ spec: properties: deploymentstrategy: "direct" - name: "release" + + - name: "remediation" + triggeredOn: + - event: "production.remediation.finished" + selector: + match: + evaluation.result: "fail" + tasks: + - name: "get-action" + - name: "action" + - name: "evaluation" + triggeredAfter: "10m" diff --git a/onboarding-carts/slo-self-healing-dynatrace.yaml b/onboarding-carts/slo-self-healing-dynatrace.yaml new file mode 100644 index 0000000..9101c6e --- /dev/null +++ b/onboarding-carts/slo-self-healing-dynatrace.yaml @@ -0,0 +1,30 @@ +--- +spec_version: "1.0" +comparison: + aggregate_function: "avg" + compare_with: "single_result" + include_result_with_score: "pass" + number_of_comparison_results: 1 +filter: +objectives: + - sli: "response_time_p90" + displayName: "Response time P90" + key_sli: false + pass: # pass if (relative change <= 10% AND absolute value is < 1000) + - criteria: + - "<=+10%" # relative values require a prefixed sign (plus or minus) + - "<1000" # absolute values only require a logical operator + warning: # if the response time is below 1200ms, the result should be a warning + - criteria: + - "<=1200" + weight: 1 + - sli: "problem_open" + displayName: "Problem open" + key_sli: true + pass: + - criteria: + - "=0" + weight: 1 +total_score: + pass: "90%" + warning: "40%" diff --git a/onboarding-carts/slo-self-healing.yaml b/onboarding-carts/slo-self-healing-prometheus.yaml similarity index 100% rename from onboarding-carts/slo-self-healing.yaml rename to onboarding-carts/slo-self-healing-prometheus.yaml From 53710c7669919c6e56e460fc41587cd28e19691e Mon Sep 17 00:00:00 2001 From: Christian Kreuzberger Date: Mon, 17 May 2021 13:36:32 +0200 Subject: [PATCH 2/3] keptn/keptn#4079 Add timeframe to evaluation task in closed loop remediation Signed-off-by: Christian Kreuzberger --- onboarding-carts/shipyard.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/onboarding-carts/shipyard.yaml b/onboarding-carts/shipyard.yaml index 92125a4..29d35d8 100644 --- a/onboarding-carts/shipyard.yaml +++ b/onboarding-carts/shipyard.yaml @@ -92,3 +92,5 @@ spec: - name: "action" - name: "evaluation" triggeredAfter: "10m" + properties: + timeframe: "10m" From 5e1e7fe5986afccbc1001f6b9636a68a13290961 Mon Sep 17 00:00:00 2001 From: Christian Kreuzberger Date: Tue, 18 May 2021 09:49:59 +0200 Subject: [PATCH 3/3] Update shipyard spec to 0.2.2 Signed-off-by: Christian Kreuzberger --- onboarding-carts/shipyard-argo.yaml | 2 +- onboarding-carts/shipyard-quality-gates.yaml | 2 +- onboarding-carts/shipyard.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/onboarding-carts/shipyard-argo.yaml b/onboarding-carts/shipyard-argo.yaml index 3c0d325..a2770e3 100755 --- a/onboarding-carts/shipyard-argo.yaml +++ b/onboarding-carts/shipyard-argo.yaml @@ -1,4 +1,4 @@ -apiVersion: "spec.keptn.sh/0.2.0" +apiVersion: "spec.keptn.sh/0.2.2" kind: "Shipyard" metadata: name: "shipyard-sockshop" diff --git a/onboarding-carts/shipyard-quality-gates.yaml b/onboarding-carts/shipyard-quality-gates.yaml index c5948ee..67805b1 100644 --- a/onboarding-carts/shipyard-quality-gates.yaml +++ b/onboarding-carts/shipyard-quality-gates.yaml @@ -1,4 +1,4 @@ -apiVersion: "spec.keptn.sh/0.2.0" +apiVersion: "spec.keptn.sh/0.2.2" kind: "Shipyard" metadata: name: "shipyard-quality-gates" diff --git a/onboarding-carts/shipyard.yaml b/onboarding-carts/shipyard.yaml index 29d35d8..a455d32 100644 --- a/onboarding-carts/shipyard.yaml +++ b/onboarding-carts/shipyard.yaml @@ -1,4 +1,4 @@ -apiVersion: "spec.keptn.sh/0.2.0" +apiVersion: "spec.keptn.sh/0.2.2" kind: "Shipyard" metadata: name: "shipyard-sockshop"