You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: The plugin should be able to access the kubeconfig of your openshift cluster and the kube-burner binary must be downloaded locally. Install poetry(curl -sSL https://install.python-poetry.org | python3 - ). Poetry requires python version > 3.7, recommended to use >3.9
Clone this repository
Create a venv in the current directory with python3.9 -m venv $(pwd)/venv
Activate the venv by running source venv/bin/activate
Enable sr-iov on the baremetal nodes from the node management console or using badfish.
Install the openshift-sriov-network-operator on the openshift cluster using the cli or the operatorhub GUI.
Identify and label a specific number of nodes with the node-role.kubernetes.io/worker-spk="" label.
check if all labelled worker nodes have the same sr-iov PF(this is done by sshing into each node from the provisoner node to get the PF of a node, command: nic=$(ssh -i /home/kni/.ssh/id_rsa -o StrictHostKeyChecking=no core@{worker-node name} "sudo ovs-vsctl list-ports br-ex | head -1") eg: $nic = ens7f0
Apply the sriov node policy using the $nic obtained from step 4.
wait for sriov nodes to be ready
Native
Note: The plugin should be able to access the kubeconfig of your openshift cluster and the kube-burner binary must be downloaded locally. Rename the kube-burner binary as web-burner or follow step number 7&8 below. Install poetry(curl -sSL https://install.python-poetry.org | python3 - ). Poetry requires python version > 3.7, recommended to use >3.9
Clone this repository
Create a venv in the current directory with python3.9 -m venv $(pwd)/venv
Activate the venv by running source venv/bin/activate
Copy and Paste the openshift cluster's kubeconfig file content into the configs/webburner_input.yaml file
To run a web-burner workload python3.9 ./arcaflow_plugin_kubeburner/kubeburner_plugin.py -f configs/webburner_input.yaml -s run-web-burner --debug
To delete a web-burner workload python3.9 ./arcaflow_plugin_kubeburner/kubeburner_plugin.py -f configs/webburner_input.yaml -s delete-web-burner --debug
Containerized
Clone this repository
cd arcaflow-plugin-kube-burner
Copy and Paste the openshift cluster's kubeconfig file content into the configs/webburner_input.yaml and configs/webburner_cleanup.yaml files.
Create the container with docker build -t arca-web-burner .
To run a web-burner workload cat configs/webburner_input.yaml | docker run -i arca-web-burner -s run-web-burner --debug -f -
To delete a web-burner workload cat configs/webburner_input.yaml | docker run -i arca-kube-burner -s delete-web-burner --debug -f -
Image Building
You can change this plugin's image version tag in
.github/workflows/carpenter.yaml by editing the
IMAGE_TAG variable, and pushing that change to the
branch designated in that workflow.
Autogenerated Input/Output Documentation by Arcaflow-Docsgen Below
Web-Burner Workload (delete-web-burner)
Plugin to delete resources created by the web-burner workload
Input
Type:
scope
Root object:
WebBurnerInputParams
Properties
bfd_enabled (string)
Name:
BFD
Description:
Bidirectional Forwarding Detection
Required:
No
Default (JSON encoded):
"false"
Type:
string
bridge (string)
Name:
BRIDGE
Description:
The network bridge to use. breth0 for kind.sh ovn-kubernetes clusters
Required:
No
Default (JSON encoded):
"br-ex"
Type:
string
burst (int)
Name:
Burst
Description:
Maximum burst for throttle
Required:
No
Default (JSON encoded):
20
Type:
int
es_index (string)
Name:
es-index
Description:
The ElasticSearch index used to index the metrics
Required:
No
Type:
string
es_server (string)
Name:
es-server
Description:
List of ES instances
Required:
No
Type:
string
indexing (string)
Name:
INDEXING
Description:
To enable or disable indexing in elasticsearch(true/false)
Required:
No
Default (JSON encoded):
"false"
Type:
string
kubeconfig (string)
Name:
kubeconfig
Description:
Openshift cluster kubeconfig file content as a string
Required:
Yes
Type:
string
number_of_nodes (int)
Name:
Number of nodes
Description:
Size of cluster/ number of nodes in the cluster
Required:
Yes
Type:
int
qps (int)
Name:
QPS
Description:
Max number of queries per second
Required:
No
Default (JSON encoded):
20
Type:
int
scale_factor (int)
Name:
Scale Factor
Description:
Scaling factor for the workload
Required:
No
Default (JSON encoded):
1
Type:
int
sriov (string)
Name:
SRIOV
Description:
To enable or disable sriov, disabling it will create macvlan network
attachment definitions instead
Required:
No
Default (JSON encoded):
"true"
Type:
string
uuid (string)
Name:
uuid
Description:
uuid to be used for the job
Required:
No
Type:
string
workload_template (string)
Name:
Workload Template
Description:
Kube-burner Template to use
Required:
Yes
Type:
string
ObjectsWebBurnerInputParams (object)
Type:
object
Properties
bfd_enabled (string)
Name:
BFD
Description:
Bidirectional Forwarding Detection
Required:
No
Default (JSON encoded):
"false"
Type:
string
bridge (string)
Name:
BRIDGE
Description:
The network bridge to use. breth0 for kind.sh ovn-kubernetes clusters
Required:
No
Default (JSON encoded):
"br-ex"
Type:
string
burst (int)
Name:
Burst
Description:
Maximum burst for throttle
Required:
No
Default (JSON encoded):
20
Type:
int
es_index (string)
Name:
es-index
Description:
The ElasticSearch index used to index the metrics
Required:
No
Type:
string
es_server (string)
Name:
es-server
Description:
List of ES instances
Required:
No
Type:
string
indexing (string)
Name:
INDEXING
Description:
To enable or disable indexing in elasticsearch(true/false)
Required:
No
Default (JSON encoded):
"false"
Type:
string
kubeconfig (string)
Name:
kubeconfig
Description:
Openshift cluster kubeconfig file content as a string
Required:
Yes
Type:
string
number_of_nodes (int)
Name:
Number of nodes
Description:
Size of cluster/ number of nodes in the cluster
Required:
Yes
Type:
int
qps (int)
Name:
QPS
Description:
Max number of queries per second
Required:
No
Default (JSON encoded):
20
Type:
int
scale_factor (int)
Name:
Scale Factor
Description:
Scaling factor for the workload
Required:
No
Default (JSON encoded):
1
Type:
int
sriov (string)
Name:
SRIOV
Description:
To enable or disable sriov, disabling it will create macvlan network
attachment definitions instead
Required:
No
Default (JSON encoded):
"true"
Type:
string
uuid (string)
Name:
uuid
Description:
uuid to be used for the job
Required:
No
Type:
string
workload_template (string)
Name:
Workload Template
Description:
Kube-burner Template to use
Required:
Yes
Type:
string
Outputs
error
Type:
scope
Root object:
ErrorOutput
Properties
error (string)
Name:
Failure Error
Description:
Reason for failure
Required:
Yes
Type:
string
exit_code (int)
Name:
Exit Code
Description:
Exit code returned by the program in case of a failure
Required:
Yes
Type:
int
ObjectsErrorOutput (object)
Type:
object
Properties
error (string)
Name:
Failure Error
Description:
Reason for failure
Required:
Yes
Type:
string
exit_code (int)
Name:
Exit Code
Description:
Exit code returned by the program in case of a failure