diff --git a/.gitmodules b/.gitmodules index 2997528..0544560 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "testsuite/submodules/slurm-docker-cluster"] path = testsuite/submodules/slurm-docker-cluster url = git@github.com:DataWorkflowServices/slurm-docker-cluster.git -[submodule "testsuite/submodules/dws-test-driver"] - path = testsuite/submodules/dws-test-driver - url = git@github.com:DataWorkflowServices/dws-test-driver.git [submodule "testsuite/submodules/dws"] path = testsuite/submodules/dws url = git@github.com:DataWorkflowServices/dws.git +[submodule "testsuite/submodules/dws-test-driver"] + path = testsuite/submodules/dws-test-driver + url = git@github.com:DataWorkflowServices/dws-test-driver.git diff --git a/src/burst_buffer/burst_buffer.lua b/src/burst_buffer/burst_buffer.lua index 3667547..7b2d74e 100644 --- a/src/burst_buffer/burst_buffer.lua +++ b/src/burst_buffer/burst_buffer.lua @@ -406,6 +406,9 @@ end function DWS:kubectl_cache_home() local dir_exists = function(dname) + if dname == nil or dname == '' then + return false + end local cmd = "test -d " .. dname local done, _ = self:io_popen(cmd) return done diff --git a/testsuite/integration/Dockerfile b/testsuite/integration/Dockerfile index d400ad9..96fcbc2 100644 --- a/testsuite/integration/Dockerfile +++ b/testsuite/integration/Dockerfile @@ -2,6 +2,9 @@ FROM rockylinux:9 AS testbase COPY requirements.txt /requirements.txt +ARG TARGETARCH +ARG TARGETOS + RUN sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/rocky* && \ sed -i 's|^#baseurl=|baseurl=|' /etc/yum.repos.d/rocky* @@ -13,7 +16,7 @@ RUN yum update -y && \ dnf check-update && \ dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \ dnf install -y docker-ce-cli && \ - curl -k -LO "https://dl.k8s.io/release/$(curl -k -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \ + curl -k -LO "https://dl.k8s.io/release/$(curl -k -L -s https://dl.k8s.io/release/stable.txt)/bin/${TARGETOS}/${TARGETARCH}/kubectl" && \ install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \ pip install -r requirements.txt diff --git a/testsuite/integration/Makefile b/testsuite/integration/Makefile index 3c7cb6b..8f6b351 100644 --- a/testsuite/integration/Makefile +++ b/testsuite/integration/Makefile @@ -1,5 +1,5 @@ # -# Copyright 2022-2023 Hewlett Packard Enterprise Development LP +# Copyright 2022-2024 Hewlett Packard Enterprise Development LP # Other additional copyright holders may be indicated within. # # The entirety of this work is licensed under the Apache License, @@ -50,8 +50,8 @@ setup-dws-test-driver: @{\ set -e ; \ cd ../submodules/dws-test-driver ; \ - docker buildx build -t local/dws-test-driver:test --load . ; \ - IMAGE_TAG_BASE=local/dws-test-driver VERSION=test KIND_CLUSTER=dws make kind-push deploy ; \ + docker buildx build -t ghcr.io/dataworkflowservices/dws-test-driver:local-test --load . ; \ + VERSION=local-test KIND_CLUSTER=dws make kind-push deploy ; \ kubectl wait deployment --timeout=60s -n dws-test-system dws-test-driver-controller-manager --for condition=Available=True ; \ } diff --git a/testsuite/integration/docker-compose.yml b/testsuite/integration/docker-compose.yml index 463e1f5..3715a69 100644 --- a/testsuite/integration/docker-compose.yml +++ b/testsuite/integration/docker-compose.yml @@ -1,5 +1,5 @@ # -# Copyright 2022 Hewlett Packard Enterprise Development LP +# Copyright 2022-2024 Hewlett Packard Enterprise Development LP # Other additional copyright holders may be indicated within. # # The entirety of this work is licensed under the Apache License, @@ -24,8 +24,8 @@ services: image: local/integration-test:${TAG:-test} build: context: . - cache_from: - - "/tmp/.buildx-cache" + # cache_from: + # - local/integration-test:test container_name: integration-test privileged: true hostname: integration-test @@ -40,4 +40,4 @@ services: networks: default: name: slurm_default - external: true \ No newline at end of file + external: true diff --git a/testsuite/integration/kind/kind.sh b/testsuite/integration/kind/kind.sh index d27fe89..e529c38 100755 --- a/testsuite/integration/kind/kind.sh +++ b/testsuite/integration/kind/kind.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # -# Copyright 2022-2023 Hewlett Packard Enterprise Development LP +# Copyright 2022-2024 Hewlett Packard Enterprise Development LP # Other additional copyright holders may be indicated within. # # The entirety of this work is licensed under the Apache License, @@ -52,7 +52,7 @@ install_dependencies () { # Pull cert-manager into the local cache and push into KIND. Sometimes # the KIND env cannot pull it from upstream. - CERTVER=v1.11.1 + CERTVER=v1.13.1 for part in controller webhook cainjector do image=quay.io/jetstack/cert-manager-$part:$CERTVER @@ -71,7 +71,7 @@ install_dependencies () { prep_kubeconfig () { set -e cp ~/.kube/config kubeconfig - yq -i e '(.clusters | map(select(.name=="kind-dws")))[0].cluster.server |= "https://dws-control-plane:6443"' kubeconfig + KUBECONFIG=kubeconfig kubectl config set-cluster kind-dws --server https://dws-control-plane:6443 chmod a+r kubeconfig KUBECONFIG=kubeconfig kubectl config use-context kind-dws KUBECONFIG=kubeconfig kubectl config set-context --current --namespace=slurm diff --git a/testsuite/integration/requirements.txt b/testsuite/integration/requirements.txt index 3411ce5..a9d705a 100644 --- a/testsuite/integration/requirements.txt +++ b/testsuite/integration/requirements.txt @@ -1,6 +1,6 @@ pytest == 7 pytest-bdd == 6 -pytest-html == 3 -docker == 6 -kubernetes >= 25.3 -tenacity == 8 \ No newline at end of file +pytest-html == 4 +docker == 7 +kubernetes >= 27.2 +tenacity == 8 diff --git a/testsuite/integration/slurm/docker-compose.yml b/testsuite/integration/slurm/docker-compose.yml index 1d378b6..c66e57c 100644 --- a/testsuite/integration/slurm/docker-compose.yml +++ b/testsuite/integration/slurm/docker-compose.yml @@ -1,5 +1,5 @@ # -# Copyright 2022 Hewlett Packard Enterprise Development LP +# Copyright 2022-2024 Hewlett Packard Enterprise Development LP # Other additional copyright holders may be indicated within. # # The entirety of this work is licensed under the Apache License, @@ -57,8 +57,8 @@ services: context: ../../submodules/slurm-docker-cluster args: SLURM_TAG: ${SLURM_TAG:-slurm-22-05-4-1} - cache_from: - - "/tmp/.buildx-cache" + #cache_from: + # - slurm-bb:slurm-22-05-4-1 command: ["slurmctld"] container_name: slurmctld hostname: slurmctld diff --git a/testsuite/submodules/dws b/testsuite/submodules/dws index 8aa0d9d..2a48f6b 160000 --- a/testsuite/submodules/dws +++ b/testsuite/submodules/dws @@ -1 +1 @@ -Subproject commit 8aa0d9dd2c6942f1c3588d5bb758358083886ca2 +Subproject commit 2a48f6be482d01cf8f0efe6e8f60644c2f8620a7 diff --git a/testsuite/submodules/dws-test-driver b/testsuite/submodules/dws-test-driver index 96d2a0e..4af9238 160000 --- a/testsuite/submodules/dws-test-driver +++ b/testsuite/submodules/dws-test-driver @@ -1 +1 @@ -Subproject commit 96d2a0e548efd40d63d0cfb6fe14c394863827b6 +Subproject commit 4af9238df42a8b217279e9fe773119779abb9e76 diff --git a/testsuite/submodules/slurm-docker-cluster b/testsuite/submodules/slurm-docker-cluster index 4539462..0523947 160000 --- a/testsuite/submodules/slurm-docker-cluster +++ b/testsuite/submodules/slurm-docker-cluster @@ -1 +1 @@ -Subproject commit 453946243abac3b780e5fd1684107f7c12e2f863 +Subproject commit 052394799207641c5e4a83255e844de80210a80a