Skip to content

Commit 67c13c9

Browse files
authored
feat: build standalone azure-ipam installer image (#2339)
feat: build azure-ipam installer image Signed-off-by: Evan Baker <[email protected]>
1 parent 83fca75 commit 67c13c9

File tree

6 files changed

+951
-13
lines changed

6 files changed

+951
-13
lines changed

.pipelines/pipeline.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,20 @@ stages:
159159
name: "$(BUILD_POOL_NAME_LINUX_AMD64)"
160160
strategy:
161161
matrix:
162+
azure_ipam_linux_amd64:
163+
arch: amd64
164+
name: azure-ipam
165+
os: linux
166+
azure_ipam_windows2019_amd64:
167+
arch: amd64
168+
name: azure-ipam
169+
os: windows
170+
os_version: ltsc2019
171+
azure_ipam_windows2022_amd64:
172+
arch: amd64
173+
name: azure-ipam
174+
os: windows
175+
os_version: ltsc2022
162176
cni_linux_amd64:
163177
arch: amd64
164178
name: cni
@@ -239,6 +253,10 @@ stages:
239253
name: "$(BUILD_POOL_NAME_LINUX_ARM64)"
240254
strategy:
241255
matrix:
256+
azure_ipam_linux_arm64:
257+
arch: arm64
258+
name: azure-ipam
259+
os: linux
242260
cni_linux_arm64:
243261
arch: arm64
244262
name: cni
@@ -312,6 +330,10 @@ stages:
312330
name: "$(BUILD_POOL_NAME_DEFAULT)"
313331
strategy:
314332
matrix:
333+
azure_ipam:
334+
name: azure-ipam
335+
os_versions: ltsc2019 ltsc2022
336+
platforms: linux/amd64 linux/arm64 windows/amd64
315337
cni:
316338
name: cni
317339
os_versions: ltsc2019 ltsc2022

Makefile

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ endif
248248

249249
## Image name definitions.
250250
ACNCLI_IMAGE = acncli
251+
AZURE_IPAM_IMAGE = azure-ipam
251252
CNI_IMAGE = azure-cni
252253
CNI_DROPGZ_IMAGE = cni-dropgz
253254
CNI_DROPGZ_TEST_IMAGE = cni-dropgz-test
@@ -256,6 +257,8 @@ NPM_IMAGE = azure-npm
256257

257258
## Image platform tags.
258259
ACNCLI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(ACN_VERSION)
260+
AZURE_IPAM_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(AZURE_IPAM_VERSION)
261+
AZURE_IPAM_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(AZURE_IPAM_VERSION)-$(OS_SKU_WIN)
259262
CNI_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNI_VERSION)
260263
CNI_WINDOWS_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNI_VERSION)-$(OS_SKU_WIN)
261264
CNI_DROPGZ_PLATFORM_TAG ?= $(subst /,-,$(PLATFORM))$(if $(OS_VERSION),-$(OS_VERSION),)-$(CNI_DROPGZ_VERSION)
@@ -335,12 +338,42 @@ acncli-image-pull: ## pull cni-manager container image.
335338
TAG=$(ACNCLI_PLATFORM_TAG)
336339

337340

341+
# azure-ipam
342+
343+
azure-ipam-image-name: # util target to print the azure-ipam image name.
344+
@echo $(AZURE_IPAM_IMAGE)
345+
346+
azure-ipam-image-name-and-tag: # util target to print the azure-ipam image name and tag.
347+
@echo $(IMAGE_REGISTRY)/$(AZURE_IPAM_IMAGE):$(AZURE_IPAM_PLATFORM_TAG)
348+
349+
azure-ipam-image: ## build azure-ipam container image.
350+
$(MAKE) container \
351+
DOCKERFILE=azure-ipam/$(OS).Dockerfile \
352+
IMAGE=$(AZURE_IPAM_IMAGE) \
353+
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION)' \
354+
PLATFORM=$(PLATFORM) \
355+
TAG=$(AZURE_IPAM_PLATFORM_TAG) \
356+
OS=$(OS) \
357+
ARCH=$(ARCH) \
358+
OS_VERSION=$(OS_VERSION)
359+
360+
azure-ipam-image-push: ## push azure-ipam container image.
361+
$(MAKE) container-push \
362+
IMAGE=$(AZURE_IPAM_IMAGE) \
363+
TAG=$(AZURE_IPAM_PLATFORM_TAG)
364+
365+
azure-ipam-image-pull: ## pull azure-ipam container image.
366+
$(MAKE) container-pull \
367+
IMAGE=$(AZURE_IPAM_IMAGE) \
368+
TAG=$(AZURE_IPAM_PLATFORM_TAG)
369+
370+
338371
# cni
339372

340-
cni-image-name: # util target to print the CNI image name.
373+
cni-image-name: # util target to print the cni image name.
341374
@echo $(CNI_IMAGE)
342375

343-
cni-image-name-and-tag: # util target to print the CNI image name and tag.
376+
cni-image-name-and-tag: # util target to print the cni image name and tag.
344377
@echo $(IMAGE_REGISTRY)/$(CNI_IMAGE):$(CNI_PLATFORM_TAG)
345378

346379
cni-image: ## build cni container image.
@@ -554,6 +587,23 @@ acncli-skopeo-archive: ## export tar archive of acncli multiplat container manif
554587
IMAGE=$(ACNCLI_IMAGE) \
555588
TAG=$(ACN_VERSION)
556589

590+
azure-ipam-manifest-build: ## build azure-ipam multiplat container manifest.
591+
$(MAKE) manifest-build \
592+
PLATFORMS="$(PLATFORMS)" \
593+
IMAGE=$(AZURE_IPAM_IMAGE) \
594+
TAG=$(AZURE_IPAM_VERSION) \
595+
OS_VERSIONS="$(OS_VERSIONS)"
596+
597+
azure-ipam-manifest-push: ## push azure-ipam multiplat container manifest
598+
$(MAKE) manifest-push \
599+
IMAGE=$(AZURE_IPAM_IMAGE) \
600+
TAG=$(AZURE_IPAM_VERSION)
601+
602+
azure-ipam-skopeo-archive: ## export tar archive of azure-ipam multiplat container manifest.
603+
$(MAKE) manifest-skopeo-archive \
604+
IMAGE=$(AZURE_IPAM_IMAGE) \
605+
TAG=$(AZURE_IPAM_VERSION)
606+
557607
cni-manifest-build: ## build cni multiplat container manifest.
558608
$(MAKE) manifest-build \
559609
PLATFORMS="$(PLATFORMS)" \

azure-ipam/go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ require (
2828
github.com/billgraziano/dpapi v0.4.0 // indirect
2929
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3030
github.com/containerd/cgroups v1.1.0 // indirect
31-
github.com/containerd/containerd v1.7.6 // indirect
3231
github.com/coreos/go-iptables v0.7.0 // indirect
3332
github.com/davecgh/go-spew v1.1.1 // indirect
3433
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
@@ -77,8 +76,6 @@ require (
7776
golang.org/x/time v0.3.0 // indirect
7877
golang.org/x/tools v0.13.0 // indirect
7978
google.golang.org/appengine v1.6.8 // indirect
80-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect
81-
google.golang.org/grpc v1.58.2 // indirect
8279
google.golang.org/protobuf v1.31.0 // indirect
8380
gopkg.in/inf.v0 v0.9.1 // indirect
8481
gopkg.in/yaml.v2 v2.4.0 // indirect
@@ -94,3 +91,5 @@ require (
9491
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
9592
sigs.k8s.io/yaml v1.3.0 // indirect
9693
)
94+
95+
replace github.com/Microsoft/hcsshim => github.com/vakalapa/hcsshim v0.9.1-0.20211203205307-837d4d06df77

0 commit comments

Comments
 (0)