Skip to content

Commit

Permalink
feat: Windows HPC base image (#3105)
Browse files Browse the repository at this point in the history
feat: windows hpc base image

Signed-off-by: Evan Baker <[email protected]>
  • Loading branch information
rbtr authored Nov 12, 2024
1 parent 59a5022 commit a89254f
Show file tree
Hide file tree
Showing 17 changed files with 57 additions and 200 deletions.
22 changes: 3 additions & 19 deletions .pipelines/cni/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,30 +39,18 @@ stages:
arch: amd64
name: azure-ipam
os: linux
azure_ipam_windows2019_amd64:
azure_ipam_windows_amd64:
arch: amd64
name: azure-ipam
os: windows
os_version: ltsc2019
azure_ipam_windows2022_amd64:
arch: amd64
name: azure-ipam
os: windows
os_version: ltsc2022
cni_linux_amd64:
arch: amd64
name: cni
os: linux
cni_windows2019_amd64:
arch: amd64
name: cni
os: windows
os_version: ltsc2019
cni_windows2022_amd64:
cni_windows_amd64:
arch: amd64
name: cni
os: windows
os_version: ltsc2022
ipv6_hp_bpf_linux_amd64:
arch: amd64
name: ipv6-hp-bpf
Expand All @@ -71,18 +59,16 @@ stages:
arch: amd64
name: npm
os: linux
npm_windows2022_amd64:
npm_windows_amd64:
arch: amd64
name: npm
os: windows
os_version: ltsc2022
steps:
- template: ../containers/container-template.yaml
parameters:
arch: $(arch)
name: $(name)
os: $(os)
os_version: $(os_version)
- job: containerize_linux_arm64
displayName: Build Images
pool:
Expand Down Expand Up @@ -160,14 +146,12 @@ stages:
platforms: linux/amd64 linux/arm64 windows/amd64
cni:
name: cni
os_versions: ltsc2019 ltsc2022
platforms: linux/amd64 linux/arm64 windows/amd64
ipv6-hp-bpf:
name: ipv6-hp-bpf
platforms: linux/amd64 linux/arm64
npm:
name: npm
os_versions: ltsc2022
platforms: linux/amd64 linux/arm64 windows/amd64
steps:
- template: ../containers/manifest-template.yaml
Expand Down
4 changes: 1 addition & 3 deletions .pipelines/containers/container-template.steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ parameters:
arch: ""
name: ""
os: ""
os_version: ""

steps:
- task: AzureCLI@2
Expand All @@ -17,7 +16,7 @@ steps:
- script: |
set -e
if [ "$IN_OS" = 'windows' ]; then export BUILDX_ACTION='--push'; fi
make "$IMGNAME" OS="$IN_OS" ARCH="$IN_ARCH" OS_VERSION="$IN_OS_VERSION"
make "$IMGNAME" OS="$IN_OS" ARCH="$IN_ARCH"
name: image_build
displayName: Image Build
workingDirectory: $(ACN_DIR)
Expand All @@ -26,7 +25,6 @@ steps:
IMGNAME: '${{ parameters.name }}-image'
IN_OS: '${{ parameters.os }}'
IN_ARCH: '${{ parameters.arch }}'
IN_OS_VERSION: '${{ parameters.os_version }}'

- task: AzureCLI@2
displayName: "Logout"
Expand Down
3 changes: 1 addition & 2 deletions .pipelines/containers/container-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ parameters:
arch: ""
name: ""
os: ""
os_version: ""

steps:
- task: AzureCLI@2
Expand All @@ -17,7 +16,7 @@ steps:
- script: |
set -e
if [ ${{ parameters.os }} = 'windows' ]; then export BUILDX_ACTION='--push'; fi
make ${{ parameters.name }}-image OS=${{ parameters.os }} ARCH=${{ parameters.arch }} OS_VERSION=${{ parameters.os_version }}
make ${{ parameters.name }}-image OS=${{ parameters.os }} ARCH=${{ parameters.arch }}
name: image_build
displayName: Image Build
retryCountOnTaskFailure: 3
Expand Down
3 changes: 1 addition & 2 deletions .pipelines/containers/manifest-template.steps.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
parameters:
name: ""
platforms: ""
os_versions: ""

steps:

Expand All @@ -16,7 +15,7 @@ steps:
- script: |
set -e
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}" OS_VERSIONS="${{ parameters.os_versions }}"
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}"
workingDirectory: $(ACN_DIR)
name: manifest_build
displayName: Manifest Build
Expand Down
3 changes: 1 addition & 2 deletions .pipelines/containers/manifest-template.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
parameters:
name: ""
platforms: ""
os_versions: ""

steps:

Expand All @@ -16,7 +15,7 @@ steps:
- script: |
set -e
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}" OS_VERSIONS="${{ parameters.os_versions }}"
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}"
name: manifest_build
displayName: Manifest Build
retryCountOnTaskFailure: 3
Expand Down
2 changes: 1 addition & 1 deletion .pipelines/npm/npm-cni-integration-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
# deploy azure-npm-win
# Windows
kubectl apply -f npm/examples/windows/azure-npm.yaml
kubectl set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-${{ parameters.tag }}
kubectl set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-${{ parameters.tag }}
kubectl rollout status -n kube-system daemonset/azure-npm-win
# konnectivity agent tends to fail after rollout. Give it time to recover
Expand Down
4 changes: 2 additions & 2 deletions .pipelines/npm/npm-conformance-tests-latest-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ jobs:
az aks get-credentials -n $(AZURE_CLUSTER) -g $(RESOURCE_GROUP) --file ./kubeconfig
./kubectl --kubeconfig=./kubeconfig apply -f https://raw.githubusercontent.com/Azure/azure-container-networking/master/npm/examples/windows/azure-npm.yaml
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)
else
echo "Creating Linux Cluster";
Expand Down Expand Up @@ -409,7 +409,7 @@ jobs:
# ./kubectl --kubeconfig=./kubeconfig apply -f https://raw.githubusercontent.com/Azure/azure-container-networking/master/npm/examples/windows/azure-npm.yaml

# # swap azure-npm image with one built during run
# ./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
# ./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)

# echo "sleeping 3 minutes to allow NPM pods to restart"
# sleep 180
Expand Down
8 changes: 3 additions & 5 deletions .pipelines/npm/npm-conformance-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,16 @@ stages:
arch: amd64
name: npm
os: linux
npm_windows2022_amd64:
npm_windows_amd64:
arch: amd64
name: npm
os: windows
os_version: ltsc2022
steps:
- template: ../containers/container-template.yaml
parameters:
arch: $(arch)
name: $(name)
os: $(os)
os_version: $(os_version)

- stage: Create_Cluster_and_Run_Test
displayName: NPM Conformance
Expand Down Expand Up @@ -204,7 +202,7 @@ stages:
az aks get-credentials -n $(AZURE_CLUSTER) -g $(RESOURCE_GROUP) --file ./kubeconfig
./kubectl --kubeconfig=./kubeconfig apply -f $(Pipeline.Workspace)/s/npm/examples/windows/azure-npm.yaml
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)
else
echo "Creating Linux Cluster";
Expand Down Expand Up @@ -515,7 +513,7 @@ stages:
# ./kubectl --kubeconfig=./kubeconfig apply -f $(Pipeline.Workspace)/s/npm/examples/windows/azure-npm.yaml

# # swap azure-npm image with one built during run
# ./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
# ./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)

# echo "sleeping and waiting for NPM pods to be ready..."
# sleep 1m
Expand Down
2 changes: 1 addition & 1 deletion .pipelines/npm/npm-cyc-win-tests-latest-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ jobs:
./kubectl --kubeconfig=./kubeconfig apply -f https://raw.githubusercontent.com/Azure/azure-container-networking/master/npm/examples/windows/azure-npm.yaml
# swap azure-npm image with one built during run
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
./kubectl --kubeconfig=./kubeconfig set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)
echo "sleeping 3 minutes to allow NPM pods to restart"
sleep 180
Expand Down
6 changes: 2 additions & 4 deletions .pipelines/npm/npm-scale-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,16 @@ jobs:
arch: amd64
name: npm
os: linux
npm_windows2022_amd64:
npm_windows_amd64:
arch: amd64
name: npm
os: windows
os_version: ltsc2022
steps:
- template: ../containers/container-template.yaml
parameters:
arch: $(arch)
name: $(name)
os: $(os)
os_version: $(os_version)

- job: Create_Cluster_and_Run_Test
timeoutInMinutes: 360
Expand Down Expand Up @@ -204,7 +202,7 @@ jobs:
# swap azure-npm image with one built during run
kubectl set image daemonset/azure-npm -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:linux-amd64-$(TAG)
kubectl set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-ltsc2022-$(TAG)
kubectl set image daemonset/azure-npm-win -n kube-system azure-npm=$IMAGE_REGISTRY/azure-npm:windows-amd64-$(TAG)
sleep 30s
echo "waiting for NPM to start running..."
Expand Down
42 changes: 4 additions & 38 deletions .pipelines/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,54 +110,26 @@ stages:
arch: amd64
name: azure-ipam
os: linux
azure_ipam_windows2019_amd64:
azure_ipam_windows:
arch: amd64
name: azure-ipam
os: windows
os_version: ltsc2019
azure_ipam_windows2022_amd64:
arch: amd64
name: azure-ipam
os: windows
os_version: ltsc2022
cni_linux_amd64:
arch: amd64
name: cni
os: linux
cni_windows2019_amd64:
arch: amd64
name: cni
os: windows
os_version: ltsc2019
cni_windows2022_amd64:
cni_windows_amd64:
arch: amd64
name: cni
os: windows
os_version: ltsc2022
cni_windows2025_amd64:
arch: amd64
name: cni
os: windows
os_version: ltsc2025
cns_linux_amd64:
arch: amd64
name: cns
os: linux
cns_windows2019_amd64:
arch: amd64
name: cns
os: windows
os_version: ltsc2019
cns_windows2022_amd64:
arch: amd64
name: cns
os: windows
os_version: ltsc2022
cns_windows2025_amd64:
cns_windows_amd64:
arch: amd64
name: cns
os: windows
os_version: ltsc2025
ipv6_hp_bpf_linux_amd64:
arch: amd64
name: ipv6-hp-bpf
Expand All @@ -166,11 +138,10 @@ stages:
arch: amd64
name: npm
os: linux
npm_windows2022_amd64:
npm_windows_amd64:
arch: amd64
name: npm
os: windows
os_version: ltsc2022
steps:
- template: containers/container-template.yaml
parameters:
Expand Down Expand Up @@ -226,28 +197,23 @@ stages:
matrix:
azure_ipam:
name: azure-ipam
os_versions: ltsc2019 ltsc2022
platforms: linux/amd64 linux/arm64 windows/amd64
cni:
name: cni
os_versions: ltsc2019 ltsc2022 ltsc2025
platforms: linux/amd64 linux/arm64 windows/amd64
cns:
name: cns
os_versions: ltsc2019 ltsc2022 ltsc2025
platforms: linux/amd64 linux/arm64 windows/amd64
ipv6_hp_bpf:
name: ipv6-hp-bpf
platforms: linux/amd64 linux/arm64
npm:
name: npm
os_versions: ltsc2022
platforms: linux/amd64 linux/arm64 windows/amd64
steps:
- template: containers/manifest-template.yaml
parameters:
name: $(name)
os_versions: $(os_versions)
platforms: $(platforms)

# Cilium Podsubnet E2E tests
Expand Down
Loading

0 comments on commit a89254f

Please sign in to comment.