aboutsummaryrefslogtreecommitdiffstats
path: root/functest_kubernetes/rally
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2020-08-22 16:36:19 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2020-08-22 16:38:13 +0200
commita0f76d884c1f13c27e906136d3418f12b5342fc4 (patch)
treefd6020c0e0c51e4cfe02b592ba64e4f3ed1792f0 /functest_kubernetes/rally
parente1ef7b1d9703348075e982975ba963f0021c073f (diff)
Add xrally_kubernetes_full
It iterates 10 times all operations run by xrally_kubernetes. Now times, concurrenty and count can be set via testcases.yaml. It creates a new containers functest-kubernetes-benchamrking as Functest. Change-Id: Ibfd493b987a359a3f16c2d8db0aef6b8e90b7e92 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest_kubernetes/rally')
-rw-r--r--functest_kubernetes/rally/all-in-one.yaml112
-rw-r--r--functest_kubernetes/rally/rally_kubernetes.py17
2 files changed, 69 insertions, 60 deletions
diff --git a/functest_kubernetes/rally/all-in-one.yaml b/functest_kubernetes/rally/all-in-one.yaml
index 9437f760..ae4157ff 100644
--- a/functest_kubernetes/rally/all-in-one.yaml
+++ b/functest_kubernetes/rally/all-in-one.yaml
@@ -8,16 +8,16 @@ subtasks:
Kubernetes.list_namespaces: {}
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
- title: Run a single workload with create/read/delete namespace
scenario:
Kubernetes.create_and_delete_namespace: {}
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
- title: Run a single workload with create/read/delete pod
scenario:
@@ -25,11 +25,11 @@ subtasks:
image: kubernetes/pause
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete replication controller
@@ -39,11 +39,11 @@ subtasks:
replicas: 2
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/scale/delete replication controller
@@ -54,11 +54,11 @@ subtasks:
scale_replicas: 3
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete replicaset
@@ -68,11 +68,11 @@ subtasks:
replicas: 1
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/scale/delete replicaset
@@ -83,11 +83,11 @@ subtasks:
scale_replicas: 2
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title:
@@ -98,11 +98,11 @@ subtasks:
mount_path: /opt/check
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: >-
@@ -125,7 +125,7 @@ subtasks:
times: 1
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete pod with secret volume
@@ -138,11 +138,11 @@ subtasks:
mount_path: /opt/check
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/check/delete pod with secret volume
@@ -159,11 +159,11 @@ subtasks:
error_regexp: No such file
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: >-
@@ -188,7 +188,7 @@ subtasks:
times: 1
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title:
@@ -206,11 +206,11 @@ subtasks:
test
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: >-
@@ -237,7 +237,7 @@ subtasks:
times: 1
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete deployment
@@ -247,11 +247,11 @@ subtasks:
replicas: 2
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/rollout/delete deployment
@@ -271,11 +271,11 @@ subtasks:
value: "true"
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete statefulset
@@ -285,11 +285,11 @@ subtasks:
replicas: 2
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/scale/delete statefulset
@@ -300,11 +300,11 @@ subtasks:
scale_replicas: 2
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/read/delete job
@@ -316,11 +316,11 @@ subtasks:
- "SUCCESS"
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/check/delete clusterIP service
@@ -331,11 +331,11 @@ subtasks:
protocol: TCP
runner:
constant:
- concurrency: 1
- times: 2
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: >-
@@ -353,7 +353,7 @@ subtasks:
times: 1
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
- title: Run a single workload with create/check/delete NodePort service
@@ -365,9 +365,9 @@ subtasks:
request_timeout: 10
runner:
constant:
- concurrency: 1
- times: 1
+ concurrency: {{ concurrency }}
+ times: {{ times }}
contexts:
namespaces:
- count: 3
+ count: {{ namespaces_count }}
with_serviceaccount: true
diff --git a/functest_kubernetes/rally/rally_kubernetes.py b/functest_kubernetes/rally/rally_kubernetes.py
index e7a903d9..28415579 100644
--- a/functest_kubernetes/rally/rally_kubernetes.py
+++ b/functest_kubernetes/rally/rally_kubernetes.py
@@ -11,6 +11,7 @@ import logging
import os
import time
+from jinja2 import Template
import pkg_resources
from rally import api
from rally import exceptions
@@ -26,6 +27,10 @@ class RallyKubernetes(testcase.TestCase):
__logger = logging.getLogger(__name__)
+ concurrency = 1
+ times = 1
+ namespaces_count = 1
+
def __init__(self, **kwargs):
super(RallyKubernetes, self).__init__(**kwargs)
self.dir_results = "/home/opnfv/functest/results"
@@ -53,10 +58,14 @@ class RallyKubernetes(testcase.TestCase):
"Cannot check env heath: %s",
result['existing@kubernetes']['message'])
return
- input_task = open(
- pkg_resources.resource_filename(
- 'functest_kubernetes', 'rally/all-in-one.yaml')).read()
- task = yaml.safe_load(input_task)
+ with open(pkg_resources.resource_filename(
+ 'functest_kubernetes', 'rally/all-in-one.yaml')) as file:
+ template = Template(file.read())
+ task = yaml.safe_load(template.render(
+ concurrency=kwargs.get("concurrency", self.concurrency),
+ times=kwargs.get("times", self.times),
+ namespaces_count=kwargs.get(
+ "namespaces_count", self.namespaces_count)))
rapi.task.validate(deployment='my-kubernetes', config=task)
task_instance = rapi.task.create(deployment='my-kubernetes')
rapi.task.start(