diff --git a/execution/.dockerignore b/execution/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..68e5f21c503a80d7db64722d700351a303ddb9dd --- /dev/null +++ b/execution/.dockerignore @@ -0,0 +1,9 @@ +* +!requirements.txt +!uc-workload-generator +!uc-application +!strategies +!lib +!theodolite.py +!run_uc.py +!lag_analysis.py diff --git a/execution/Dockerfile b/execution/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..e71bc91d9d31bea4c1598292e43d0ab7c193c3fa --- /dev/null +++ b/execution/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.8 + +RUN mkdir /app +WORKDIR /app +ADD requirements.txt /app/ +RUN pip install -r requirements.txt +COPY uc-workload-generator /app/uc-workload-generator +COPY uc-application /app/uc-application +COPY strategies /app/strategies +COPY lib /app/lib +COPY lag_analysis.py /app/ +COPY run_uc.py /app/ +COPY theodolite.py /app/ + +CMD ["python", "/app/theodolite.py"] diff --git a/execution/theodolite.yaml b/execution/theodolite.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e81c6ba1343f0a8f9989ef044d3fcbf1cc642ee3 --- /dev/null +++ b/execution/theodolite.yaml @@ -0,0 +1,67 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: theodolite +spec: + template: + spec: + containers: + - name: theodolite + image: theodolite:latest + imagePullPolicy: Never + env: + - name: UC + value: "1" + - name: LOADS + value: "13206, 19635" + - name: INSTANCES + value: "1, 2" + - name: DURATION + value: "3" + - name: PARTITIONS + value: "30" + # - name: COMMIT_MS + # value: "" + # - name: SEARCH_STRATEGY + # value: "" + # - name: CPU_LIMIT + # value: "" + # - name: MEMORY_LIMIT + # value: "" + - name: PROMETHEUS_BASE_URL + value: "http://prometheus-operated:9090" + - name: PYTHONUNBUFFERED + value: "1" + restartPolicy: Never + backoffLimit: 4 + +# --- +# apiVersion: v1 +# kind: ServiceAccount +# metadata: +# name: theodolite +# --- +# apiVersion: rbac.authorization.k8s.io/v1 +# kind: Role +# metadata: +# name: modify-pods +# rules: +# - apiGroups: [""] +# resources: +# - pods +# verbs: +# - get +# - list +# - delete +# --- +# apiVersion: rbac.authorization.k8s.io/v1 +# kind: RoleBinding +# metadata: +# name: modify-pods-to-sa +# subjects: +# - kind: ServiceAccount +# name: theodolite +# roleRef: +# kind: Role +# name: modify-pods +# apiGroup: rbac.authorization.k8s.io