Rally core part is going to be placed here soon.
Stay tuned
A set of xRally plugins to run workloads against Kubernetes platform.
License: Apache License 2.0
Scenario samples/scenario/create-check-and-delete-pod-with-local-persistent-volume.yaml
fails with error persistentvolume-controller waiting for first consumer to be created before binding
The persistent volume gets created, but the claim fails.
Disk space is sufficient. Is there any pre-requisite needed for this on the cluster ?
root@oplind-19:~/xrally-kubernetes# kubectl describe persistentvolumeclaim --all-namespaces
Name: rally-bae606e5-iufeyg2q
Namespace: c-rally-bae606e5-zpvrf10e
StorageClass: c-rally-bae606e5-17ulfb0n
Status: Pending
Volume:
Labels: <none>
Annotations: <none>
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Mounted By: rally-bae606e5-iufeyg2q
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal WaitForFirstConsumer 14s (x2 over 20s) persistentvolume-controller waiting for first consumer to be created before binding
root@oplind-19:~/xrally-kubernetes#
Scenario Logs:
TimeoutException: Rally tired waiting 50.00 seconds for Pod rally-bae606e5-iufeyg2q:186e8a4e-3bc8-442c-8194-b6644d4b5455 to become Running current status Pending
Traceback (most recent call last):
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally/task/runner.py", line 71, in _run_scenario_once
getattr(scenario_inst, method_name)(**scenario_kwargs)
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally_plugins/scenarios/kubernetes/volumes/local_persistent_volume.py", line 98, in run
status_wait=status_wait
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally_plugins/scenarios/kubernetes/volumes/base.py", line 45, in run
status_wait=status_wait
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally/task/service.py", line 116, in wrapper
return func(instance, *args, **kwargs)
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally/task/atomic.py", line 91, in func_atomic_actions
f = func(self, *args, **kwargs)
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally_plugins/services/kube/kube.py", line 436, in create_pod
volume=volume)
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally_plugins/services/kube/kube.py", line 73, in wait_for_status
timeout=(retries_total * sleep_time))
TimeoutException: Rally tired waiting 50.00 seconds for Pod rally-bae606e5-iufeyg2q:186e8a4e-3bc8-442c-8194-b6644d4b5455 to become Running current status Pending
Test scenario fails with below error:
2019-10-30 10:46:02.888 249762 INFO rally.task.context [-] Task 774dbe1a-d5cf-43a5-bad4-61d20baf3b26 | Context namespaces@kubernetes setup() finished in 71.32 msec
2019-10-30 10:46:02.911 249899 INFO rally.task.runner [-] Task 774dbe1a-d5cf-43a5-bad4-61d20baf3b26 | ITER: 1 START
2019-10-30 10:46:02.925 249899 INFO rally.task.runner [-] Task 774dbe1a-d5cf-43a5-bad4-61d20baf3b26 | ITER: 1 END: Error TypeError: run() got an unexpected keyword argument 'custom_endpoint'
Traceback (most recent call last):
File "/root/rally-plugins/venv/local/lib/python2.7/site-packages/rally/task/runner.py", line 71, in _run_scenario_once
getattr(scenario_inst, method_name)(**scenario_kwargs)
TypeError: run() got an unexpected keyword argument 'custom_endpoint'
Task description:
test scenario Kubernetes.create_check_and_delete_pod_with_cluster_ip_service
args position 0
args values:
{
"runner": {
"concurrency": 1,
"times": 2
},
"contexts": {
"namespaces": {
"count": 3,
"with_serviceaccount": true
}
},
"args": {
"custom_endpoint": true,
"image": "gcr.io/google-samples/hello-go-gke:1.0",
"protocol": "TCP",
"port": 80
},
"sla": {
"failure_rate": {
"max": 0
}
},
"hooks": []
}
create_check_and_delete_pod_with_node_port_service gets erred when cluster URL doesn't have a port. Code expects the URL to always contain port. See here. For example, URL of type https://k8s-api.example.com
gives the service URL as http:30151/
instead of https://k8s-api.example.com:30151/
.
MissingSchema: Invalid URL 'http:30151/': No schema supplied. Perhaps you meant http://http:30151/?
Traceback (most recent call last):
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/rally/task/runner.py", line 71, in _run_scenario_once
getattr(scenario_inst, method_name)(**scenario_kwargs)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/rally_plugins/scenarios/kubernetes/services.py", line 229, in run
requests.get(url, **kwargs)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/sessions.py", line 519, in request
prep = self.prepare_request(req)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/sessions.py", line 462, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/models.py", line 313, in prepare
self.prepare_url(url, params)
File "/opt/rally/xrally-venv/local/lib/python2.7/site-packages/requests/models.py", line 387, in prepare_url
raise MissingSchema(error)
MissingSchema: Invalid URL 'http:30151/': No schema supplied. Perhaps you meant http://http:30151/?
According to Kubernetes documentation, some of the API groups are deprecated like extensions/v1beta1
and apps/v1beta2
.
Due to this, some of the xrally tests give the error like
'extensions/v1beta1'. Is this available in api resources?
Is there any plan to add support for 1.16.X ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.