Skip to content

Commit 282eadc

Browse files
committed
Enable 2.0 Mariner images
1 parent 913a186 commit 282eadc

File tree

9 files changed

+386
-3
lines changed

9 files changed

+386
-3
lines changed

.pipelines/.vsts-vhd-builder-release.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ parameters:
4949
displayName: Build MarinerV1 Gen2
5050
type: boolean
5151
default: true
52+
- name: buildMarinerV2gen2
53+
displayName: Build MarinerV2 Gen2
54+
type: boolean
55+
default: true
5256
- name: build1804fipscontainerd
5357
displayName: Build 1804 FIPS containerd
5458
type: boolean
@@ -325,6 +329,29 @@ stages:
325329
- template: ./templates/.builder-release-template.yaml
326330
parameters:
327331
artifactName: marinerv1-gen2
332+
- stage: build_vhd_marinerv2_gen2
333+
dependsOn: []
334+
condition: eq('${{ parameters.buildMarinerV2gen2 }}', true)
335+
jobs:
336+
- job: build
337+
timeoutInMinutes: 180
338+
steps:
339+
- bash: |
340+
echo '##vso[task.setvariable variable=DRY_RUN]${{parameters.dryrun}}'
341+
echo '##vso[task.setvariable variable=OS_SKU]CBLMariner'
342+
echo '##vso[task.setvariable variable=OS_VERSION]V2'
343+
echo '##vso[task.setvariable variable=IMG_PUBLISHER]MicrosoftCBLMariner'
344+
echo '##vso[task.setvariable variable=IMG_OFFER]cbl-mariner'
345+
echo '##vso[task.setvariable variable=IMG_SKU]cbl-mariner-2-gen2'
346+
echo '##vso[task.setvariable variable=HYPERV_GENERATION]V2'
347+
echo '##vso[task.setvariable variable=AZURE_VM_SIZE]Standard_DS2_v2'
348+
echo '##vso[task.setvariable variable=FEATURE_FLAGS]None'
349+
echo '##vso[task.setvariable variable=CONTAINER_RUNTIME]containerd'
350+
echo '##vso[task.setvariable variable=ENABLE_FIPS]false'
351+
displayName: Setup Build Variables
352+
- template: ./templates/.builder-release-template.yaml
353+
parameters:
354+
artifactName: marinerv2-gen2
328355
- stage: build_vhd_1804_fips_containerd
329356
dependsOn: []
330357
condition: eq('${{ parameters.build1804fipscontainerd }}', true)

packer.mk

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ else
2929
endif
3030
endif
3131
else ifeq (${OS_SKU},CBLMariner)
32+
ifeq (${OS_VERSION},V1)
3233
ifeq (${MODE},gen2Mode)
3334
@echo "${MODE}: Building with Hyper-v generation 2 VM and save to Classic Storage Account"
3435
@packer build -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-mariner-gen2.json
@@ -38,6 +39,18 @@ else
3839
@echo "${MODE}: Building with Hyper-v generation 1 VM and save to Classic Storage Account"
3940
@packer build -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-mariner.json
4041
endif
42+
else ifeq (${OS_VERSION},V2)
43+
ifeq (${MODE},gen2Mode)
44+
@echo "${MODE}: Building with Hyper-v generation 2 VM"
45+
@packer build -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-mariner2-gen2.json
46+
else ifeq (${MODE},sigMode)
47+
$(error sigMode not supported yet)
48+
else
49+
$(error MarinerV2 gen1 VMs are not supported yet)
50+
endif
51+
else
52+
$(error OS_VERSION was invalid ${OS_VERSION})
53+
endif
4154
else
4255
$(error OS_SKU was invalid ${OS_SKU})
4356
endif

parts/linux/cloud-init/artifacts/mariner/cse_install_mariner.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ installDeps() {
1414
exit $ERR_APT_INSTALL_TIMEOUT
1515
fi
1616
done
17+
18+
# install additional apparmor deps for 2.0
19+
if [[ $OS_VERSION == "2.0" ]]; then
20+
for dnf_package in apparmor-parser libapparmor; do
21+
if ! dnf_install 30 1 600 $dnf_package; then
22+
exit $ERR_APT_INSTALL_TIMEOUT
23+
fi
24+
done
25+
fi
1726
}
1827

1928
downloadGPUDrivers() {

pkg/templates/templates_generated.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vhdbuilder/packer/init-variables.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ else
160160
echo "Skipping SIG check for $MODE"
161161
fi
162162

163-
# Image import from storage account. Required to build CBLMariner images.
164-
if [[ "$OS_SKU" == "CBLMariner" ]]; then
163+
# Image import from storage account. Required to build CBLMariner V1 images.
164+
if [[ "$OS_SKU" == "CBLMariner" && "$OS_VERSION" == "V1" ]]; then
165165
if [[ $HYPERV_GENERATION == "V2" ]]; then
166166
IMPORT_IMAGE_URL=${IMPORT_IMAGE_URL_GEN2}
167167
elif [[ $HYPERV_GENERATION == "V1" ]]; then

vhdbuilder/packer/install-dependencies.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22

33
OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }')
4+
OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"')
45
UBUNTU_OS_NAME="UBUNTU"
56
MARINER_OS_NAME="MARINER"
67
THIS_DIR="$(cd "$(dirname ${BASH_SOURCE[0]})" && pwd)"
@@ -114,7 +115,11 @@ if [[ $OS == $MARINER_OS_NAME ]]; then
114115
disableSystemdResolvedCache
115116
disableSystemdIptables
116117
forceEnableIpForward
117-
networkdWorkaround
118+
if [[ $OS_VERSION == "2.0" ]]; then
119+
setMarinerNetworkdConfig
120+
else
121+
networkdWorkaround
122+
fi
118123
enableDNFAutomatic
119124
fixCBLMarinerPermissions
120125
overrideNetworkConfig || exit 1

vhdbuilder/packer/sha1rsa_custom_data

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#cloud-config to reenable sha1 temporarily for packer
2+
runcmd:
3+
- echo -e "HostkeyAlgorithms +ssh-rsa \nPubkeyAcceptedAlgorithms +ssh-rsa" | sudo tee -a /etc/ssh/sshd_config
4+
- sudo systemctl restart sshd
5+
- sudo sed -i "/HostkeyAlgorithms +ssh-rsa/d" /etc/ssh/sshd_config
6+
- sudo sed -i "/PubkeyAcceptedAlgorithms +ssh-rsa/d" /etc/ssh/sshd_config

0 commit comments

Comments
 (0)