Skip to content

Commit 9ae1c33

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents bad490c + 483257f commit 9ae1c33

File tree

9 files changed

+34
-148
lines changed

9 files changed

+34
-148
lines changed

.github/workflows/sync.yml

Lines changed: 0 additions & 118 deletions
This file was deleted.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ Integration of this stack into the Open Data Hub is owned by the Distributed Wor
2424

2525
| Component | Version |
2626
|------------------------------|---------|
27-
| CodeFlare Operator | v0.2.3 |
28-
| Multi-Cluster App Dispatcher | v1.34.1 |
29-
| CodeFlare-SDK | v0.7.1 |
30-
| InstaScale | v0.0.8 |
27+
| CodeFlare Operator | v1.0.0-rc.1 |
28+
| Multi-Cluster App Dispatcher | v1.35.0 |
29+
| CodeFlare-SDK | v0.8.0 |
30+
| InstaScale | v0.0.9 |
3131
| KubeRay | v0.6.0 |
3232
<!-- Compatibility Matrix end -->
3333

codeflare-stack/base/codeflare-notebook-imagestream.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ spec:
1313
tags:
1414
- annotations:
1515
openshift.io/imported-from: quay.io/project-codeflare/notebook
16-
name: v0.7.1
16+
name: v0.8.0
1717
from:
1818
kind: DockerImage
19-
name: quay.io/project-codeflare/notebook:v0.7.1
19+
name: quay.io/project-codeflare/notebook:v0.8.0
2020
importPolicy:
21-
scheduled: true
21+
scheduled: true

codeflare-stack/rbac/mcad-controller-ray-clusterrolebinding.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ metadata:
44
name: mcad-controller-ray-clusterrolebinding
55
subjects:
66
- kind: ServiceAccount
7-
name: mcad-controller-mcad
8-
namespace: $(namespace)
7+
name: codeflare-operator-controller-manager
8+
namespace: openshift-operators
99
roleRef:
1010
apiGroup: rbac.authorization.k8s.io
1111
kind: ClusterRole

tests/basictests/distributed-workloads.sh

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ function test_mcad_torchx_functionality() {
3333

3434
########### Clean Cluster should be free of these resources ############
3535
# Get appwrapper name
36-
AW=$(oc get appwrapper -n ${ODHPROJECT} | grep mnistjob | cut -d ' ' -f 1) || true
36+
AW=$(oc get appwrapper.workload.codeflare.dev -n ${ODHPROJECT} | grep mnistjob | cut -d ' ' -f 1) || true
3737
# Clean up resources
3838
if [[ -n $AW ]]; then
39-
os::cmd::expect_success "oc delete appwrapper $AW -n ${ODHPROJECT} || true"
39+
os::cmd::expect_success "oc delete appwrapper.workload.codeflare.dev $AW -n ${ODHPROJECT} || true"
4040
fi
4141
os::cmd::expect_success "oc delete notebook jupyter-nb-kube-3aadmin -n ${ODHPROJECT} || true"
4242
os::cmd::expect_success "oc delete cm notebooks-mcad -n ${ODHPROJECT} || true"
@@ -50,7 +50,9 @@ function test_mcad_torchx_functionality() {
5050
os::cmd::expect_success "oc create configmap notebooks-mcad -n ${ODHPROJECT} --from-file=${RESOURCEDIR}/mnist_mcad_mini.ipynb"
5151

5252
# Get Token
53-
local TESTUSER_BEARER_TOKEN="$(curl -skiL -u $TEST_USER:$TEST_PASS -H 'X-CSRF-Token: xxx' "$OPENSHIFT_OAUTH_ENDPOINT/oauth/authorize?response_type=token&client_id=openshift-challenging-client" | grep -oE 'access_token=[^&]*'| sed 's/access_token=//')"
53+
local TESTUSER_BEARER_TOKEN="$(curl -skiL -u $TEST_USER:$TEST_PASS -H 'X-CSRF-Token: xxx' "$OPENSHIFT_OAUTH_ENDPOINT/oauth/authorize?response_type=token&client_id=openshift-challenging-client" | grep -oP 'access_token=\K[^&]*')"
54+
55+
# Spawn notebook-server using the codeflare custom nb image
5456
os::cmd::expect_success "cat ${RESOURCEDIR}/custom-nb-small.yaml \
5557
| sed s/%INGRESS%/$(oc get ingresses.config/cluster -o jsonpath={.spec.domain})/g \
5658
| sed s/%OCPSERVER%/$(oc whoami --show-server=true|cut -f3 -d "/")/g \
@@ -62,16 +64,16 @@ function test_mcad_torchx_functionality() {
6264
os::cmd::try_until_text "oc get pod -n ${ODHPROJECT} | grep "jupyter-nb-kube-3aadmin" | awk '{print \$2}'" "2/2" $odhdefaulttimeout $odhdefaultinterval
6365

6466
# Wait for appwrapper to exist
65-
os::cmd::try_until_text "oc get appwrapper -n ${ODHPROJECT} | grep mnistjob" "mnistjob-*" $odhdefaulttimeout $odhdefaultinterval
67+
os::cmd::try_until_text "oc get appwrapper.workload.codeflare.dev -n ${ODHPROJECT} | grep mnistjob" "mnistjob-*" $odhdefaulttimeout $odhdefaultinterval
6668

6769
# Get appwrapper name
68-
AW=$(oc get appwrapper -n ${ODHPROJECT} | grep mnistjob | cut -d ' ' -f 1)
70+
AW=$(oc get appwrapper.workload.codeflare.dev -n ${ODHPROJECT} | grep mnistjob | cut -d ' ' -f 1)
6971

7072
# Wait for the mnisttest appwrapper state to become running
71-
os::cmd::try_until_text "oc get appwrapper $AW -n ${ODHPROJECT} -ojsonpath='{.status.state}'" "Running" $odhdefaulttimeout $odhdefaultinterval
73+
os::cmd::try_until_text "oc get appwrapper.workload.codeflare.dev $AW -n ${ODHPROJECT} -ojsonpath='{.status.state}'" "Running" $odhdefaulttimeout $odhdefaultinterval
7274

7375
# Wait for workload to succeed and clean up
74-
os::cmd::try_until_text "oc get appwrapper $AW -n ${ODHPROJECT}" ".*NotFound.*" $odhdefaulttimeout $odhdefaultinterval
76+
os::cmd::try_until_text "oc get appwrapper.workload.codeflare.dev $AW -n ${ODHPROJECT}" "*NotFound*" $odhdefaulttimeout $odhdefaultinterval
7577

7678
# Test clean up resources
7779
os::cmd::expect_success "oc delete notebook jupyter-nb-kube-3aadmin -n ${ODHPROJECT}"
@@ -80,8 +82,8 @@ function test_mcad_torchx_functionality() {
8082
os::cmd::expect_success "oc delete cm notebooks-mcad -n ${ODHPROJECT} || true"
8183
os::cmd::expect_failure "oc get cm notebooks-mcad -n ${ODHPROJECT}"
8284

83-
os::cmd::expect_success "oc delete appwrapper $AW -n ${ODHPROJECT} || true"
84-
os::cmd::expect_failure "oc get appwrapper $AW -n ${ODHPROJECT}"
85+
os::cmd::expect_success "oc delete appwrapper.workload.codeflare.dev $AW -n ${ODHPROJECT} || true"
86+
os::cmd::expect_failure "oc get appwrapper.workload.codeflare.dev $AW -n ${ODHPROJECT}"
8587

8688
os::cmd::expect_success "oc delete pvc jupyterhub-nb-kube-3aadmin-pvc -n ${ODHPROJECT} || true"
8789
os::cmd::expect_failure "oc get pvc jupyterhub-nb-kube-3aadmin-pvc -n ${ODHPROJECT}"
@@ -94,7 +96,7 @@ function test_mcad_ray_functionality() {
9496
# Clean up resources
9597
os::cmd::expect_success "oc delete notebook jupyter-nb-kube-3aadmin -n ${ODHPROJECT} || true"
9698
os::cmd::expect_success "oc delete cm notebooks-ray -n ${ODHPROJECT} || true"
97-
os::cmd::expect_success "oc delete appwrapper mnisttest -n ${ODHPROJECT} || true"
99+
os::cmd::expect_success "oc delete appwrapper.workload.codeflare.dev mnisttest -n ${ODHPROJECT} || true"
98100
os::cmd::expect_success "oc delete raycluster mnisttest -n ${ODHPROJECT} || true"
99101
os::cmd::expect_success "oc delete pvc jupyterhub-nb-kube-3aadmin-pvc -n ${ODHPROJECT} || true"
100102
##############################################################################
@@ -106,7 +108,7 @@ function test_mcad_ray_functionality() {
106108
os::cmd::expect_success "oc create configmap notebooks-ray -n ${ODHPROJECT} --from-file=${RESOURCEDIR}/mnist_ray_mini.ipynb --from-file=${RESOURCEDIR}/mnist.py --from-file=${RESOURCEDIR}/requirements.txt"
107109

108110
# Get Token
109-
local TESTUSER_BEARER_TOKEN="$(curl -skiL -u $TEST_USER:$TEST_PASS -H 'X-CSRF-Token: xxx' "$OPENSHIFT_OAUTH_ENDPOINT/oauth/authorize?response_type=token&client_id=openshift-challenging-client" | grep -oE 'access_token=[^&]*'| sed 's/access_token=//')"
111+
local TESTUSER_BEARER_TOKEN="$(curl -skiL -u $TEST_USER:$TEST_PASS -H 'X-CSRF-Token: xxx' "$OPENSHIFT_OAUTH_ENDPOINT/oauth/authorize?response_type=token&client_id=openshift-challenging-client" | grep -oP 'access_token=\K[^&]*')"
110112

111113
# Spawn notebook-server using the codeflare custom nb image
112114
os::cmd::expect_success "cat ${RESOURCEDIR}/custom-nb-small.yaml \
@@ -120,13 +122,13 @@ function test_mcad_ray_functionality() {
120122
os::cmd::try_until_text "oc get pod -n ${ODHPROJECT} | grep "jupyter-nb-kube-3aadmin" | awk '{print \$2}'" "2/2" $odhdefaulttimeout $odhdefaultinterval
121123

122124
# Wait for the mnisttest appwrapper state to become running
123-
os::cmd::try_until_text "oc get appwrapper mnisttest -n ${ODHPROJECT} -ojsonpath='{.status.state}'" "Running" $odhdefaulttimeout $odhdefaultinterval
125+
os::cmd::try_until_text "oc get appwrapper.workload.codeflare.dev mnisttest -n ${ODHPROJECT} -ojsonpath='{.status.state}'" "Running" $odhdefaulttimeout $odhdefaultinterval
124126

125127
# Wait for Raycluster to be ready
126128
os::cmd::try_until_text "oc get raycluster -n ${ODHPROJECT} mnisttest -ojsonpath='{.status.state}'" "ready" $odhdefaulttimeout $odhdefaultinterval
127129

128130
# Wait for job to be completed and cleaned up
129-
os::cmd::try_until_text "oc get appwrapper mnisttest -n ${ODHPROJECT}" ".*NotFound.*" $odhdefaulttimeout $odhdefaultinterval
131+
os::cmd::try_until_text "oc get appwrapper.workload.codeflare.dev mnisttest -n ${ODHPROJECT}" "*NotFound*" $odhdefaulttimeout $odhdefaultinterval
130132
os::cmd::expect_failure "oc get raycluster mnisttest -n ${ODHPROJECT}"
131133

132134
# Test clean up resources
@@ -136,8 +138,8 @@ function test_mcad_ray_functionality() {
136138
os::cmd::expect_success "oc delete cm notebooks-ray -n ${ODHPROJECT} || true"
137139
os::cmd::expect_failure "oc get cm notebooks-ray -n ${ODHPROJECT}"
138140

139-
os::cmd::expect_success "oc delete appwrapper mnisttest -n ${ODHPROJECT} || true"
140-
os::cmd::expect_failure "oc get appwrapper mnisttest -n ${ODHPROJECT}"
141+
os::cmd::expect_success "oc delete appwrapper.workload.codeflare.dev mnisttest -n ${ODHPROJECT} || true"
142+
os::cmd::expect_failure "oc get appwrapper.workload.codeflare.dev mnisttest -n ${ODHPROJECT}"
141143

142144
os::cmd::expect_success "oc delete raycluster mnisttest -n ${ODHPROJECT} || true"
143145
os::cmd::expect_failure "oc get raycluster mnisttest -n ${ODHPROJECT}"

tests/basictests/ray.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ function start_test_ray_cluster(){
2626
os::cmd::expect_success "oc project ${ODHPROJECT}"
2727
os::cmd::expect_success "oc apply -f ${RESOURCEDIR}/ray/ray-test-cluster-test.yaml"
2828
os::cmd::try_until_text "oc get RayCluster kuberay-cluster-test" "kuberay-cluster-test" $odhdefaulttimeout $odhdefaultinterval
29-
sleep 15
29+
os::cmd::try_until_text "oc get pods -l ray.io/identifier=kuberay-cluster-test-head -o jsonpath='{$.items[*].status.phase}'" "Running" $odhdefaulttimeout $odhdefaultinterval
30+
os::cmd::try_until_text "oc get pods -l ray.io/identifier=kuberay-cluster-test-worker -o jsonpath='{$.items[*].status.phase}'" "Running" $odhdefaulttimeout $odhdefaultinterval
3031
}
3132

3233
function check_functionality(){

tests/resources/codeflare-subscription.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ spec:
99
source: community-operators
1010
sourceNamespace: openshift-marketplace
1111
installPlanApproval: Manual
12-
startingCSV: codeflare-operator.v0.1.0
12+
startingCSV: codeflare-operator.v0.2.3

tests/resources/custom-nb-small.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ kind: Notebook
1010
metadata:
1111
annotations:
1212
notebooks.opendatahub.io/inject-oauth: "true"
13-
notebooks.opendatahub.io/last-image-selection: codeflare-notebook:latest
13+
notebooks.opendatahub.io/last-image-selection: codeflare-notebook:v0.7.1
1414
notebooks.opendatahub.io/last-size-selection: Small
1515
notebooks.opendatahub.io/oauth-logout-url: https://odh-dashboard-%NAMESPACE%.%INGRESS%/notebookController/kube-3aadmin/home
1616
opendatahub.io/link: https://jupyter-nb-kube-3aadmin-%NAMESPACE%.%INGRESS%/notebook/%NAMESPACE%/jupyter-nb-kube-3aadmin
@@ -47,14 +47,14 @@ spec:
4747
--ServerApp.quit_button=False
4848
--ServerApp.tornado_settings={"user":"kube-3aadmin","hub_host":"https://odh-dashboard-%NAMESPACE%.%INGRESS%","hub_prefix":"/notebookController/kube-3aadmin"}
4949
- name: JUPYTER_IMAGE
50-
value: image-registry.openshift-image-registry.svc:5000/%NAMESPACE%/codeflare-notebook:latest
50+
value: image-registry.openshift-image-registry.svc:5000/%NAMESPACE%/codeflare-notebook:v0.7.1
5151
- name: JUPYTER_NOTEBOOK_PORT
5252
value: "8888"
5353
- name: OCP_SERVER
5454
value: https://%OCPSERVER%
5555
- name: OCP_TOKEN
5656
value: %OCPTOKEN%
57-
image: image-registry.openshift-image-registry.svc:5000/%NAMESPACE%/codeflare-notebook:latest
57+
image: image-registry.openshift-image-registry.svc:5000/%NAMESPACE%/codeflare-notebook:v0.7.1
5858
command: ["/bin/sh", "-c", "pip install papermill && oc login --token=${OCP_TOKEN} --server=${OCP_SERVER} --insecure-skip-tls-verify=true && papermill /opt/app-root/notebooks-%JOBTYPE%/mnist_%JOBTYPE%_mini.ipynb /opt/app-root/src/mcad-out.ipynb && sleep infinity"]
5959
# args: ["pip install papermill && oc login --token=${OCP_TOKEN} --server=${OCP_SERVER} --insecure-skip-tls-verify=true && papermill /opt/app-root/notebooks/mcad.ipynb /opt/app-root/src/mcad-out.ipynb" ]
6060
imagePullPolicy: Always

tests/resources/mnist_ray_mini.ipynb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"outputs": [],
3939
"source": [
4040
"# Bring up the cluster\n",
41-
"cluster.up()"
41+
"cluster.up()\n",
42+
"sleep(10)"
4243
]
4344
},
4445
{

0 commit comments

Comments
 (0)