Skip to content

Commit fb4d0ab

Browse files
authored
backport: Windows HPC base image (#3105)
Signed-off-by: Evan Baker <[email protected]>
1 parent 269fc2d commit fb4d0ab

File tree

13 files changed

+44
-221
lines changed

13 files changed

+44
-221
lines changed

.pipelines/cni/pipeline.yaml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,46 +39,32 @@ stages:
3939
arch: amd64
4040
name: azure-ipam
4141
os: linux
42-
azure_ipam_windows2019_amd64:
42+
azure_ipam_windows_amd64:
4343
arch: amd64
4444
name: azure-ipam
4545
os: windows
46-
os_version: ltsc2019
47-
azure_ipam_windows2022_amd64:
48-
arch: amd64
49-
name: azure-ipam
50-
os: windows
51-
os_version: ltsc2022
5246
cni_linux_amd64:
5347
arch: amd64
5448
name: cni
5549
os: linux
56-
cni_windows2019_amd64:
57-
arch: amd64
58-
name: cni
59-
os: windows
60-
os_version: ltsc2019
61-
cni_windows2022_amd64:
50+
cni_windows_amd64:
6251
arch: amd64
6352
name: cni
6453
os: windows
65-
os_version: ltsc2022
6654
npm_linux_amd64:
6755
arch: amd64
6856
name: npm
6957
os: linux
70-
npm_windows2022_amd64:
58+
npm_windows_amd64:
7159
arch: amd64
7260
name: npm
7361
os: windows
74-
os_version: ltsc2022
7562
steps:
7663
- template: ../containers/container-template.yaml
7764
parameters:
7865
arch: $(arch)
7966
name: $(name)
8067
os: $(os)
81-
os_version: $(os_version)
8268
- job: containerize_linux_arm64
8369
displayName: Build Images
8470
pool:
@@ -152,17 +138,14 @@ stages:
152138
platforms: linux/amd64 linux/arm64 windows/amd64
153139
cni:
154140
name: cni
155-
os_versions: ltsc2019 ltsc2022
156141
platforms: linux/amd64 linux/arm64 windows/amd64
157142
npm:
158143
name: npm
159-
os_versions: ltsc2022
160144
platforms: linux/amd64 linux/arm64 windows/amd64
161145
steps:
162146
- template: ../containers/manifest-template.yaml
163147
parameters:
164148
name: $(name)
165-
os_versions: $(os_versions)
166149
platforms: $(platforms)
167150

168151
## Windows E2E

.pipelines/containers/container-template.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ parameters:
22
arch: ""
33
name: ""
44
os: ""
5-
os_version: ""
65

76
steps:
87
- task: AzureCLI@2
@@ -17,7 +16,7 @@ steps:
1716
- script: |
1817
set -e
1918
if [ ${{ parameters.os }} = 'windows' ]; then export BUILDX_ACTION='--push'; fi
20-
make ${{ parameters.name }}-image OS=${{ parameters.os }} ARCH=${{ parameters.arch }} OS_VERSION=${{ parameters.os_version }}
19+
make ${{ parameters.name }}-image OS=${{ parameters.os }} ARCH=${{ parameters.arch }}
2120
name: image_build
2221
displayName: Image Build
2322
retryCountOnTaskFailure: 3

.pipelines/containers/manifest-template.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
parameters:
22
name: ""
33
platforms: ""
4-
os_versions: ""
54

65
steps:
76

@@ -16,7 +15,7 @@ steps:
1615
1716
- script: |
1817
set -e
19-
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}" OS_VERSIONS="${{ parameters.os_versions }}"
18+
make ${{ parameters.name }}-manifest-build PLATFORMS="${{ parameters.platforms }}"
2019
name: manifest_build
2120
displayName: Manifest Build
2221
retryCountOnTaskFailure: 3

.pipelines/pipeline.yaml

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -110,44 +110,26 @@ stages:
110110
arch: amd64
111111
name: azure-ipam
112112
os: linux
113-
azure_ipam_windows2019_amd64:
113+
azure_ipam_windows_amd64:
114114
arch: amd64
115115
name: azure-ipam
116116
os: windows
117-
os_version: ltsc2019
118-
azure_ipam_windows2022_amd64:
119-
arch: amd64
120-
name: azure-ipam
121-
os: windows
122-
os_version: ltsc2022
123117
cni_linux_amd64:
124118
arch: amd64
125119
name: cni
126120
os: linux
127-
cni_windows2019_amd64:
121+
cni_windows_amd64:
128122
arch: amd64
129123
name: cni
130124
os: windows
131-
os_version: ltsc2019
132-
cni_windows2022_amd64:
133-
arch: amd64
134-
name: cni
135-
os: windows
136-
os_version: ltsc2022
137125
cns_linux_amd64:
138126
arch: amd64
139127
name: cns
140128
os: linux
141-
cns_windows2019_amd64:
142-
arch: amd64
143-
name: cns
144-
os: windows
145-
os_version: ltsc2019
146-
cns_windows2022_amd64:
129+
cns_windows_amd64:
147130
arch: amd64
148131
name: cns
149132
os: windows
150-
os_version: ltsc2022
151133
ipv6_hp_bpf_linux_amd64:
152134
arch: amd64
153135
name: ipv6-hp-bpf
@@ -156,18 +138,16 @@ stages:
156138
arch: amd64
157139
name: npm
158140
os: linux
159-
npm_windows2022_amd64:
141+
npm_windows_amd64:
160142
arch: amd64
161143
name: npm
162144
os: windows
163-
os_version: ltsc2022
164145
steps:
165146
- template: containers/container-template.yaml
166147
parameters:
167148
arch: $(arch)
168149
name: $(name)
169150
os: $(os)
170-
os_version: $(os_version)
171151
- job: containerize_linux_arm64
172152
displayName: Build Images
173153
pool:
@@ -216,28 +196,23 @@ stages:
216196
matrix:
217197
azure_ipam:
218198
name: azure-ipam
219-
os_versions: ltsc2019 ltsc2022
220199
platforms: linux/amd64 linux/arm64 windows/amd64
221200
cni:
222201
name: cni
223-
os_versions: ltsc2019 ltsc2022
224202
platforms: linux/amd64 linux/arm64 windows/amd64
225203
cns:
226204
name: cns
227-
os_versions: ltsc2019 ltsc2022
228205
platforms: linux/amd64 linux/arm64 windows/amd64
229206
ipv6_hp_bpf:
230207
name: ipv6-hp-bpf
231208
platforms: linux/amd64 linux/arm64
232209
npm:
233210
name: npm
234-
os_versions: ltsc2022
235211
platforms: linux/amd64 linux/arm64 windows/amd64
236212
steps:
237213
- template: containers/manifest-template.yaml
238214
parameters:
239215
name: $(name)
240-
os_versions: $(os_versions)
241216
platforms: $(platforms)
242217

243218
# Cilium Podsubnet E2E tests

Makefile

Lines changed: 28 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ GOOS ?= $(shell go env GOOS)
2020
GOARCH ?= $(shell go env GOARCH)
2121
GOOSES ?= "linux windows" # To override at the cli do: GOOSES="\"darwin bsd\""
2222
GOARCHES ?= "amd64 arm64" # To override at the cli do: GOARCHES="\"ppc64 mips\""
23-
ltsc2019 = "10.0.17763.4010"
24-
ltsc2022 = "10.0.20348.643"
2523

2624
# Windows specific extensions
2725
# set these based on the GOOS, not the OS
@@ -274,15 +272,15 @@ CNS_IMAGE = azure-cns
274272
NPM_IMAGE = azure-npm
275273

276274
## Image platform tags.
277-
ACNCLI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(ACN_VERSION)
278-
AZURE_IPAM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(AZURE_IPAM_VERSION)
279-
AZURE_IPAM_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(AZURE_IPAM_VERSION)-$(OS_SKU_WIN)
280-
IPV6_HP_BPF_IMAGE_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(IPV6_HP_BPF_VERSION)
281-
CNI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNI_VERSION)
282-
CNI_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNI_VERSION)-$(OS_SKU_WIN)
283-
CNS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNS_VERSION)
284-
CNS_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNS_VERSION)-$(OS_SKU_WIN)
285-
NPM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(NPM_VERSION)
275+
ACNCLI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(ACN_VERSION)
276+
AZURE_IPAM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(AZURE_IPAM_VERSION)
277+
AZURE_IPAM_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(AZURE_IPAM_VERSION)
278+
IPV6_HP_BPF_IMAGE_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(IPV6_HP_BPF_VERSION)
279+
CNI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(CNI_VERSION)
280+
CNI_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(CNI_VERSION)
281+
CNS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(CNS_VERSION)
282+
CNS_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(CNS_VERSION)
283+
NPM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))-$(NPM_VERSION)
286284

287285

288286
qemu-user-static: ## Set up the host to run qemu multiplatform container builds.
@@ -316,8 +314,7 @@ container: # util target to build container images. do not invoke directly.
316314
PLATFORM=$(PLATFORM) \
317315
TAG=$(TAG) \
318316
OS=$(OS) \
319-
ARCH=$(ARCH) \
320-
OS_VERSION=$(OS_VERSION)
317+
ARCH=$(ARCH)
321318

322319
container-push: # util target to publish container image. do not invoke directly.
323320
$(CONTAINER_BUILDER) push \
@@ -367,12 +364,11 @@ azure-ipam-image: ## build azure-ipam container image.
367364
$(MAKE) container \
368365
DOCKERFILE=azure-ipam/$(OS).Dockerfile \
369366
IMAGE=$(AZURE_IPAM_IMAGE) \
370-
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION)' \
367+
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH)' \
371368
PLATFORM=$(PLATFORM) \
372369
TAG=$(AZURE_IPAM_PLATFORM_TAG) \
373370
OS=$(OS) \
374-
ARCH=$(ARCH) \
375-
OS_VERSION=$(OS_VERSION)
371+
ARCH=$(ARCH)
376372

377373
azure-ipam-image-push: ## push azure-ipam container image.
378374
$(MAKE) container-push \
@@ -396,12 +392,11 @@ ipv6-hp-bpf-image: ## build ipv6-hp-bpf container image.
396392
$(MAKE) container \
397393
DOCKERFILE=bpf-prog/ipv6-hp-bpf/$(OS).Dockerfile \
398394
IMAGE=$(IPV6_HP_BPF_IMAGE) \
399-
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION) --build-arg DEBUG=$(DEBUG)'\
395+
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg DEBUG=$(DEBUG)'\
400396
PLATFORM=$(PLATFORM) \
401397
TAG=$(IPV6_HP_BPF_IMAGE_PLATFORM_TAG) \
402398
OS=$(OS) \
403-
ARCH=$(ARCH) \
404-
OS_VERSION=$(OS_VERSION)
399+
ARCH=$(ARCH)
405400

406401
ipv6-hp-bpf-image-push: ## push ipv6-hp-bpf container image.
407402
$(MAKE) container-push \
@@ -425,12 +420,11 @@ cni-image: ## build cni container image.
425420
$(MAKE) container \
426421
DOCKERFILE=cni/$(OS).Dockerfile \
427422
IMAGE=$(CNI_IMAGE) \
428-
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION) --build-arg CNI_AI_PATH=$(CNI_AI_PATH) --build-arg CNI_AI_ID=$(CNI_AI_ID)' \
423+
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg CNI_AI_PATH=$(CNI_AI_PATH) --build-arg CNI_AI_ID=$(CNI_AI_ID)' \
429424
PLATFORM=$(PLATFORM) \
430425
TAG=$(CNI_PLATFORM_TAG) \
431426
OS=$(OS) \
432-
ARCH=$(ARCH) \
433-
OS_VERSION=$(OS_VERSION)
427+
ARCH=$(ARCH)
434428

435429
cni-image-push: ## push cni container image.
436430
$(MAKE) container-push \
@@ -455,12 +449,11 @@ cns-image: ## build cns container image.
455449
$(MAKE) container \
456450
DOCKERFILE=cns/$(OS).Dockerfile \
457451
IMAGE=$(CNS_IMAGE) \
458-
EXTRA_BUILD_ARGS='--build-arg CNS_AI_PATH=$(CNS_AI_PATH) --build-arg CNS_AI_ID=$(CNS_AI_ID) --build-arg OS_VERSION=$(OS_VERSION)' \
452+
EXTRA_BUILD_ARGS='--build-arg CNS_AI_PATH=$(CNS_AI_PATH) --build-arg CNS_AI_ID=$(CNS_AI_ID)' \
459453
PLATFORM=$(PLATFORM) \
460454
TAG=$(CNS_PLATFORM_TAG) \
461455
OS=$(OS) \
462-
ARCH=$(ARCH) \
463-
OS_VERSION=$(OS_VERSION)
456+
ARCH=$(ARCH)
464457

465458
cns-image-push: ## push cns container image.
466459
$(MAKE) container-push \
@@ -484,12 +477,11 @@ npm-image: ## build the npm container image.
484477
$(MAKE) container-$(CONTAINER_BUILDER) \
485478
DOCKERFILE=npm/$(OS).Dockerfile \
486479
IMAGE=$(NPM_IMAGE) \
487-
EXTRA_BUILD_ARGS='--build-arg NPM_AI_PATH=$(NPM_AI_PATH) --build-arg NPM_AI_ID=$(NPM_AI_ID) --build-arg OS_VERSION=$(OS_VERSION)' \
480+
EXTRA_BUILD_ARGS='--build-arg NPM_AI_PATH=$(NPM_AI_PATH) --build-arg NPM_AI_ID=$(NPM_AI_ID)' \
488481
PLATFORM=$(PLATFORM) \
489482
TAG=$(NPM_PLATFORM_TAG)\
490483
OS=$(OS) \
491-
ARCH=$(ARCH) \
492-
OS_VERSION=$(OS_VERSION)
484+
ARCH=$(ARCH)
493485

494486
npm-image-push: ## push npm container image.
495487
$(MAKE) container-push \
@@ -543,21 +535,18 @@ manifest-create:
543535
$(CONTAINER_BUILDER) manifest create $(IMAGE_REGISTRY)/$(IMAGE):$(TAG)
544536

545537
manifest-add:
546-
$(CONTAINER_BUILDER) manifest add --os=$(OS) --os-version=$($(OS_VERSION)) $(IMAGE_REGISTRY)/$(IMAGE):$(TAG) docker://$(IMAGE_REGISTRY)/$(IMAGE):$(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(TAG)
538+
$(CONTAINER_BUILDER) manifest add --os=$(OS) $(IMAGE_REGISTRY)/$(IMAGE):$(TAG) docker://$(IMAGE_REGISTRY)/$(IMAGE):$(subst /,-,$(PLATFORM))-$(TAG)
547539

548540
manifest-build: # util target to compose multiarch container manifests from platform specific images.
549541
$(MAKE) manifest-create
550542
$(foreach PLATFORM,$(PLATFORMS),\
551543
$(if $(filter $(PLATFORM),windows/amd64),\
552-
$(foreach OS_VERSION,$(OS_VERSIONS),\
553-
$(MAKE) manifest-add CONTAINER_BUILDER=$(CONTAINER_BUILDER) OS=windows OS_VERSION=$(OS_VERSION) PLATFORM=$(PLATFORM);\
554-
),\
555-
$(MAKE) manifest-add PLATFORM=$(PLATFORM);\
544+
$(MAKE) manifest-add CONTAINER_BUILDER=$(CONTAINER_BUILDER) OS=windows PLATFORM=$(PLATFORM);,\
545+
$(MAKE) manifest-add PLATFORM=$(PLATFORM);\
556546
)\
557547
)\
558548

559549

560-
561550
manifest-push: # util target to push multiarch container manifest.
562551
$(CONTAINER_BUILDER) manifest push --all $(IMAGE_REGISTRY)/$(IMAGE):$(TAG) docker://$(IMAGE_REGISTRY)/$(IMAGE):$(TAG)
563552

@@ -586,8 +575,7 @@ azure-ipam-manifest-build: ## build azure-ipam multiplat container manifest.
586575
$(MAKE) manifest-build \
587576
PLATFORMS="$(PLATFORMS)" \
588577
IMAGE=$(AZURE_IPAM_IMAGE) \
589-
TAG=$(AZURE_IPAM_VERSION) \
590-
OS_VERSIONS="$(OS_VERSIONS)"
578+
TAG=$(AZURE_IPAM_VERSION)
591579

592580
azure-ipam-manifest-push: ## push azure-ipam multiplat container manifest
593581
$(MAKE) manifest-push \
@@ -603,8 +591,7 @@ ipv6-hp-bpf-manifest-build: ## build ipv6-hp-bpf multiplat container manifest.
603591
$(MAKE) manifest-build \
604592
PLATFORMS="$(PLATFORMS)" \
605593
IMAGE=$(IPV6_HP_BPF_IMAGE) \
606-
TAG=$(IPV6_HP_BPF_VERSION) \
607-
OS_VERSIONS="$(OS_VERSIONS)"
594+
TAG=$(IPV6_HP_BPF_VERSION)
608595

609596
ipv6-hp-bpf-manifest-push: ## push ipv6-hp-bpf multiplat container manifest
610597
$(MAKE) manifest-push \
@@ -620,8 +607,7 @@ cni-manifest-build: ## build cni multiplat container manifest.
620607
$(MAKE) manifest-build \
621608
PLATFORMS="$(PLATFORMS)" \
622609
IMAGE=$(CNI_IMAGE) \
623-
TAG=$(CNI_VERSION) \
624-
OS_VERSIONS="$(OS_VERSIONS)"
610+
TAG=$(CNI_VERSION)
625611

626612
cni-manifest-push: ## push cni multiplat container manifest
627613
$(MAKE) manifest-push \
@@ -637,8 +623,7 @@ cns-manifest-build: ## build azure-cns multiplat container manifest.
637623
$(MAKE) manifest-build \
638624
PLATFORMS="$(PLATFORMS)" \
639625
IMAGE=$(CNS_IMAGE) \
640-
TAG=$(CNS_VERSION) \
641-
OS_VERSIONS="$(OS_VERSIONS)"
626+
TAG=$(CNS_VERSION)
642627

643628
cns-manifest-push: ## push cns multiplat container manifest
644629
$(MAKE) manifest-push \
@@ -654,8 +639,7 @@ npm-manifest-build: ## build azure-npm multiplat container manifest.
654639
$(MAKE) manifest-build \
655640
PLATFORMS="$(PLATFORMS)" \
656641
IMAGE=$(NPM_IMAGE) \
657-
TAG=$(NPM_VERSION) \
658-
OS_VERSIONS="$(OS_VERSIONS)"
642+
TAG=$(NPM_VERSION)
659643

660644
npm-manifest-push: ## push multiplat container manifest
661645
$(MAKE) manifest-push \

azure-ipam/linux.Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
ARG ARCH
22
ARG DROPGZ_VERSION=v0.0.12
3-
ARG OS_VERSION
43
ARG OS
54

65
FROM mcr.microsoft.com/oss/go/microsoft/golang:1.23 AS azure-ipam

0 commit comments

Comments
 (0)