Skip to content

Commit 3f3fad0

Browse files
committed
fix: roberta self-test was not base64-decoding slack secrets
Also not the correct channel field in the payload. This PR adds some helpers, resume.sh and suspend.sh, on the periodic task.
1 parent 2c42713 commit 3f3fad0

File tree

6 files changed

+39
-25
lines changed

6 files changed

+39
-25
lines changed

Diff for: deploy/self-test/roberta/1gpu/once.yaml

+6-10
Original file line numberDiff line numberDiff line change
@@ -49,32 +49,28 @@ spec:
4949
serviceAccountName: codeflare-self-test-serviceaccount
5050
containers:
5151
- name: self-test
52-
image: ghcr.io/project-codeflare/codeflare-self-test:0.11.0
52+
image: ghcr.io/project-codeflare/codeflare-self-test:0.11.1
5353
env:
5454
# - name: GUIDEBOOK_RUN_ARGS
5555
# value: "-V"
5656
- name: VARIANTS
5757
value: roberta-1gpu
58-
- name: SLACK_TEAMID
58+
- name: SLACK_URL
5959
valueFrom:
6060
secretKeyRef:
6161
name: codeflare-self-test-slack
62-
key: TEAMID
63-
- name: SLACK_CHANNELID
62+
key: URL
63+
- name: SLACK_CHANNEL
6464
valueFrom:
6565
secretKeyRef:
6666
name: codeflare-self-test-slack
67-
key: CHANNELID
68-
- name: SLACK_TOKEN
69-
valueFrom:
70-
secretKeyRef:
71-
name: codeflare-self-test-slack
72-
key: TOKEN
67+
key: CHANNEL
7368
- name: SLACK_USERNAME
7469
valueFrom:
7570
secretKeyRef:
7671
name: codeflare-self-test-slack
7772
key: USERNAME
73+
optional: true
7874
- name: ML_CODEFLARE_ROBERTA_GITHUB_USER
7975
valueFrom:
8076
secretKeyRef:

Diff for: deploy/self-test/roberta/1gpu/periodic.yaml

+6-5
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,22 @@ spec:
5353
serviceAccountName: codeflare-self-test-serviceaccount
5454
containers:
5555
- name: self-test
56-
image: ghcr.io/project-codeflare/codeflare-self-test:0.11.0
56+
image: ghcr.io/project-codeflare/codeflare-self-test:0.11.1
5757
env:
5858
# - name: GUIDEBOOK_RUN_ARGS
5959
# value: "-V"
6060
- name: VARIANTS
6161
value: roberta-1gpu
62-
- name: SLACK_TEAMID
62+
- name: SLACK_URL
6363
valueFrom:
6464
secretKeyRef:
6565
name: codeflare-self-test-slack
66-
key: TEAMID
67-
- name: SLACK_CHANNELID
66+
key: URL
67+
- name: SLACK_CHANNEL
6868
valueFrom:
6969
secretKeyRef:
7070
name: codeflare-self-test-slack
71-
key: CHANNELID
71+
key: CHANNEL
7272
- name: SLACK_TOKEN
7373
valueFrom:
7474
secretKeyRef:
@@ -79,6 +79,7 @@ spec:
7979
secretKeyRef:
8080
name: codeflare-self-test-slack
8181
key: USERNAME
82+
optional: true
8283
- name: ML_CODEFLARE_ROBERTA_GITHUB_USER
8384
valueFrom:
8485
secretKeyRef:

Diff for: deploy/self-test/roberta/1gpu/resume.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#
2+
# Resumes the `periodic` cronjob.
3+
#
4+
5+
kubectl patch cronjobs codeflare-self-test-roberta-1gpu-periodic -p '{"spec" : {"suspend" : false }}'

Diff for: deploy/self-test/roberta/1gpu/suspend.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#
2+
# Suspends the `periodic` cronjob. This is useful if you want to sneak
3+
# in a `once` run for debugging.
4+
#
5+
6+
kubectl patch cronjobs codeflare-self-test-roberta-1gpu-periodic -p '{"spec" : {"suspend" : true }}'

Diff for: deploy/self-test/self-test.sh

+13-7
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,7 @@ echo "Using these variants: $variants"
2020
function cleanup {
2121
STATUS=$?
2222

23-
TEAMID=$SLACK_TEAMID
24-
CHANNELID=$SLACK_CHANNELID
25-
TOKEN=$SLACK_TOKEN
26-
USERNAME=${SLACK_USERNAME-"Self-test Bot"}
27-
28-
if [ -n "$TEAMID" ] && [ -n "$CHANNELID" ] && [ -n "$TOKEN" ]; then
23+
if [ -n "$SLACK_URL" ] && [ -n "$SLACK_CHANNEL" ]; then
2924
if [ "$STATUS" = "0" ]; then
3025
ICON=":green_heart:"
3126
TEXT="$(date)\nSuccessful run\nVariants: $variants"
@@ -35,10 +30,21 @@ function cleanup {
3530
# TODO, add tee'd logs of failing run
3631
fi
3732

33+
URL=$(echo $SLACK_URL | base64 -d)
34+
CHANNEL=$(echo $SLACK_CHANNEL | base64 -d)
35+
36+
if [ -n "$SLACK_USERNAME" ]; then
37+
USERNAME=$(echo $SLACK_USERNAME | base64 -d)
38+
else
39+
USERNAME="Self-test Bot"
40+
fi
3841

42+
echo "Posting to slack status=$STATUS to $URL"
3943
curl -X POST \
4044
--data-urlencode "payload={\"channel\": \"#$CHANNEL\", \"username\": \"$USERNAME\", \"text\": \"$TEXT\", \"icon_emoji\": \"$ICON\"}" \
41-
https://hooks.slack.com/services/$TEAMID/$CHANNELID/$TOKEN
45+
$URL
46+
else
47+
echo "Skipping post to slack url?=${#SLACK_URL} channel?=${#SLACK_CHANNEL}"
4248
fi
4349
}
4450

Diff for: docs/self-test/roberta/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ export SLACK_TOKEN=mytoken
5757

5858
```shell
5959
kubectl create secret generic codeflare-self-test-slack \
60-
--from-literal=TEAMID=$(echo -n SLACK_TEAMID | base64) \
61-
--from-literal=CHANNELID=$(echo -n SLACK_CHANNELID | base64) \
62-
--from-literal=TOKEN=$(echo -n SLACK_TOKEN | base64)
60+
--from-literal=TEAMID=$(echo -n $SLACK_TEAMID | base64) \
61+
--from-literal=CHANNELID=$(echo -n $SLACK_CHANNELID | base64) \
62+
--from-literal=TOKEN=$(echo -n $SLACK_TOKEN | base64)
6363
```
6464

6565
### Deploy the automation

0 commit comments

Comments
 (0)