Compare commits
2 Commits
118ff5319e
...
5005800844
| Author | SHA1 | Date |
|---|---|---|
|
|
5005800844 | |
|
|
081d3f0758 |
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1.1 r1855137">
|
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
|
||||||
<hashTree>
|
<hashTree>
|
||||||
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
|
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
|
||||||
<stringProp name="TestPlan.comments"></stringProp>
|
<stringProp name="TestPlan.comments"></stringProp>
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
</elementProp>
|
</elementProp>
|
||||||
<elementProp name="LoopCount" elementType="Argument">
|
<elementProp name="LoopCount" elementType="Argument">
|
||||||
<stringProp name="Argument.name">LoopCount</stringProp>
|
<stringProp name="Argument.name">LoopCount</stringProp>
|
||||||
<stringProp name="Argument.value">1</stringProp>
|
<stringProp name="Argument.value">1000</stringProp>
|
||||||
<stringProp name="Argument.metadata">=</stringProp>
|
<stringProp name="Argument.metadata">=</stringProp>
|
||||||
</elementProp>
|
</elementProp>
|
||||||
</collectionProp>
|
</collectionProp>
|
||||||
|
|
@ -60,11 +60,13 @@
|
||||||
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||||||
<stringProp name="ThreadGroup.duration"></stringProp>
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||||||
<stringProp name="ThreadGroup.delay"></stringProp>
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||||||
|
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
|
||||||
</ThreadGroup>
|
</ThreadGroup>
|
||||||
<hashTree>
|
<hashTree>
|
||||||
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
|
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
|
||||||
<collectionProp name="CookieManager.cookies"/>
|
<collectionProp name="CookieManager.cookies"/>
|
||||||
<boolProp name="CookieManager.clearEachIteration">false</boolProp>
|
<boolProp name="CookieManager.clearEachIteration">false</boolProp>
|
||||||
|
<boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
|
||||||
</CookieManager>
|
</CookieManager>
|
||||||
<hashTree/>
|
<hashTree/>
|
||||||
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ actions:
|
||||||
image: "alpine/helm:3.7.2"
|
image: "alpine/helm:3.7.2"
|
||||||
serviceAccount: "jes-deploy-using-helm"
|
serviceAccount: "jes-deploy-using-helm"
|
||||||
cmd: ["helm"]
|
cmd: ["helm"]
|
||||||
args: ["upgrade", "--force", "--create-namespace", "--install", "-n", "$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "$(KEPTN_SERVICE)", "/keptn/charts/$(KEPTN_SERVICE).tgz", "--set", "image=$(IMAGE)", "--set", "keptn.service=$(KEPTN_SERVICE)", "--set", "keptn.deployment=$(KEPTN_STAGE)", "--wait"]
|
args: ["upgrade", "--force", "--create-namespace", "--install", "-n", "$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "$(KEPTN_SERVICE)", "/keptn/charts/$(KEPTN_SERVICE).tgz", "--set", "image=$(IMAGE)", "--set", "keptn.service=$(KEPTN_SERVICE)", "--set", "keptn.deployment=$(KEPTN_STAGE)", "--set", "keptn.project=$(KEPTN_PROJECT)","--set", "keptn.stage=$(KEPTN_STAGE)", "--wait"]
|
||||||
|
|
||||||
- name: "Rollback using helm"
|
- name: "Rollback using helm"
|
||||||
events:
|
events:
|
||||||
|
|
@ -44,15 +44,15 @@ actions:
|
||||||
# Note: Hardcoded kubernetes namespace & KEPTN_SERVICE does most likely not match the deployment name
|
# Note: Hardcoded kubernetes namespace & KEPTN_SERVICE does most likely not match the deployment name
|
||||||
args: ["-c", "REPLICAS=$(kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} get deployment/${KEPTN_SERVICE} -o go-template='{{.spec.replicas}}');DESIRED=$((${SCALING}+${REPLICAS}));echo Scaling deployment to ${DESIRED} && kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} scale --replicas=${DESIRED} deployment/${KEPTN_SERVICE}"]
|
args: ["-c", "REPLICAS=$(kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} get deployment/${KEPTN_SERVICE} -o go-template='{{.spec.replicas}}');DESIRED=$((${SCALING}+${REPLICAS}));echo Scaling deployment to ${DESIRED} && kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} scale --replicas=${DESIRED} deployment/${KEPTN_SERVICE}"]
|
||||||
|
|
||||||
# - name: "Run tests using locust"
|
- name: "Run tests using locust"
|
||||||
# events:
|
events:
|
||||||
# - name: "sh.keptn.event.test.triggered"
|
- name: "sh.keptn.event.test.triggered"
|
||||||
# tasks:
|
tasks:
|
||||||
# - name: "Run locust"
|
- name: "Run locust"
|
||||||
# files:
|
files:
|
||||||
# - locust/basic.py
|
- locust/basic.py
|
||||||
# - locust/locust.conf
|
- locust/locust.conf
|
||||||
|
|
||||||
# image: "locustio/locust:2.8.6"
|
image: "locustio/locust:2.8.6"
|
||||||
# cmd: ["locust"]
|
cmd: ["locust"]
|
||||||
# args: ["--config", "/keptn/locust/locust.conf", "-f", "/keptn/locust/basic.py", "--host", "http://$(KEPTN_SERVICE).$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "--only-summary"]
|
args: ["--config", "/keptn/locust/locust.conf", "-f", "/keptn/locust/basic.py", "--host", "http://$(KEPTN_SERVICE).$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "--only-summary"]
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
from locust import HttpUser, between, task
|
||||||
|
|
||||||
|
class WebsiteUser(HttpUser):
|
||||||
|
wait_time = between(5, 15)
|
||||||
|
|
||||||
|
@task
|
||||||
|
def index(self):
|
||||||
|
self.client.get("/")
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
locustfile = /locust/locust.py
|
||||||
|
headless = true
|
||||||
|
users = 10
|
||||||
|
run-time = 1m
|
||||||
|
|
@ -15,21 +15,21 @@ spec:
|
||||||
properties:
|
properties:
|
||||||
teststrategy: "functional"
|
teststrategy: "functional"
|
||||||
- name: "evaluation"
|
- name: "evaluation"
|
||||||
- name: "release"
|
#- name: "release"
|
||||||
- name: "delivery-direct"
|
- name: "delivery-direct"
|
||||||
tasks:
|
tasks:
|
||||||
- name: "deployment"
|
- name: "deployment"
|
||||||
properties:
|
properties:
|
||||||
deploymentstrategy: "direct"
|
deploymentstrategy: "direct"
|
||||||
- name: "release"
|
- name: "release"
|
||||||
- name: "rollback"
|
# - name: "rollback"
|
||||||
tasks:
|
# tasks:
|
||||||
- name: "rollback"
|
# - name: "rollback"
|
||||||
- name: "only-test"
|
# - name: "only-test"
|
||||||
tasks:
|
# tasks:
|
||||||
- name: "test"
|
# - name: "test"
|
||||||
properties:
|
# properties:
|
||||||
teststrategy: "functional"
|
# teststrategy: "functional"
|
||||||
- name: "staging"
|
- name: "staging"
|
||||||
sequences:
|
sequences:
|
||||||
- name: "delivery"
|
- name: "delivery"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
spec_version: "0.1.1"
|
||||||
|
comparison:
|
||||||
|
aggregate_function: "avg"
|
||||||
|
compare_with: "single_result"
|
||||||
|
include_result_with_score: "pass"
|
||||||
|
number_of_comparison_results: 1
|
||||||
|
filter:
|
||||||
|
objectives:
|
||||||
|
- sli: "response_time_p95"
|
||||||
|
key_sli: false
|
||||||
|
pass: # pass if (relative change <= 10% AND absolute value is < 600ms)
|
||||||
|
- criteria:
|
||||||
|
- "<=+25%" # relative values require a prefixed sign (plus or minus)
|
||||||
|
- "<60000" # absolute values only require a logical operator
|
||||||
|
warning: # if the response time is below 800ms, the result should be a warning
|
||||||
|
- criteria:
|
||||||
|
- "<=80000"
|
||||||
|
weight: 1
|
||||||
|
# - sli: "rt_addToCart" # looking at a particular transaction
|
||||||
|
# weight: 3 # business critical transaction
|
||||||
|
# pass:
|
||||||
|
# - criteria:
|
||||||
|
# - "<=+20%" # Degradation-driven
|
||||||
|
# - "<300000" # NFR-driven
|
||||||
|
# warning:
|
||||||
|
# - criteria:
|
||||||
|
# - "<=+50%"
|
||||||
|
# - "<=500000"
|
||||||
|
- sli: "error_rate"
|
||||||
|
pass:
|
||||||
|
- criteria:
|
||||||
|
- "<=+15%"
|
||||||
|
- "<2"
|
||||||
|
warning:
|
||||||
|
- criteria:
|
||||||
|
- "<10"
|
||||||
|
- sli: "pg_heap_suspension"
|
||||||
|
- sli: "pg_cpu_usage"
|
||||||
|
total_score:
|
||||||
|
pass: "90%"
|
||||||
|
warning: "70%"
|
||||||
Loading…
Reference in New Issue