Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Metadata change #17

Merged
merged 7 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

*.yaml
# Ignore YAML files in the top folder
/*.yaml

*.csv
.vscode/
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@ Below is an illustrative example of the config and metadata that Orion can handl
```
tests :
- name : aws-small-scale-cluster-density-v2
platform: AWS
masterNodesType: m6a.xlarge
masterNodesCount: 3
workerNodesType: m6a.xlarge
workerNodesCount: 24
benchmark: cluster-density-v2
ocpVersion: 4.15
networkType: OVNKubernetes
metadata:
platform: AWS
masterNodesType: m6a.xlarge
masterNodesCount: 3
workerNodesType: m6a.xlarge
workerNodesCount: 24
benchmark.keyword: cluster-density-v2
ocpVersion: 4.15
networkType: OVNKubernetes
# encrypted: true
# fips: false
# ipsec: false
Expand All @@ -24,27 +25,27 @@ tests :
quantileName: Ready
metric_of_interest: P99
not:
- jobConfig.name: "garbage-collection"
jobConfig.name: "garbage-collection"

- name: apiserverCPU
metricName : containerCPU
labels.namespace: openshift-kube-apiserver
labels.namespace.keyword: openshift-kube-apiserver
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: ovnCPU
metricName : containerCPU
labels.namespace: openshift-ovn-kubernetes
labels.namespace.keyword: openshift-ovn-kubernetes
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: etcdCPU
metricName : containerCPU
labels.namespace: openshift-etcd
labels.namespace.keyword: openshift-etcd
metric_of_interest: value
agg:
value: cpu
Expand All @@ -56,8 +57,7 @@ tests :
agg:
value: duration
agg_type: avg



```

## Build Orion
Expand Down
54 changes: 54 additions & 0 deletions examples/small-scale-cluster-density.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
tests :
- name : aws-small-scale-cluster-density-v2
metadata:
platform: AWS
masterNodesType: m6a.xlarge
masterNodesCount: 3
workerNodesType: m6a.xlarge
workerNodesCount: 24
benchmark.keyword: cluster-density-v2
ocpVersion: 4.15
networkType: OVNKubernetes
# encrypted: true
# fips: false
# ipsec: false

metrics :
- name: podReadyLatency
metricName: podLatencyQuantilesMeasurement
quantileName: Ready
metric_of_interest: P99
not:
jobConfig.name: "garbage-collection"

- name: apiserverCPU
metricName : containerCPU
labels.namespace.keyword: openshift-kube-apiserver
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: ovnCPU
metricName : containerCPU
labels.namespace.keyword: openshift-ovn-kubernetes
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: etcdCPU
metricName : containerCPU
labels.namespace.keyword: openshift-etcd
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: etcdDisk
metricName : 99thEtcdDiskBackendCommitDurationSeconds
metric_of_interest: value
agg:
value: duration
agg_type: avg

56 changes: 56 additions & 0 deletions examples/small-scale-node-density-cni.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
tests :
- name : aws-small-scale-node-density-cni
metadata:
platform: AWS
masterNodesType: m6a.xlarge
masterNodesCount: 3
workerNodesType: m6a.xlarge
workerNodesCount: 6
infraNodesCount: 3
benchmark.keyword: node-density-cni
ocpVersion: 4.15
networkType: OVNKubernetes
infraNodesType: r5.2xlarge
# encrypted: true
# fips: false
# ipsec: false

metrics :
- name: podReadyLatency
metricName: podLatencyQuantilesMeasurement
quantileName: Ready
metric_of_interest: P99
not:
jobConfig.name: "garbage-collection"

- name: apiserverCPU
metricName : containerCPU
labels.namespace.keyword: openshift-kube-apiserver
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: ovnCPU
metricName : containerCPU
labels.namespace.keyword: openshift-ovn-kubernetes
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: etcdCPU
metricName : containerCPU
labels.namespace.keyword: openshift-etcd
metric_of_interest: value
agg:
value: cpu
agg_type: avg

- name: etcdDisk
metricName : 99thEtcdDiskBackendCommitDurationSeconds
metric_of_interest: value
agg:
value: duration
agg_type: avg

4 changes: 2 additions & 2 deletions orion.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ def orion(config, debug, output,hunter_analyze):
print("No UUID present for given metadata")
sys.exit()

if metadata["benchmark"] == "k8s-netperf" :
if metadata["benchmark.keyword"] == "k8s-netperf" :
index = "k8s-netperf"
ids = uuids
elif metadata["benchmark"] == "ingress-perf" :
elif metadata["benchmark.keyword"] == "ingress-perf" :
index = "ingress-performance"
ids = uuids
else:
Expand Down
5 changes: 2 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ hunter @ git+https://github.com/datastax-labs/[email protected]
certifi==2023.11.17
click==8.1.7
elastic-transport==8.11.0
elasticsearch==8.11.1
elasticsearch7==7.13.0
fmatch==0.0.4
elasticsearch==7.13.0
fmatch==0.0.5
python-dateutil==2.8.2
pytz==2023.3.post1
PyYAML==6.0.1
Expand Down
6 changes: 1 addition & 5 deletions utils/orion_funcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,7 @@ def get_metadata(test,logger):
Returns:
dict: dictionary of the metadata
"""
metadata = {}
for k,v in test.items():
if k in ["metrics","name"]:
continue
metadata[k] = v
metadata=test['metadata']
metadata["ocpVersion"] = str(metadata["ocpVersion"])
logger.debug('metadata' + str(metadata))
return metadata
Expand Down
Loading