Skip to content

Commit

Permalink
lint templates
Browse files Browse the repository at this point in the history
  • Loading branch information
fnikol committed Nov 24, 2021
1 parent e0120ee commit c052f54
Show file tree
Hide file tree
Showing 81 changed files with 4,965 additions and 5,474 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ release: ## Release a new version of Frisbee.
git add VERSION
git commit -m "Bump version"
git tag ${VERSION}
# git push --set-upstream origin $(shell git branch --show-current) && git push --tags
# git push --set-upstream origin $(git branch --show-current) && git push --tags


##@ Deployment
Expand Down
2 changes: 0 additions & 2 deletions charts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ $ helm search repo frisbee
$ helm install my-release frisbee/<chart>
```



The easiest way to begin with is by have a look at the examples. It consists of two sub-directories:

* **Templates:** are libraries of frequently-used specifications that are reusable throughout the testing plan.
Expand Down
36 changes: 5 additions & 31 deletions charts/cockroachdb/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,10 @@
---
apiVersion: v2
name: cockroachdb
description: CockroachDB is a distributed database with standard SQL for cloud applications.
appVersion: "1.16.0"
description: "CockroachDB is a distributed database with standard SQL for cloud
applications."

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
name: cockroachdb
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.0.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"


#dependencies:
# - name: observability
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
# - name: sysmon
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
# - name: ycsbmon
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
26 changes: 26 additions & 0 deletions charts/cockroachdb/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Step 0: bootstrap.
# Cockroachdb requires knowing the names of the clustered nodes, before they are started !.
# Run cockroach command to any of the created node.
# Step 1: Load a new dataset, using the parameters of workload A.
# We use no throttling to maximize this step and complete it soon.
# Step 2: Run workload A
# Step 3: Run workload B
# Step 4: Run workload C
# Step 5: Run workload F
# Step 6: Run workload D.
# Step 7,8: Reload the data with parameters of workload E.
# We use the dropdata field to remove all data before test.
# Step 9:Run workload E



# dependencies:
# - name: observability
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
# - name: sysmon
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
# - name: ycsbmon
# version: 0.1.1
# repository: https://carv-ics-forth.github.io/frisbee/charts
119 changes: 72 additions & 47 deletions charts/cockroachdb/plans/plan.baseline.yml
Original file line number Diff line number Diff line change
@@ -1,126 +1,151 @@
---
apiVersion: frisbee.io/v1alpha1
kind: Workflow
metadata:
name: cockroach-baseline
spec:
withTelemetry:
importMonitors: [ "sysmon/container", "ycsbmon/client", "cockroachmon/server" ]
importMonitors:
- sysmon/container
- ycsbmon/client
- cockroachmon/server
ingress:
host: platform.science-hangar.eu

actions:
# Step 0: bootstrap.
# Cockroachdb requires knowing the names of the clustered nodes, before they are started !.
- action: Cluster
name: master
cluster:
templateRef: cockroachdb-cluster/master
instances: 3
inputs:
- { servers: "master-1:26257,master-2:26257,master-3:26257" }
- servers: "master-1:26257,master-2:26257,master-3:26257"

# Run cockroach command to any of the created node.
- action: Service
name: boot
depends: { running: [ master ] }
depends:
running: [master]
service:
fromTemplate:
templateRef: cockroachdb-cluster/bootstrap
inputs:
- { server: .cluster.master.any }
- server: .cluster.master.any


# Step 1: Load a new dataset, using the parameters of workload A.
# We use no throttling to maximize this step and complete it soon.
- action: Service
depends: { success: [ boot ] }
depends:
success: [boot]
name: loader
service:
fromTemplate:
templateRef: ycsb-cockroach/loader
inputs:
- { server: .cluster.master.any, workload: workloada, recordcount: "1000000", threads: "400" }
- recordcount: "1000000"
server: .cluster.master.any
threads: "400"
workload: workloada


# Step 2: Run workload A
- action: Service
depends: { success: [ loader ] }
depends:
success: [loader]
name: workload-a
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloada, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }
- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloada


# Step 3: Run workload B
- action: Service
depends: { success: [ workload-a ] }
depends:
success: [workload-a]
name: workload-b
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloadb, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }
- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloadb

# Step 4: Run workload C
- action: Service
depends: { success: [ workload-b ] }
depends:
success: [workload-b]
name: workload-c
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloadc, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }
- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloadc


# Step 5: Run workload F
- action: Service
depends: { success: [ workload-c ] }
depends:
success: [workload-c]
name: workload-f
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloadf, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }

- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloadf

# Step 6: Run workload D.
- action: Service
depends: { success: [ workload-f ] }
depends:
success: [workload-f]
name: workload-d
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloadd, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }
- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloadd


# Step 7,8: Reload the data with parameters of workload E.
# We use the dropdata field to remove all data before test.
- action: Service
depends: { success: [ workload-d ] }
depends:
success: [workload-d]
name: reloader
service:
fromTemplate:
templateRef: ycsb-cockroach/loader
inputs:
- { server: .cluster.master.any, workload: workloade, dropdata: "true", recordcount: "1000000",
threads: "400" }

- dropdata: "true"
recordcount: "1000000"
server: .cluster.master.any
threads: "400"
workload: workloade

# Step 9:Run workload E
- action: Service
depends: { success: [ reloader ] }
depends:
success: [reloader]
name: workload-e
service:
fromTemplate:
templateRef: ycsb-cockroach/runner
inputs:
- { server: .cluster.master.any, workload: workloade, operationcount: "1000000",
cpu: "8", memory: "8Gi", threads: "40" }


- cpu: "8"
memory: 8Gi
operationcount: "1000000"
server: .cluster.master.any
threads: "40"
workload: workloade
57 changes: 29 additions & 28 deletions charts/cockroachdb/plans/plan.scaleout.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
# This experiment runs a given load for various numbers of TikV instance.
# This goal is to find the maximum number of TikV servers after which the overall performance does not increase further.
---
apiVersion: frisbee.io/v1alpha1
kind: Workflow
metadata:
name: cockroach-scaleout
spec:
withTelemetry:
importMonitors: [ "sysmon/container", "ycsbmon/client", "cockroachmon/server" ]
ingress:
host: platform.science-hangar.eu

actions:
# Step 0: bootstrap.
# Cockroachdb requires knowing the names of the clustered nodes, before they are started !.
- action: Cluster
name: master
cluster:
templateRef: cockroachdb-cluster/master
instances: 3
inputs:
- { servers: "master-1:26257,master-2:26257,master-3:26257" }


- servers: "master-1:26257,master-2:26257,master-3:26257"
instances: 3
templateRef: cockroachdb-cluster/master
name: master
- action: Cluster
depends: { running: [ master ] }
name: workers
cluster:
templateRef: tikv/worker
instances: 256
inputs:
- { placementDriver: .service.master.any }


# Step 1: Load a new dataset, using the parameters of workload A.
# We use no throttling to maximize this step and complete it soon.
- placementDriver: .service.master.any
instances: 256
templateRef: tikv/worker
depends:
running:
- master
name: workers
- action: Cluster
name: loaders
depends: { running: [ master, workers ] }
cluster:
templateRef: ycsb-tikv/loader
inputs:
- { server: .service.master.any, recordcount: "100000000000", offset: "0", threads: "32" }
- offset: "0"
recordcount: "100000000000"
server: .service.master.any
threads: "32"
templateRef: ycsb-tikv/loader
depends:
running:
- master
- workers
name: loaders
withTelemetry:
importMonitors:
- sysmon/container
- ycsbmon/client
- cockroachmon/server
ingress:
host: platform.science-hangar.eu
6 changes: 3 additions & 3 deletions charts/cockroachdb/templates/database-cluster.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ kind: Template
metadata:
name: cockroachdb-cluster
labels:
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/managed-by: {{.Release.Service | quote}}
spec:
entries:
"master":
Expand All @@ -29,7 +29,7 @@ spec:
set -eum
trap "touch /dev/shm/stop" EXIT
echo "Start Cockroachdb in cluster: " {{"{{.Inputs.Parameters.servers}}"}}
echo "Start Cockroachdb: " {{"{{.Inputs.Parameters.servers}}"}}
cockroach start \
--insecure \
Expand Down Expand Up @@ -58,4 +58,4 @@ spec:
echo "Initiate cluster using $addr"
cockroach init --insecure --host=$addr
cockroach init --insecure --host=$addr
Loading

0 comments on commit c052f54

Please sign in to comment.