Skip to content

Releases: kubernetes-sigs/cluster-api-provider-azure

v0.4.8

02 Sep 23:57
056c641
Compare
Choose a tag to compare

Notable changes since v0.4.7

📢 Action Required

  • Changes AzureManagedCluster LoadBalancerSKU values to Uppercase: AzureManagedCluster LoadBalancerSKU values should be changed to Uppercase, ie. "basic" to "Basic" and "standard" to "Standard"
  • Managedclusters service spec LoadBalancerSKU, NetworkPlugin, and NetworkPolicy changed from *string to string
  • Update AZURE_SSH_PUBLIC_KEY environment variable to be AZURE_SSH_PUBLIC_KEY_B64

🔧 Dev tooling

💚 Testing

  • Enable e2e tests for CAPI cluster pivot scenarios (#852, @devigned)
  • Add more cluster-api e2e specs (#866, @nader-ziada)
  • Make LOCAL_ONLY default and remove k8sprow REGISTRY override in ./scripts/ci-e2e.sh (#872, @devigned)
  • Update Kubernetes versions in e2e test and docs (#887, @mboersma)
  • silence output from curl commands (#900, @mboersma)
  • move e2e failure domains spec to its own file (#899, @mboersma)
  • add debug output for e2e service and job failures (#860, @mboersma)
  • add test to validate accelerated networking for VMs (#764, @mboersma)

📖 Documentation

💎 Refactors

  • AzureMachine: deprecate Location - to be removed in v1alpha4 (#905, @cpanato)
  • Refactor scale sets service spec (#869, @CecileRobertMichon)
  • Use tags CreateOrUpdateAtScope to ensure VM tags are correct after the VM is created (#896, @CecileRobertMichon)
  • Changes AzureManagedCluster LoadBalancerSKU values to Uppercase: AzureManagedCluster LoadBalancerSKU values should be changed to Uppercase, ie. "basic" to "Basic" and "standard" to "Standard" (#914, @Evalle)

🐛 Bug Fixes

  • Add Ready condition to list of owned conditions (#882, @nader-ziada)
  • Don't update network interface if it already exists (#893, @CecileRobertMichon)
  • Fix group, version, kind not being passed into util.ClusterToObjectsMapper to trigger reconciles when Clusters are unpaused (#843, @devigned
  • Fix issue with azure.json secret not generated for control plane machines (#876, @nader-ziada)
  • Fix incorrect owner references on azure json. Prior to this release, cloud provider secrets created for azuremachines, azuremachinepools, and azuremachinetemplates were not correctly cleaned up. Users may wish to manually delete these secrets if the associated machines no longer exist. (#881, @alexeldeib)

✨ Enhancements

  • Add metadata.yaml for defining contracts (#904, @cpanato)
  • Add support for TerminateNotificationTimeout option (#891, @awesomenix)
  • Cloud/services: add bastion host service (#708, @cpanato)
  • Cloud/vm/vmss: validate if vCPUs and Memory matched the minimum required (#884, @cpanato)
  • Enabled VM boot diagnostics (#901, @CecileRobertMichon)
  • Make AZURE_SSH_PUBLIC_KEY_B64 optional in example templates (#910, @CecileRobertMichon)
  • Manager: add option to configure the leader election namespace (#913, @cpanato)
  • Manager: set the reconcileTimeout variable when initializing (#863, @cpanato)
  • Remove extra GET API calls for resource IDs (#848, @CecileRobertMichon)
  • Configure caching for OS and data disks using the cachingType field. Validating and defaulting webhooks have been added as well. osDisk cachingType defaults to None and DataDisk cachingType defaults to ReadWrite. (#849, @jroden)
  • Defaulting and validating webhooks for azureManagedControlPlane, as well as modeling DNSServiceIP and LoadBalancerSKU as fields in the amcp crd (both are optional). NetworkPlugin is defaulted to 'azure', LoadBalancerSKU is defaulted to 'standard', and NetworkPolicy is defaulted to 'calico'. DNSServiceIP is validated to ensure it represents an ip address. (#862, @jroden)

🌱 Dependencies

Added

  • github.com/jessevdk/go-flags: v1.4.0

Changed

  • github.com/Azure/azure-sdk-for-go: v44.0.0+incompatible → v46.0.0+incompatible
  • github.com/Azure/go-autorest/autorest/adal: v0.9.0 → v0.9.2
  • github.com/Azure/go-autorest/autorest/azure/auth: v0.5.0 → v0.5.1
  • github.com/Azure/go-autorest/autorest/mocks: v0.4.0 → v0.4.1
  • github.com/Azure/go-autorest/autorest: v0.11.0 → v0.11.4
  • github.com/golang/mock: v1.4.3 → v1.4.4
  • github.com/google/go-cmp: v0.5.0 → v0.5.2
  • github.com/google/gofuzz: v1.1.0 → v1.2.0
  • github.com/hashicorp/go-retryablehttp: v0.6.6 → v0.6.7
  • golang.org/x/crypto: 75b2880 → 5c72a88
  • golang.org/x/net: 627f964 → c890458
  • k8s.io/api: v0.17.8 → v0.17.11
  • k8s.io/apimachinery: v0.17.8 → v0.17.11
  • k8s.io/cli-runtime: v0.17.8 → v0.17.11
  • k8s.io/client-go: v0.17.8 → v0.17.11
  • k8s.io/code-generator: v0.17.8 → v0.17.11
  • k8s.io/component-base: v0.17.8 → v0.17.11
  • k8s.io/kubectl: v0.17.8 → v0.17.11
  • k8s.io/metrics: v0.17.8 → v0.17.11
  • k8s.io/utils: 6e3d28b → 5e75c01
  • sigs.k8s.io/cluster-api: v0.3.8 → v0.3.9
  • sigs.k8s.io/controller-runtime: v0.5.9 → v0.5.10

Removed

  • rsc.io/quote/v3: v3.1.0
  • rsc.io/sampler: v1.3.0

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.8.

Thanks to all our contributors! 😊

v0.4.7

04 Aug 21:18
6dee98a
Compare
Choose a tag to compare

Notable changes since v0.4.6

📢 Action required

  • AzureManagedControlPlaneSpec.AdditionalTags has change to be type Tags map[string]string
  • AzureManagedControlPlaneSpec.SSHPublicKey is expected to be a base64 encoded string

🔧 Dev tooling

  • Fix tilt-up argument list too long error on linux (#829, @jsturtevant)
  • Makefile: Add a make target to generate test coverage report (#779, @cpanato)

💚 Testing

📖 Documentation

  • Updates documentation about default behavior of failure domains (#850, @Evalle)
  • Document how to use custom images (#793, @mboersma)

🌱 Dependencies, minor changes, others

    • Update github.com/Azure/azure-sdk-for-go dependency to v45.0.0
    • Update github.com/Azure/go-autorest/autorest dependency to v0.11.2
    • Update github.com/golang/mock dependency to v1.4.4
    • Update github.com/google/go-cmp dependency to v0.5.1
    • Update golang.org/x/crypto dependency to v0.0.0-20200728195943-123391ffb6de
    • Update golang.org/x/net dependency to v0.0.0-20200707034311-ab3426394381
    • Update k8s.io/utils dependency to v0.0.0-20200731180307-f00132d28269
    • Update sigs.k8s.io/cluster-api dependency to v0.3.8
    • Update sigs.k8s.io/controller-runtime dependency to v0.5.9 (#853, @cpanato)
  • Update Kubernetes versions in e2e test and docs (#800, @mboersma)

💎 Refactors

🐛 Bug Fixes

  • Fixed an issue where AzureClusters were not being reprocessed when a Cluster is unpaused. (#841, @ncdc)
  • Fix group, version, kind not being passed into util.ClusterToObjectsMapper to trigger reconciles when Clusters are unpaused (#843, @devigned)
  • Add useExperimentalRetryJoin: true to all KubeadmConfigTemplate resource specs (#833, @jackfrancis)
  • Add validation on Cluster Name to limit length and not accept special characters (#828, @nader-ziada)
  • Only look at Group and Kind when checking a reference (#813, @ncdc)
  • Reduce validation strictness on v prefix in Kubernetes versions (#818, @alexeldeib)
  • Fix reconciliation of AzureManagedCluster when the resource group does not exist (#798, @devigned)

✨ Enhancements

  • Automatically generate azure.json for machine templates, machines (#802, @alexeldeib)
  • Default resource group name to AzureCluster name if not specified (#804, @alexeldeib)

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.7.

Thanks to all our contributors! 😊

v0.4.6

16 Jul 23:23
b62341b
Compare
Choose a tag to compare

Notable changes since v0.4.5

📢 Action required

  • Add AZURE_ENVIRONMENT to required Tilt keys
    CAPZ developers must add "AZURE_ENVIRONMENT" to tilt-settings.json (#722, @CecileRobertMichon)
  • Default values added for variables in manifests and templates
    action required : creation of clusters using the provided templates now requires the use of clusterctl or envsubst to take advantage of default values (#789, @nader-ziada)

🔧 Dev tooling

  • Fix conversion-get inadvertently generating code in $(go env GOPATH)/src rather than in the project directory. (#734, @devigned)
  • Fix tilt flavors so that they now will have a default AZURE_JSON_B64 value injected (#781, @devigned)
  • Install hack/tools when version has changed (#736, @CecileRobertMichon)

💚 Testing

  • Enable env substitution for experimental features and enable them in the E2E tests (#787, @devigned)
  • Run CAPI E2E specs in E2E
  • Add e2e spec for workload service and LBs (#740, @mboersma)

🌱 Dependencies, minor changes, others

  • Updated various dependencies (#752, @cpanato)
    • Update github.com/Azure/azure-sdk-for-go dependency to v44.0.0
    • Update github.com/Azure/go-autorest dependency to v14.2.0
    • Update github.com/Azure/go-autorest/autorest dependency to v0.11.0
    • Update github.com/Azure/go-autorest/autorest/azure/auth dependency to v0.5.0
    • Update github.com/Azure/go-autorest/autorest/to dependency to v0.4.0
    • Update github.com/Azure/go-autorest/autorest/validation dependency to v0.3.0
    • Update github.com/google/go-cmp dependency to v0.5.0
    • Update github.com/onsi/ginkgo dependency to v1.14.0
    • Update golang.org/x/crypto dependency to v0.0.0-20200622213623-75b288015ac9
    • Update the compute package to 2020-06-01 and fix upgrade issues
  • Update mockgen to 8a3d595 (#716, @CecileRobertMichon)
  • Upgrade the CAPI dependency to v0.3.7 (#788, @devigned)

💎 Refactors

🐛 Bug Fixes

  • Added secondary network interface for node public IPs (#754, @CecileRobertMichon)
  • Fixed default internal loadbalancer address selection for CIDR not 8 characters in length. (#724, @dklyle)
  • Fix incorrect API version error when deleting an AzureMachinePool (#730, @devigned)
  • Fix reconcile cycle in AzureClusterReconciler caused by setting an empty string for security group and route table name. (#732, @devigned)
  • Fix: Delete OS disk when failed VM gets deleted (#756, @CecileRobertMichon)
  • Remove SecurityGroups from AzureCluster Status (#735, @CecileRobertMichon)
  • Respect IngressRules When Provided in SecurityGroup Spec (#729, @rsmitty)
  • Route table is created once and works with route creation turned on for controller manager (#719, @jsturtevant)
  • Use AZURE_VNET_NAME as vnetName in azure.json (#762, @CecileRobertMichon)
  • When using machine pools VMSS is now deployed to *-node-subnet. (#727, @nprokopic)

✨ Enhancements

  • Add Status.Conditions field to AzureCluster and AzureMachine showing details about the current state of these objects. (#714, @nader-ziada)
  • Add support for Spot VMs to AzureMachine (#559, @JoelSpeed)
  • Add support for ephemeral os disks (#777, @alexeldeib)
  • Eliminate plain text credentials. (#653, @alexeldeib)
  • Services: logging with scope logger to provide better context (#739, @cpanato)
  • Support cluster.x-k8s.io/paused annotation which is used during cluster move (#691, @devigned)
  • Support to connect to all regions where Azure is available, not just the default public Azure. (#649, @nader-ziada)
  • Move etcd data dir to a data disk (#661, @CecileRobertMichon)

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.6.

Thanks to all our contributors! 😊

v0.4.5

16 Jun 22:23
e843409
Compare
Choose a tag to compare

Notable changes since v0.4.4

📖 Documentation

🔧 Dev tooling

  • Remove errant space that broke "make tilt-up" (#628, @mboersma)
  • Reuse base64 encoded secrets and default public key when deploying template flavors with Tilt. (#681, @devigned)
  • Users can now spin up worker clusters of a particular flavor using Tilt, with the clusters being represented as a local resource. Users can also specify custom variable overrides for the clusters in tilt-settings.json (#673, @jroden)

💚 Testing

  • Add tests for agentpools and availabilityzones (#709, @cpanato)
  • Add diagnostic script for log collection (#670, @chewong)
  • Switch to clusterctl-based e2e framework (#638, @chewong)
  • Support MachinePool clusters in ci-entrypoint.sh (#659, @chewong)
  • Extend ci-conformance.sh testing compatibility (#617, @chewong)

🌱 Dependencies

  • Update github.com/Azure/azure-sdk-for-go dependency to v43.2.0
  • Update github.com/Azure/go-autorest/autorest dependency to v0.10.2
  • Update github.com/google/go-cmp dependency to v0.4.1
  • Update github.com/onsi/ginkgo dependency to v1.13.0
  • Update github.com/onsi/gomega dependency to v1.10.1
  • Update sigs.k8s.io/controller-runtime dependency to v0.5.5
  • Update golang.org/x/crypto dependency to v0.0.0-20200604202706-70a84ac30bf9
  • Update golang.org/x/net dependency to v0.0.0-20200602114024-627f9648deb9
    (#710, @cpanato)

💎 Refactors

🐛 Bug Fixes

✨ Enhancements

  • Support for accelerated networking (#645, @mboersma)
  • Adds validation for OSDisk spec for AzureMachine (#658, @srm09)
  • Adds versioning info to startup logs (#639, @srm09)
  • Agentpools and managedclusters will now ensure cluster provisioning status is in a terminal state before issuing updates (Succeeded, Failed, Canceled). If the cluster is in a non-terminal state then no update call will be made (function will write info log & return). (#689, @jroden)
  • AzureMachine new optional field to add a list of user-assigned managed identities (#616, @nader-ziada)
  • Introduce controller argument --reconcile-timeout which provides a max bound on the time a reconcile loop is allowed to execute. (#690, @devigned)
  • Add version to user-agent for Azure API calls (#665, @CecileRobertMichon)

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.5.

Thanks to all our contributors! 😊

v0.4.4

15 May 23:31
4ee9c11
Compare
Choose a tag to compare

Notable changes since v0.4.3

🏃 Dependencies

🐛 Bug Fixes

✨ Enhancements

  • Adds an AKS provider, implemented via AzureManagedControlPlane and AzureManagedMachinePool custom resources. (#482, @alexeldeib)

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.4.

Thanks to all our contributors! 😊

v0.4.3

12 May 21:05
a2760be
Compare
Choose a tag to compare

Notable changes since v0.4.2

📖 Documentation

🔧 Dev tooling

💚 Testing

🏃 Dependencies

  • Update Cluster API to v0.3.5 (#577, @CecileRobertMichon)
  • Update dependencies (#587, @cpanato)
    • Update Azure/azure-sdk-for-go dependency to v42.0.0
    • Update golang/mock dependency to v1.4.3
    • Update pelletier/go-toml dependency to v1.7.0
    • Update spf13/viper dependency to v1.6.3
    • Update Azure/go-autorest dependency to v14.0.1
    • Update golangci/golangci-lint dependency to v1.25.1
    • Update google/go-cmp dependency to v0.4.0
    • Update gophercloud/gophercloud dependency to v0.10.0
    • Update hashicorp/golang-lru dependency to v0.5.4
    • Update kubernetes/code-generator dependency to v0.18.2
    • Update Azure/go-autorest/autorest/adal dependency to v0.8.3

💎 Refactors

  • Move ./exp/cloud code for interacting with Azure VMSS to ./cloud (#602, @devigned)
  • Move AzureMachine SSHPublicKey generation into AzureMachine webhook.

🐛 Bug Fixes

  • During reconcile, updates to control-plane-nsg will take place only if default rules(ssh-rule and api-server rule) is not present. The update will be skipped otherwise. (#592, @snehala27)
    • For node-nsg, as node-nsg does not have default rules, updates will be skipped

✨ Enhancements

  • Adds the ability to provide spec.subscriptionID on AzureCluster to deploy cluster into a subscription other than the default set in capz-controller-manager via the AZURE_SUBSCRIPTION_ID environment variable. (#583, @jseely)
    • Provides backwards compatibility in v1alpha2 via the azurecluster.infrastructure.cluster.x-k8s.io/subscriptionID annotation.
  • Adding validation for existing vnet and subnet according to https://github.com/kubernetes-sigs/cluster-api-provider-azure/blob/master/docs/topics/custom-vnet.md#pre-existing-vnet-and-subnets (#604, @weng271190436)
  • Add a new IdentityType field on AzureMachineSpec to support Azure managed Identities (#565, @nader-ziada)
    • Add a new flavor in templates that uses the Azure system assigned identity
  • Add support for CAPI MachinePools via AzureMachinePools using Virtual Machine Scale Sets (#483, @devigned)
  • Support for failure domains has been introduced. The list of availability zones for a region will be stored in the status of the AzureCluster and Cluster API will use these to try and spread Machine's across availaibility zones. AvailabilityZone on AzureMachine is deprecated and FailureDomain should be used instead. (#572, @richardcase)

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.3.

Thanks to all our contributors! 😊

v0.4.2

21 Apr 17:48
f960483
Compare
Choose a tag to compare

Notable changes since v0.4.1

📖 Documentation

🔧 Dev tooling

💚 Testing

🏃 Dependencies

🐛 Bug Fixes

✨ Enhancements

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.2.

Thanks to all our contributors! 😊

v0.4.1

06 Apr 23:31
3b0ad94
Compare
Choose a tag to compare

Notable changes since v0.4.0

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.1.

Thanks to all our contributors! 😊

v0.4.0

17 Mar 22:24
v0.4.0
a8c7349
Compare
Choose a tag to compare

Cluster API Azure (v1alpha3)

Cluster API support

This release supports the v1alpha3/v0.3.x version of Cluster API

Getting started

Quick start: https://cluster-api.sigs.k8s.io/user/quick-start.html

Upgrading from v1alpha2

To upgrade from a running management cluster based on v1alpha2, follow these instructions in the book.

Changes since v0.3.0

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.0.

Thanks to all our contributors! 😊

v0.3.1

26 Feb 19:41
b27fd52
Compare
Choose a tag to compare

The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.3.1.

Thanks to all our contributors! 😊