From 5ac04313bc9d966544af7e0aeac72827db98b548 Mon Sep 17 00:00:00 2001 From: Nashwan Azhari Date: Mon, 13 Dec 2021 16:49:50 +0200 Subject: [PATCH] Parametrize CRITest test images in Windows Periodic workflow. This patch makes the Windows Periodic workflow pass specific test images to CRITest. This will allow full control over the container images used in workflow runs as opposed to relying on the hardcoded defaults in `cri-tools` to be compatible with all the tested Windows releases. Depends-On: https://github.com/kubernetes-sigs/cri-tools/pull/855 Signed-off-by: Nashwan Azhari --- .github/workflows/windows-periodic.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows-periodic.yml b/.github/workflows/windows-periodic.yml index 8bf25d1341b15..bc719d66d0f8d 100644 --- a/.github/workflows/windows-periodic.yml +++ b/.github/workflows/windows-periodic.yml @@ -23,6 +23,10 @@ env: DEFAULT_ADMIN_USERNAME: azureuser SSH_OPTS: "-o ServerAliveInterval=20 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" REMOTE_VM_BIN_PATH: "c:\\containerd\\bin" + BUSYBOX_TESTING_IMAGE_REF: "k8s.gcr.io/e2e-test-images/busybox:1.29-2" + RESOURCE_CONSUMER_TESTING_IMAGE_REF: "k8s.gcr.io/e2e-test-images/resource-consumer:1.10" + WEBSERVER_TESTING_IMAGE_REF: "k8s.gcr.io/e2e-test-images/nginx:1.14-2" + jobs: winIntegration: @@ -147,12 +151,15 @@ jobs: ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "sh.exe -c 'cd /c/containerd && (make integration | tee /c/Logs/integration.log)'" ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "sh.exe -c 'cat /c/Logs/integration.log | go-junit-report.exe > /c/Logs/junit_00.xml'" - # CRI-integration tests for Windows PR is not merged. TO DO (adelina-t): enable these when PR #5163 merges. - name: PrepareRepoList run: | ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "sh -c 'cat > c:/repolist.toml'" <<'EOF' - busybox = "k8s.gcr.io/e2e-test-images/busybox:1.29-2" - ResourceConsumer = "k8s.gcr.io/e2e-test-images/resource-consumer:1.10" + busybox = ${{ env.BUSYBOX_TESTING_IMAGE_REF }} + ResourceConsumer = ${{ env.RESOURCE_CONSUMER_TESTING_IMAGE_REF }} + EOF + ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "sh -c 'cat > c:/cri-test-images.yaml'" <<'EOF' + DefaultTestContainerImage: ${{ env.BUSYBOX_TESTING_IMAGE_REF }} + WebServerTestImage: ${{ env.WEBSERVER_TESTING_IMAGE_REF }} EOF - name: RunCRIIntegrationTests @@ -177,9 +184,10 @@ jobs: - name: RunCritest run: | - ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "powershell.exe -command { Start-Process -FilePath C:\containerd\bin\containerd.exe -NoNewWindow -RedirectStandardError true -PassThru ; get-process | sls containerd ; start-sleep 5 ; c:\cri-tools\build\bin\critest.exe --runtime-endpoint=\"npipe:\\\\.\\pipe\\containerd-containerd\" --report-dir='c:\Logs' }" + ssh -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }} "powershell.exe -command { Start-Process -FilePath C:\containerd\bin\containerd.exe -NoNewWindow -RedirectStandardError true -PassThru ; get-process | sls containerd ; start-sleep 5 ; c:\cri-tools\build\bin\critest.exe --runtime-endpoint=\"npipe:\\\\.\\pipe\\containerd-containerd\" --test-images-file='c:\cri-test-images.yaml' --report-dir='c:\Logs' }" - name: PullLogsFromWinNode + run: | scp -i $HOME/.ssh/id_rsa ${{ env.SSH_OPTS }} azureuser@${{ env.VM_PUB_IP }}:c:/Logs/*.xml ${{ env.LOGS_DIR }}/artifacts/ for f in $(ls ${{ env.LOGS_DIR }}/artifacts/*.xml); do