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
57 changes: 0 additions & 57 deletions .pipelines/.vsts-vhd-builder-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,6 @@ parameters:
displayName: Build 2204 Minimal Gen2 Containerd
type: boolean
default: false
- name: buildflatcargen2
displayName: Build Flatcar Gen2
type: boolean
default: true
- name: buildflatcargen2arm64
displayName: Build Flatcar Gen2 ARM64
type: boolean
default: true
- name: buildacltlgen2
displayName: Build Azure Container Linux TL Gen2
type: boolean
Expand Down Expand Up @@ -819,55 +811,6 @@ stages:
useOverrides: ${{ parameters.useOverrides }}
overrideBranch: ${{ parameters.overrideBranch }}
artifactName: 2204-minimal-gen2-containerd
- job: buildflatcargen2
condition: eq('${{ parameters.buildflatcargen2 }}', true)
dependsOn: [ ]
timeoutInMinutes: 360
steps:
- bash: |
echo '##vso[task.setvariable variable=OS_SKU]Flatcar'
echo '##vso[task.setvariable variable=OS_VERSION]flatcar'
echo '##vso[task.setvariable variable=IMG_PUBLISHER]kinvolk'
echo '##vso[task.setvariable variable=IMG_OFFER]flatcar-container-linux-corevm-amd64'
echo '##vso[task.setvariable variable=IMG_SKU]alpha-gen2'
echo '##vso[task.setvariable variable=IMG_VERSION]latest'
echo '##vso[task.setvariable variable=HYPERV_GENERATION]V2'
echo '##vso[task.setvariable variable=AZURE_VM_SIZE]Standard_D16ds_v5'
echo '##vso[task.setvariable variable=FEATURE_FLAGS]None'
echo '##vso[task.setvariable variable=ARCHITECTURE]X86_64'
echo '##vso[task.setvariable variable=ENABLE_FIPS]false'
echo '##vso[task.setvariable variable=ENABLE_TRUSTED_LAUNCH]False'
displayName: Setup Build Variables
- template: ./templates/.builder-release-template.yaml
parameters:
useOverrides: ${{ parameters.useOverrides }}
overrideBranch: ${{ parameters.overrideBranch }}
artifactName: flatcar-gen2
- job: buildflatcargen2arm64
condition: eq('${{ parameters.buildflatcargen2arm64 }}', true)
dependsOn: [ ]
timeoutInMinutes: 360
steps:
- bash: |
echo '##vso[task.setvariable variable=OS_SKU]Flatcar'
echo '##vso[task.setvariable variable=OS_VERSION]flatcar'
echo '##vso[task.setvariable variable=IMG_PUBLISHER]kinvolk'
echo '##vso[task.setvariable variable=IMG_OFFER]flatcar-container-linux-corevm'
echo '##vso[task.setvariable variable=IMG_SKU]alpha'
echo '##vso[task.setvariable variable=IMG_VERSION]latest'
echo '##vso[task.setvariable variable=HYPERV_GENERATION]V2'
echo '##vso[task.setvariable variable=AZURE_VM_SIZE]Standard_D16pds_v5'
echo '##vso[task.setvariable variable=FEATURE_FLAGS]None'

echo '##vso[task.setvariable variable=ARCHITECTURE]ARM64'
echo '##vso[task.setvariable variable=ENABLE_FIPS]false'
echo '##vso[task.setvariable variable=ENABLE_TRUSTED_LAUNCH]False'
displayName: Setup Build Variables
- template: ./templates/.builder-release-template.yaml
parameters:
useOverrides: ${{ parameters.useOverrides }}
overrideBranch: ${{ parameters.overrideBranch }}
artifactName: flatcar-gen2-arm64
- job: buildacltlgen2
condition: eq('${{ parameters.buildacltlgen2 }}', true)
dependsOn: [ ]
Expand Down
20 changes: 0 additions & 20 deletions e2e/config/vhd.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,26 +180,6 @@ var (
Gallery: imageGalleryLinux,
}

VHDFlatcarGen2 = &Image{
Name: "flatcargen2",
OS: OSFlatcar,
Arch: "amd64",
Distro: datamodel.AKSFlatcarGen2,
Gallery: imageGalleryLinux,
Flatcar: true,
OSDiskSizeGB: 60,
}

VHDFlatcarGen2Arm64 = &Image{
Name: "flatcargen2arm64",
OS: OSFlatcar,
Arch: "arm64",
Distro: datamodel.AKSFlatcarArm64Gen2,
Gallery: imageGalleryLinux,
Flatcar: true,
OSDiskSizeGB: 60,
}

VHDAzureLinuxV3Gen2Arm64 = &Image{
Name: "azurelinuxv3gen2arm64",
OS: OSAzureLinux,
Expand Down
8 changes: 0 additions & 8 deletions e2e/node_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -852,10 +852,6 @@ func baseTemplateLinux(t testing.TB, location string, k8sVersion string, arch st
GalleryName: "AKSUbuntuEdgeZone",
ResourceGroup: "AKS-Ubuntu-EdgeZone",
},
"AKSFlatcar": {
GalleryName: "aksflatcar",
ResourceGroup: "resourcegroup",
},
},
},
IsARM64: false,
Expand Down Expand Up @@ -1060,10 +1056,6 @@ DXRqvV7TWO2hndliQq3BW385ZkiephlrmpUVM= r2k1@arturs-mbp.lan`,
GalleryName: "AKSUbuntuEdgeZone",
ResourceGroup: "AKS-Ubuntu-EdgeZone",
},
"AKSFlatcar": {
GalleryName: "aksflatcar",
ResourceGroup: "resourcegroup",
},
},
},
}
Expand Down
173 changes: 0 additions & 173 deletions e2e/scenario_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,66 +36,6 @@ func Test_AzureLinux3OSGuard(t *testing.T) {
})
}

func Test_Flatcar(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using a Flatcar VHD can be properly bootstrapped and custom CA was correctly added",
Config: Config{
Cluster: ClusterKubenet,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.CustomCATrustConfig = &datamodel.CustomCATrustConfig{
CustomCATrustCerts: []string{
encodedTestCert,
},
}
},
Validator: func(ctx context.Context, s *Scenario) {
ValidateFileHasContent(ctx, s, "/etc/protocols", "protocols definition file")
ValidateFileIsRegularFile(ctx, s, "/etc/ssl/certs/ca-certificates.crt")
ValidateNonEmptyDirectory(ctx, s, "/opt/certs")
// openssl x509 -hash of input cert
ValidateFileExists(ctx, s, "/etc/ssl/certs/5c3b39ed.0")
},
},
})
}

func Test_Flatcar_Scriptless(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using a Flatcar and the self-contained installer can be properly bootstrapped",
Config: Config{
Cluster: ClusterKubenet,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
},
Validator: func(ctx context.Context, s *Scenario) {
ValidateFileHasContent(ctx, s, "/var/log/azure/aks-node-controller.log", "aks-node-controller finished successfully")
},
AKSNodeConfigMutator: func(_ *Cluster, config *aksnodeconfigv1.Configuration) {
},
},
})
}

func Test_Flatcar_ARM64(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using a Flatcar VHD on ARM64 architecture can be properly bootstrapped",
Config: Config{
Cluster: ClusterKubenet,
VHD: config.VHDFlatcarGen2Arm64,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.AgentPoolProfile.VMSize = "Standard_D2pds_V5"
nbc.IsARM64 = true
},
Validator: func(ctx context.Context, s *Scenario) {
},
VMConfigMutator: func(vmss *armcompute.VirtualMachineScaleSet) {
vmss.SKU.Name = to.Ptr("Standard_D2pds_V5")
},
},
})
}

func Test_AzureLinuxV3_ARM64(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using a AzureLinuxV3 VHD on ARM64 architecture can be properly bootstrapped",
Expand All @@ -115,25 +55,6 @@ func Test_AzureLinuxV3_ARM64(t *testing.T) {
})
}

func Test_Flatcar_AzureCNI(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Flatcar scenario on a cluster configured with Azure CNI and the chrony service restarts if it is killed",
Config: Config{
Cluster: ClusterAzureNetwork,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.ContainerService.Properties.OrchestratorProfile.KubernetesConfig.NetworkPlugin = string(armcontainerservice.NetworkPluginAzure)
nbc.AgentPoolProfile.KubernetesConfig.NetworkPlugin = string(armcontainerservice.NetworkPluginAzure)
},
Validator: func(ctx context.Context, s *Scenario) {
ServiceCanRestartValidator(ctx, s, "chronyd", 10)
ValidateFileHasContent(ctx, s, "/etc/systemd/system/chronyd.service.d/10-chrony-restarts.conf", "Restart=always")
ValidateFileHasContent(ctx, s, "/etc/systemd/system/chronyd.service.d/10-chrony-restarts.conf", "RestartSec=5")
},
},
})
}

func Test_Ubuntu2204_AzureCNI(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Ubuntu 22.04 scenario on a cluster configured with Azure CNI",
Expand All @@ -152,48 +73,6 @@ func Test_Ubuntu2204_AzureCNI(t *testing.T) {
})
}

func Test_Flatcar_AzureCNI_ChronyRestarts_Scriptless(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Test Flatcar scenario on a cluster configured with Azure CNI and the chrony service restarts if it is killed",
Config: Config{
Cluster: ClusterAzureNetwork,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.ContainerService.Properties.OrchestratorProfile.KubernetesConfig.NetworkPlugin = string(armcontainerservice.NetworkPluginAzure)
nbc.AgentPoolProfile.KubernetesConfig.NetworkPlugin = string(armcontainerservice.NetworkPluginAzure)
},
AKSNodeConfigMutator: func(_ *Cluster, config *aksnodeconfigv1.Configuration) {
config.NetworkConfig.NetworkPlugin = aksnodeconfigv1.NetworkPlugin_NETWORK_PLUGIN_AZURE
},
Validator: func(ctx context.Context, s *Scenario) {
ServiceCanRestartValidator(ctx, s, "chronyd", 10)
ValidateFileHasContent(ctx, s, "/etc/systemd/system/chronyd.service.d/10-chrony-restarts.conf", "Restart=always")
ValidateFileHasContent(ctx, s, "/etc/systemd/system/chronyd.service.d/10-chrony-restarts.conf", "RestartSec=5")
},
},
})
}

func Test_Flatcar_SecureTLSBootstrapping_BootstrapToken_Fallback(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using a Flatcar Gen2 VHD can be properly bootstrapped even if secure TLS bootstrapping fails",
Tags: Tags{
BootstrapTokenFallback: true,
},
Config: Config{
Cluster: ClusterKubenet,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.SecureTLSBootstrappingConfig = &datamodel.SecureTLSBootstrappingConfig{
Enabled: true,
GetAccessTokenTimeout: (10 * time.Second).String(),
UserAssignedIdentityID: "invalid", // use an unexpected user-assigned identity ID to force a secure TLS bootstrapping failure
}
},
},
})
}

func Test_ACL(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using an ACL VHD can be properly bootstrapped and custom CA was correctly added",
Expand Down Expand Up @@ -1021,58 +900,6 @@ func Test_Ubuntu2204_DisableSSH(t *testing.T) {
})
}

func Test_Flatcar_DisableSSH(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using Flatcar VHD with SSH disabled can be properly bootstrapped and SSH daemon is disabled",
Config: Config{
Cluster: ClusterKubenet,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.SSHStatus = datamodel.SSHOff
},
SkipSSHConnectivityValidation: true, // Skip SSH connectivity validation since SSH is down
SkipDefaultValidation: true, // Skip default validation since it requires SSH connectivity
Validator: func(ctx context.Context, s *Scenario) {
// Validate SSH daemon is disabled via RunCommand
ValidateSSHServiceDisabled(ctx, s)
},
},
})
}

func Test_Flatcar_NetworkIsolatedCluster_NonAnonymousACR(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using Flatcar VHD with network isolated cluster enabled",
Tags: Tags{
NetworkIsolated: true,
NonAnonymousACR: true,
},
Config: Config{
Cluster: ClusterAzureNetworkIsolated,
VHD: config.VHDFlatcarGen2,
BootstrapConfigMutator: func(_ *Cluster, nbc *datamodel.NodeBootstrappingConfiguration) {
nbc.OutboundType = datamodel.OutboundTypeBlock
nbc.ContainerService.Properties.SecurityProfile = &datamodel.SecurityProfile{
PrivateEgress: &datamodel.PrivateEgress{
Enabled: true,
ContainerRegistryServer: fmt.Sprintf("%s.azurecr.io/aks-managed-repository", config.PrivateACRNameNotAnon(config.Config.DefaultLocation)),
},
}
nbc.ContainerService.Properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity = true
nbc.AgentPoolProfile.KubernetesConfig.UseManagedIdentity = true
nbc.K8sComponents.LinuxCredentialProviderURL = fmt.Sprintf(
"https://packages.aks.azure.com/cloud-provider-azure/v%s/binaries/azure-acr-credential-provider-linux-amd64-v%s.tar.gz",
nbc.ContainerService.Properties.OrchestratorProfile.OrchestratorVersion,
nbc.ContainerService.Properties.OrchestratorProfile.OrchestratorVersion)
nbc.KubeletConfig["--image-credential-provider-config"] = "/var/lib/kubelet/credential-provider-config.yaml"
nbc.KubeletConfig["--image-credential-provider-bin-dir"] = "/var/lib/kubelet/credential-provider"
},
Validator: func(ctx context.Context, s *Scenario) {
},
},
})
}

func Test_ACL_NetworkIsolatedCluster_NonAnonymousACR(t *testing.T) {
RunScenario(t, &Scenario{
Description: "Tests that a node using ACL VHD with network isolated cluster enabled",
Expand Down
10 changes: 0 additions & 10 deletions packer.mk
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ else ifeq (${OS_SKU},CBLMariner)
else ifeq (${OS_SKU},AzureLinux)
@echo "Using packer template file vhd-image-builder-mariner-arm64.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-mariner-arm64.json
else ifeq (${OS_SKU},Flatcar)
@echo "Using packer template file vhd-image-builder-flatcar-arm64.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-flatcar-arm64.json
else ifeq (${OS_SKU},AzureContainerLinux)
@echo "Using packer template file vhd-image-builder-acl-arm64.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-acl-arm64.json
Expand Down Expand Up @@ -61,9 +58,6 @@ else
@echo "Using packer template file vhd-image-builder-mariner.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-mariner.json
endif
else ifeq (${OS_SKU},Flatcar)
@echo "Using packer template file vhd-image-builder-flatcar.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-flatcar.json
else ifeq (${OS_SKU},AzureContainerLinux)
@echo "Using packer template file vhd-image-builder-acl.json"
@packer build -timestamp-ui -var-file=vhdbuilder/packer/settings.json vhdbuilder/packer/vhd-image-builder-acl.json
Expand Down Expand Up @@ -163,10 +157,6 @@ build-lister-binary:
@echo "Building lister binary for $(GOARCH)"
@bash -c "pushd vhdbuilder/lister && GOEXPERIMENT=ms_nocgo_opensslcrypto CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go build -o bin/lister main.go && popd"

generate-flatcar-customdata: vhdbuilder/packer/flatcar-customdata.json
vhdbuilder/packer/flatcar-customdata.json: vhdbuilder/packer/flatcar-customdata.yaml | hack/tools/bin/butane
@hack/tools/bin/butane --strict $< -o $@

generate-acl-customdata: vhdbuilder/packer/acl-customdata.json
vhdbuilder/packer/acl-customdata.json: vhdbuilder/packer/acl-customdata.yaml | hack/tools/bin/butane
@hack/tools/bin/butane --strict $< -o $@
Expand Down
7 changes: 5 additions & 2 deletions pkg/agent/datamodel/sig_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,9 @@ const (
// Check with Keith and Alex before changing the frozen NVIDIA GB image version.
FrozenUbuntuArm64GB200Containerd2404Gen2SIGImageVersion string = "202602.19.0"

// Flatcar is deprecated on June 8th.
FrozenFlatcarSIGImageVersion string = "202607.02.0"
Comment thread
awesomenix marked this conversation as resolved.

// We do not use AKS Windows image versions in AgentBaker. These fake values are only used for unit tests.
Windows2019SIGImageVersion string = "17763.2019.221114"
Windows2022SIGImageVersion string = "20348.2022.221114"
Expand Down Expand Up @@ -752,14 +755,14 @@ var (
ResourceGroup: AKSFlatcarResourceGroup,
Gallery: AKSFlatcarGalleryName,
Definition: "flatcargen2",
Version: LinuxSIGImageVersion,
Version: FrozenFlatcarSIGImageVersion,
}

SIGFlatcarArm64Gen2ImageConfigTemplate = SigImageConfigTemplate{
ResourceGroup: AKSFlatcarResourceGroup,
Gallery: AKSFlatcarGalleryName,
Definition: "flatcargen2arm64",
Version: LinuxSIGImageVersion,
Version: FrozenFlatcarSIGImageVersion,
}

SIGACLGen2TLImageConfigTemplate = SigImageConfigTemplate{
Expand Down
2 changes: 0 additions & 2 deletions pkg/agent/datamodel/sig_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ var _ = Describe("GetMaintainedLinuxSIGImageConfigMap", func() {
AKSAzureLinuxV3Gen2TL: SIGAzureLinuxV3TLImageConfigTemplate.WithOptions(),
AKSAzureLinuxV3CVMGen2: SIGAzureLinuxV3CVMGen2ImageConfigTemplate.WithOptions(),
AKSAzureLinuxV3OSGuardGen2FIPSTL: SIGAzureLinuxV3OSGuardGen2FIPSTLImageConfigTemplate.WithOptions(),
AKSFlatcarGen2: SIGFlatcarGen2ImageConfigTemplate.WithOptions(),
AKSFlatcarArm64Gen2: SIGFlatcarArm64Gen2ImageConfigTemplate.WithOptions(),
AKSACLGen2TL: SIGACLGen2TLImageConfigTemplate.WithOptions(),
AKSACLArm64Gen2TL: SIGACLArm64Gen2TLImageConfigTemplate.WithOptions(),
AKSACLGen2FIPSTL: SIGACLGen2FIPSTLImageConfigTemplate.WithOptions(),
Expand Down
Loading
Loading