Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 73 additions & 61 deletions .pipelines/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,8 @@ schedules:
always: true

parameters:
- name: buildCni
type: boolean
default: true
- name: buildCns
type: boolean
default: true
- name: buildIpam
type: boolean
default: true
# Empty or __use-default__ builds and publishes the component image.
# A supplied image skips those entries and is used by the install path.
- name: cniImage
type: string
default: "__use-default__"
Expand All @@ -51,6 +44,15 @@ parameters:
- name: ipamImage
type: string
default: "__use-default__"
- name: azureIptablesMonitorImage
type: string
default: "__use-default__"
- name: azureIpMasqMergerImage
type: string
default: "__use-default__"
- name: ciliumLogCollectorImage
type: string
default: "__use-default__"
# Optional build-number prefix to differentiate DALEC release runs.
# Applied in setup only when the value contains "dalec".
- name: runNamePrefix
Expand Down Expand Up @@ -87,33 +89,34 @@ stages:
echo "##vso[task.setvariable variable=imageRepositoryPath;isOutput=true]acnpublic.azurecr.io"
echo "##vso[task.setvariable variable=cnsImagePrefix;isOutput=true]azure-"

# Shared parser for cniImage/cnsImage/ipamImage override inputs.
# Shared parser for component image override inputs.
. ./hack/scripts/parse_override_image.sh

read -r USE_CNI CNI_REPO CNI_NAME CNI_VERSION <<< "$(parse_override_image '${{ parameters.cniImage }}' azure-cni $(make cni-version))"
read -r USE_CNS CNS_REPO CNS_NAME CNS_VERSION <<< "$(parse_override_image '${{ parameters.cnsImage }}' azure-cns $(make cns-version))"
read -r USE_IPAM IPAM_REPO IPAM_NAME IPAM_VERSION <<< "$(parse_override_image '${{ parameters.ipamImage }}' azure-ipam $(make azure-ipam-version))"
read -r CNI_REPO CNI_NAME CNI_VERSION <<< "$(parse_override_image '${{ parameters.cniImage }}' azure-cni $(make cni-version))"
read -r CNS_REPO CNS_NAME CNS_VERSION <<< "$(parse_override_image '${{ parameters.cnsImage }}' azure-cns $(make cns-version))"
read -r IPAM_REPO IPAM_NAME IPAM_VERSION <<< "$(parse_override_image '${{ parameters.ipamImage }}' azure-ipam $(make azure-ipam-version))"

echo "##vso[task.setvariable variable=useProvidedCniImage;isOutput=true]${USE_CNI}"
echo "##vso[task.setvariable variable=cniImageRepo;isOutput=true]${CNI_REPO}"
echo "##vso[task.setvariable variable=cniImageNameOverride;isOutput=true]${CNI_NAME}"
echo "##vso[task.setvariable variable=cniVersion;isOutput=true]${CNI_VERSION}"

# Example (CNS):
# cnsImage="__use-default__" -> useProvidedCnsImage=false, cnsImageRepo=ACN,
# cnsImageNameOverride=azure-cns, cnsVersion=<make cns-version>
# cnsImage="__use-default__" -> cnsImageRepo=ACN, cnsImageNameOverride=azure-cns,
# cnsVersion=<make cns-version>
# cnsImage="mcr.microsoft.com/containernetworking/azure-cns:v1.2.3" ->
# useProvidedCnsImage=true, cnsImageRepo=MCR, cnsImageNameOverride=azure-cns, cnsVersion=v1.2.3
echo "##vso[task.setvariable variable=useProvidedCnsImage;isOutput=true]${USE_CNS}"
# cnsImageRepo=MCR, cnsImageNameOverride=azure-cns, cnsVersion=v1.2.3
echo "##vso[task.setvariable variable=cnsImageRepo;isOutput=true]${CNS_REPO}"
echo "##vso[task.setvariable variable=cnsImageNameOverride;isOutput=true]${CNS_NAME}"
echo "##vso[task.setvariable variable=cnsVersion;isOutput=true]${CNS_VERSION}"

echo "##vso[task.setvariable variable=useProvidedIpamImage;isOutput=true]${USE_IPAM}"
echo "##vso[task.setvariable variable=ipamImageRepo;isOutput=true]${IPAM_REPO}"
echo "##vso[task.setvariable variable=ipamImageNameOverride;isOutput=true]${IPAM_NAME}"
echo "##vso[task.setvariable variable=ipamVersion;isOutput=true]${IPAM_VERSION}"

echo "##vso[task.setvariable variable=azureIptablesMonitorImageOverride;isOutput=true]$(resolve_override_image '${{ parameters.azureIptablesMonitorImage }}' azure-iptables-monitor $(make azure-iptables-monitor-version))"
echo "##vso[task.setvariable variable=azureIpMasqMergerImageOverride;isOutput=true]$(resolve_override_image '${{ parameters.azureIpMasqMergerImage }}' azure-ip-masq-merger $(make azure-ip-masq-merger-version))"
echo "##vso[task.setvariable variable=ciliumLogCollectorImageOverride;isOutput=true]$(resolve_override_image '${{ parameters.ciliumLogCollectorImage }}' cilium-log-collector $(make cilium-log-collector-version))"

cat /etc/os-release
uname -a
sudo chown -R $(whoami):$(whoami) .
Expand Down Expand Up @@ -186,7 +189,7 @@ stages:
name: "$(BUILD_POOL_NAME_LINUX_AMD64)"
strategy:
matrix:
${{ if eq(parameters.buildIpam, true) }}:
${{ if or(eq(parameters.ipamImage, '__use-default__'), eq(parameters.ipamImage, '')) }}:
azure_ipam_linux_amd64:
arch: amd64
name: azure-ipam
Expand All @@ -195,15 +198,17 @@ stages:
arch: amd64
name: azure-ipam
os: windows
azure_ip_masq_merger_linux_amd64:
arch: amd64
name: azure-ip-masq-merger
os: linux
azure_iptables_monitor_linux_amd64:
arch: amd64
name: azure-iptables-monitor
os: linux
${{ if eq(parameters.buildCni, true) }}:
${{ if or(eq(parameters.azureIpMasqMergerImage, '__use-default__'), eq(parameters.azureIpMasqMergerImage, '')) }}:
Comment thread
jpayne3506 marked this conversation as resolved.
azure_ip_masq_merger_linux_amd64:
arch: amd64
name: azure-ip-masq-merger
os: linux
${{ if or(eq(parameters.azureIptablesMonitorImage, '__use-default__'), eq(parameters.azureIptablesMonitorImage, '')) }}:
azure_iptables_monitor_linux_amd64:
arch: amd64
name: azure-iptables-monitor
os: linux
${{ if or(eq(parameters.cniImage, '__use-default__'), eq(parameters.cniImage, '')) }}:
cni_linux_amd64:
arch: amd64
name: cni
Expand All @@ -212,7 +217,7 @@ stages:
arch: amd64
name: cni
os: windows
${{ if eq(parameters.buildCns, true) }}:
${{ if or(eq(parameters.cnsImage, '__use-default__'), eq(parameters.cnsImage, '')) }}:
cns_linux_amd64:
arch: amd64
name: cns
Expand All @@ -225,10 +230,11 @@ stages:
arch: amd64
name: ipv6-hp-bpf
os: linux
cilium_log_collector_amd64:
arch: amd64
name: cilium-log-collector
os: linux
${{ if or(eq(parameters.ciliumLogCollectorImage, '__use-default__'), eq(parameters.ciliumLogCollectorImage, '')) }}:
cilium_log_collector_amd64:
arch: amd64
name: cilium-log-collector
os: linux
steps:
- template: containers/container-template.yaml
parameters:
Expand All @@ -243,25 +249,27 @@ stages:
strategy:
maxParallel: 2
matrix:
${{ if eq(parameters.buildIpam, true) }}:
${{ if or(eq(parameters.ipamImage, '__use-default__'), eq(parameters.ipamImage, '')) }}:
azure_ipam_linux_arm64:
arch: arm64
name: azure-ipam
os: linux
azure_ip_masq_merger_linux_arm64:
arch: arm64
name: azure-ip-masq-merger
os: linux
azure_iptables_monitor_linux_arm64:
arch: arm64
name: azure-iptables-monitor
os: linux
${{ if eq(parameters.buildCni, true) }}:
${{ if or(eq(parameters.azureIpMasqMergerImage, '__use-default__'), eq(parameters.azureIpMasqMergerImage, '')) }}:
azure_ip_masq_merger_linux_arm64:
arch: arm64
name: azure-ip-masq-merger
os: linux
${{ if or(eq(parameters.azureIptablesMonitorImage, '__use-default__'), eq(parameters.azureIptablesMonitorImage, '')) }}:
azure_iptables_monitor_linux_arm64:
arch: arm64
name: azure-iptables-monitor
os: linux
${{ if or(eq(parameters.cniImage, '__use-default__'), eq(parameters.cniImage, '')) }}:
cni_linux_arm64:
arch: arm64
name: cni
os: linux
${{ if eq(parameters.buildCns, true) }}:
${{ if or(eq(parameters.cnsImage, '__use-default__'), eq(parameters.cnsImage, '')) }}:
cns_linux_arm64:
arch: arm64
name: cns
Expand All @@ -270,10 +278,11 @@ stages:
arch: arm64
name: ipv6-hp-bpf
os: linux
cilium_log_collector_arm64:
arch: arm64
name: cilium-log-collector
os: linux
${{ if or(eq(parameters.ciliumLogCollectorImage, '__use-default__'), eq(parameters.ciliumLogCollectorImage, '')) }}:
cilium_log_collector_arm64:
arch: arm64
name: cilium-log-collector
os: linux
steps:
- template: containers/container-template.yaml
parameters:
Expand Down Expand Up @@ -349,30 +358,33 @@ stages:
name: "$(BUILD_POOL_NAME_DEFAULT)"
strategy:
matrix:
${{ if eq(parameters.buildIpam, true) }}:
${{ if or(eq(parameters.ipamImage, '__use-default__'), eq(parameters.ipamImage, '')) }}:
azure_ipam:
name: azure-ipam
platforms: linux/amd64 linux/arm64 windows/amd64
${{ if eq(parameters.buildCni, true) }}:
${{ if or(eq(parameters.cniImage, '__use-default__'), eq(parameters.cniImage, '')) }}:
cni:
name: cni
platforms: linux/amd64 linux/arm64 windows/amd64
${{ if eq(parameters.buildCns, true) }}:
${{ if or(eq(parameters.cnsImage, '__use-default__'), eq(parameters.cnsImage, '')) }}:
cns:
name: cns
platforms: linux/amd64 linux/arm64 windows/amd64
ipv6_hp_bpf:
name: ipv6-hp-bpf
platforms: linux/amd64 linux/arm64
azure_ip_masq_merger:
name: azure-ip-masq-merger
platforms: linux/amd64 linux/arm64
azure_iptables_monitor:
name: azure-iptables-monitor
platforms: linux/amd64 linux/arm64
cilium_log_collector:
name: cilium-log-collector
platforms: linux/amd64 linux/arm64
${{ if or(eq(parameters.azureIpMasqMergerImage, '__use-default__'), eq(parameters.azureIpMasqMergerImage, '')) }}:
azure_ip_masq_merger:
name: azure-ip-masq-merger
platforms: linux/amd64 linux/arm64
${{ if or(eq(parameters.azureIptablesMonitorImage, '__use-default__'), eq(parameters.azureIptablesMonitorImage, '')) }}:
azure_iptables_monitor:
name: azure-iptables-monitor
platforms: linux/amd64 linux/arm64
${{ if or(eq(parameters.ciliumLogCollectorImage, '__use-default__'), eq(parameters.ciliumLogCollectorImage, '')) }}:
cilium_log_collector:
name: cilium-log-collector
platforms: linux/amd64 linux/arm64
steps:
- template: containers/manifest-template.yaml
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,19 @@ stages:
pool:
name: $(BUILD_POOL_NAME_DEFAULT)
variables:
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
CNS_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNI_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniVersion'] ]
CNS_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsImageRepo'] ]
IPAM_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamImageRepo'] ]
CNI_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniImageRepo'] ]
CNS_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
IPAM_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamImageNameOverride'] ]
CNI_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniImageNameOverride'] ]
CILIUM_LOG_COLLECTOR_IMAGE_REGISTRY_OVERRIDE: acnpublic.azurecr.io
CILIUM_LOG_COLLECTOR_VERSION_TAG_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ciliumLogCollectorVersion'] ]
commitID: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
CNS_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNI_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniVersion'] ]
CNS_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageRepo'] ]
IPAM_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamImageRepo'] ]
CNI_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniImageRepo'] ]
CNS_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
IPAM_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamImageNameOverride'] ]
CNI_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniImageNameOverride'] ]
AZURE_IPTABLES_MONITOR_IMAGE_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.azureIptablesMonitorImageOverride'] ]
AZURE_IP_MASQ_MERGER_IMAGE_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.azureIpMasqMergerImageOverride'] ]
CILIUM_LOG_COLLECTOR_IMAGE_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ciliumLogCollectorImageOverride'] ]
IPV6_IMAGE_REGISTRY: acnpublic.azurecr.io
jobs:
- job: ${{ parameters.name }}
Expand Down Expand Up @@ -60,10 +61,10 @@ stages:
- publish
- ${{ parameters.clusterName }}
variables:
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
commitID: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
IMAGE_REPO_PATH: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.imageRepositoryPath'] ]
CNS_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNS_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]


CNS_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,17 @@ stages:
pool:
name: $(BUILD_POOL_NAME_DEFAULT)
variables:
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
CNS_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNI_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniVersion'] ]
CNS_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsImageRepo'] ]
IPAM_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamImageRepo'] ]
CNI_IMAGE_REPO: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniImageRepo'] ]
CNS_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
IPAM_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamImageNameOverride'] ]
CNI_IMAGE_NAME_OVERRIDE: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cniImageNameOverride'] ]
CILIUM_LOG_COLLECTOR_IMAGE_REGISTRY_OVERRIDE: acnpublic.azurecr.io
CILIUM_LOG_COLLECTOR_VERSION_TAG_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ciliumLogCollectorVersion'] ]
commitID: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
CNS_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNI_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniVersion'] ]
CNS_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageRepo'] ]
IPAM_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamImageRepo'] ]
CNI_IMAGE_REPO: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniImageRepo'] ]
CNS_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
IPAM_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamImageNameOverride'] ]
CNI_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cniImageNameOverride'] ]
CILIUM_LOG_COLLECTOR_IMAGE_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ciliumLogCollectorImageOverride'] ]
IPV6_IMAGE_REGISTRY: acnpublic.azurecr.io
jobs:
- job: ${{ parameters.name }}
Expand Down Expand Up @@ -78,10 +77,10 @@ stages:
GOPATH: "$(Agent.TempDirectory)/go" # Go workspace path
GOBIN: "$(GOPATH)/bin" # Go binaries path
modulePath: "$(GOPATH)/src/github.com/Azure/azure-container-networking"
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
commitID: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
IMAGE_REPO_PATH: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.imageRepositoryPath'] ]
CNS_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNS_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsVersion'] ]
AZURE_IPAM_VERSION: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamVersion'] ]
CNS_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.cnsImageNameOverride'] ]
IPAM_IMAGE_NAME_OVERRIDE: $[ stageDependencies.setup.env.outputs['EnvironmentalVariables.ipamImageNameOverride'] ]
IPV6_IMAGE_REGISTRY: acnpublic.azurecr.io
Expand Down
Loading
Loading