Releases: kubernetes-sigs/cluster-api-provider-azure
v0.4.12
Release notes for v0.4.12
Notable changes since v0.4.11
Changes by Kind
π Bug Fix
- Skip NSG deletion if the vnet is unmanaged (#1156, @Evalle)
- Refactor
AzureMachinePool.Spec.Template.SpotVMOptions.MaxPrice
andAzureMachine.Spec.SpotVMOptions.MaxPrice
types to accept float values using the Go client. If upgrading a cluster to this version, and you're using spot instances with a set maximum price, you have to manually update theazuremachinepools.spec.template.spotVMOptions.maxPrice
andazuremachines.spec.spotVMOptions.maxPrice
fields. Wrapping the value in quotes will do the trick. (#1157, @axbarsan)
Dependencies
Added
Nothing has changed.
Changed
- sigs.k8s.io/cluster-api: v0.3.13 β v0.3.14
Removed
Nothing has changed.
Thanks to all our contributors! π
v0.4.11
Release notes for v0.4.11
Notable changes since v0.4.10
Changes by Kind
β¨ Feature
- Add Linux VM and VMSS extensions (#1107, @CecileRobertMichon)
- Add support from Azure Spot VMSS (#1062, @dr0pdb)
- Add validations for AzureCluster Updates (#1098, @furkatgofurov7)
- Add Windows support (#1036, @jsturtevant)
- Availability sets for control plane nodes
- Availability sets for worker nodes (#1137, @shysank)
- Debug/kubectl-capz-ssh: add AzureMachinePools option to ssh in the vmss nodes (#1070, @cpanato)
- Enable asynchronous reconciliation for AzureMachinePools (#1067, @devigned)
- Support for controller manager multi-tenancy (#977, @nader-ziada)
- VMSS: Use computer name and add it to the status (#1069, @cpanato)
π Documentation
- Add bootstrap failure detection proposal (#1076, @CecileRobertMichon)
- Add topic page for identities use cases (#1117, @nader-ziada)
- Removed
Implementers
from office hours in README (#1072, @craiglpeters) - Simplify getting-started.md and remove broken links (#1065, @CecileRobertMichon)
- Update mdbook to 0.4.5 to fix CVE-2020-26297 (#1142, @cjcullen)
- Update roadmap (#1109, @CecileRobertMichon)
- Updated multitenancy proposal to reflect the initial work and future roadmap (#1089, @devigned)
π Testing
- Collect kube-system logs for workload clusters in e2e tests (#1121, @devigned)
- Update windows httpd image in e2e test (#1128, @nader-ziada)
- Re-enable direct connection to the external load balancer test (#1132, @devigned)
- Bump k8s version in docs and tests to 1.19.7 (#1126, @CecileRobertMichon)
π Bug Fix
- Extra check for resource group existence when deleting (#1120, @nader-ziada)
- Merge load balancer properties with existing properties to avoid overwriting cloud provider rules (#1141, @CecileRobertMichon)
- Set securityGroupResourceGroup to custom vnet resource group in generated azure.json (#1063, @nader-ziada)
- Use non root numeric user for capz containers (#1138, @shysank)
π Cleanup
- Refactor AzureMachineReconciler to inject AzuremachineService as dependency (#1053, @shysank)
- Refactor controllers to decouple service instantiation (#1081, @shysank)
π§ Dev Tooling / Other
- Set default container for kubectl log command on capz manager pod (#1096, @jsturtevant)
π± Dependencies
Added
- contrib.go.opencensus.io/exporter/ocagent: v0.4.12
- contrib.go.opencensus.io/exporter/prometheus: v0.1.0
- github.com/Azure/aad-pod-identity: v1.6.3
- github.com/coreos/go-iptables: v0.3.0
- github.com/gosuri/uitable: v0.0.4
Changed
- sigs.k8s.io/cluster-api: v0.3.11 β v0.3.13
- sigs.k8s.io/controller-runtime: v0.5.11 β v0.5.14
Removed
Nothing has changed.
Thanks to all our contributors! π
v0.4.10
Release notes for v0.4.10
Notable changes since v0.4.9
Changes by Kind
β¨ Feature
- Add DiskEncryptionSetParameters.ID for disk encryption (#980, @mjudeikis)
- Add SecurityProfile.EncryptionAtHost parameter to machine spec to enable host-based VM encryption. (#1012, @dkorzuno)
- AKS clusters provisioned via CAPZ now have predictably named virtual networks. Prior to this, virtual networks for AKS clusters were not predictably named. This also means backfilling the corresponding cluster specs is impossible. upgrading a cluster to this version requires manually updating
spec.virtualNetwork.Name
andspec.virtualNetwork.Subnet.Name
to the values generated by AKS. Otherwise the cluster will fail to reconcile as the network and subnet names will not match.- Changed
spec.resourceGroup
tospec.resourceGroupName
. update your specs accordingly. (#1009, @alexeldeib)
- Changed
- Allow configuration of the API Server Load Balancer, including support for private API Server endpoint.
Allow BYO API Server IP (#974, @CecileRobertMichon) - Add
Status.Conditions
field toAzureMachinePool
showing details about the current state of the object. (#978, @nprokopic) - Add conditions for deletion workflows (#985, @nader-ziada)
- Add support for managed identity in machine pool (#1004, @shysank)
- Add support for private dns zones (#1033, @CecileRobertMichon)
- Support GPU nodes with "nvidia-gpu" flavor (#1002, @mboersma)
π Documentation
- Cleanup docs readme (#1051, @CecileRobertMichon)
- Update AzureDisk StorageClass volumeBindingMode to WaitForFirstConsumer (#989, @CecileRobertMichon)
π Testing
- Fix USE_CI_VERSION marketplace image version (#987, @CecileRobertMichon)
- Collect workload cluster logs in e2e runs (#976, @mboersma)
- Add CAPI MachinePool e2e tests targeting AzureMachinePool (#983, @devigned)
- Add ci version conformance test in conformance test suite (#1018, @CecileRobertMichon)
- Refactor conformance test to use CAPI Framework (#986, @cpanato)
- Update E2E Kubernetes versions (#1005, @CecileRobertMichon)
- Cluster should have healthy time synchronization (#988, @mboersma)
π Bug Fix
- Add a capi webhook wait to fix kubectl apply error in make create-management-cluster (#1006, @CecileRobertMichon)
- Fix error handling when vm is deleted (#1044, @shysank)
- Prevent vm recreation if it was deleted outside of capz (#1039, @shysank)
- Remove failed provisioning VM deletion logic (#1049, @Evalle)
- Add separate route tables for node and control-plane (#816, @nader-ziada)
π Cleanup
- Add Network Describer interface (#984, @CecileRobertMichon)
- Cleanup cloud/services (#1027, @shysank)
- Cleanup disks service (#1013, @shysank)
- Cleanup: VM and VNet spec no longer return arrays (#1022, @CecileRobertMichon)
- Require comments on exported funcs (#996, @mboersma)
- Update Kubernetes versions in e2e and docs (#1046, @mboersma)
π§ Dev Tooling
- Enable Azure SDK metrics and tracing (#1019, @devigned)
- Tilt auto-detects local flavors from templates dir (#1040, @CecileRobertMichon)
π± Dependencies
- Update Calico addon template to v3.16.3 (#991, @CecileRobertMichon)
Added
- cloud.google.com/go/bigquery: v1.8.0
- cloud.google.com/go/datastore: v1.1.0
- cloud.google.com/go/pubsub: v1.3.1
- cloud.google.com/go/storage: v1.10.0
- dmitri.shuralyov.com/gpu/mtl: 666a987
- github.com/DataDog/sketches-go: v0.0.1
- github.com/Knetic/govaluate: 9aa4983
- github.com/Shopify/sarama: v1.19.0
- github.com/Shopify/toxiproxy: v2.1.4+incompatible
- github.com/VividCortex/gohistogram: v1.0.0
- github.com/afex/hystrix-go: fa1af6a
- github.com/apache/thrift: v0.13.0
- github.com/armon/circbuf: bbbad09
- github.com/armon/go-metrics: f0300d1
- github.com/armon/go-radix: 7fddfc3
- github.com/aryann/difflib: e206f87
- github.com/aws/aws-lambda-go: v1.13.3
- github.com/aws/aws-sdk-go-v2: v0.18.0
- github.com/aws/aws-sdk-go: v1.27.0
- github.com/benbjohnson/clock: v1.0.3
- github.com/casbin/casbin/v2: v2.1.2
- github.com/chzyer/logex: v1.1.10
- github.com/chzyer/readline: 2972be2
- github.com/chzyer/test: a1ea475
- github.com/clbanning/x2j: 8252494
- github.com/cncf/udpa/go: 269d4d4
- github.com/codahale/hdrhistogram: 3a0bb77
- github.com/eapache/go-resiliency: v1.1.0
- github.com/eapache/go-xerial-snappy: 776d571
- github.com/eapache/queue: v1.1.0
- github.com/edsrzf/mmap-go: v1.0.0
- github.com/felixge/httpsnoop: v1.0.1
- github.com/form3tech-oss/jwt-go: v3.2.2+incompatible
- github.com/franela/goblin: c9ffbef
- github.com/franela/goreq: bcd34c9
- github.com/go-gl/glfw/v3.3/glfw: 6f7a984
- github.com/go-gl/glfw: e6da0ac
- github.com/go-sql-driver/mysql: v1.4.0
- githu...
v0.4.9
Release notes for v0.4.9
Notable changes since v0.4.8
Changes by Kind
π’ Action Required
- When upgrading AzureClusters from previous versions; the
KubeadmConfigTemplate
needs to be updated in the upgraded cluster for Control plane and worker nodes to use a secret name ofcontrol-plane-azure.json
andworker-node-azure.json
instead ofazure.json
respectively
New Features
- Add single stack IPv6 support
Deprecate VNet and Subnet CirdrBlock in favor of CIDRBlocks (#646, @jsturtevant) [SIG Cluster Lifecycle] - Add ThirdPartyImage flag to Marketplace image to indicate an image published by a third party publisher. (#928, @nader-ziada) [SIG Cluster Lifecycle]
- Added events data for AzureCluster Controller (#934, @varunpurohit76) [SIG Cluster Lifecycle]
- Apply calico ClusterResourceSet to tilt and dev clusters (#947, @CecileRobertMichon) [SIG Cluster Lifecycle]
- AzureMachinePool/AzureManagedControlPlane: generate ssh key when is not set (#927, @cpanato) [SIG Cluster Lifecycle]
- AzureManagedControlPlane: validate version in azure manager controlplane webhook (#906, @cpanato) [SIG Cluster Lifecycle]
- Change default NSG rule priorities: SSH inbound allow is now 2200 (was 100), API Server inbound allow is now 2201 (was 101). (#949, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Directly delete cluster resource group when entire cluster is deleted (#938, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Make role assignment name deterministic (#959, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Removes credentials from azure.json for worker nodes. (#955, @gab-satchi) [SIG Cluster Lifecycle]
- To avoid conflict in DNS name, we will not set the DNS record for the outbound public ip (#963, @nader-ziada) [SIG Cluster Lifecycle]
- Use k8s_resource to move CRDs out of uncategorized in Tilt (#923, @CecileRobertMichon) [SIG Cluster Lifecycle]
Bug or Regression
- Make thirdPartyImage optional (#969, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Fix system assigned identity template (#946, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Fixes a bug which allowed multiple image references on update for AzureMachines, and fixes documentation for custom images. (#930, @alexeldeib) [SIG Cluster Lifecycle]
- Include data disks as part of disks of an Azure machine (#956, @nader-ziada) [SIG Cluster Lifecycle]
Documentation
Testing
- E2e: log elapsed spec time and Ginkgo node number (#936, @mboersma) [SIG Cluster Lifecycle]
- Enable ClusterResourceSet on conformance tests (#922, @CecileRobertMichon) [SIG Cluster Lifecycle]
- Remove unused AzureCluster bastion status field (#950, @CecileRobertMichon) [SIG Cluster Lifecycle]
- log failed deployments and increase HTTP retries in LB test (#878, @mboersma) [SIG Cluster Lifecycle]
- default e2e focus to Azure cluster create tests (#939, @mboersma) [SIG Cluster Lifecycle]
Cleanup
- Remove public constants used to index Azure environment names, relying on the existing logic in github.com/Azure/go-autorest. (#879, @alexeldeib) [SIG Cluster Lifecycle]
Other (Cleanup or Flake)
- Bump cluster-api version to v0.3.10 (#954, @nader-ziada) [SIG Cluster Lifecycle]
- Bumped mdBook version to v0.4.3 (#945, @varunpurohit76) [SIG Cluster Lifecycle]
- Cert-manager: update cert-manager to 0.16.1 to follow CAPI (#926, @cpanato) [SIG Cluster Lifecycle]
Dependencies
Added
- github.com/gobuffalo/flect: v0.2.2
Changed
- github.com/Azure/azure-sdk-for-go: v46.0.0+incompatible β v46.4.0+incompatible
- github.com/Azure/go-autorest/autorest/adal: v0.9.2 β v0.9.4
- github.com/Azure/go-autorest/autorest/azure/auth: v0.5.1 β v0.5.2
- github.com/Azure/go-autorest/autorest/azure/cli: v0.4.0 β v0.4.1
- github.com/Azure/go-autorest/autorest: v0.11.4 β v0.11.7
- github.com/google/uuid: v1.1.1 β v1.1.2
- github.com/onsi/ginkgo: v1.14.0 β v1.14.1
- github.com/onsi/gomega: v1.10.1 β v1.10.2
- golang.org/x/crypto: 5c72a88 β 7f63de1
- golang.org/x/net: c890458 β 0a1ea39
- golang.org/x/sys: fe76b77 β fdedc70
- k8s.io/api: v0.17.11 β v0.17.12
- k8s.io/apimachinery: v0.17.11 β v0.17.12
- k8s.io/cli-runtime: v0.17.11 β v0.17.12
- k8s.io/client-go: v0.17.11 β v0.17.12
- k8s.io/cluster-bootstrap: v0.17.8 β v0.17.9
- k8s.io/code-generator: v0.17.11 β v0.17.12
- k8s.io/component-base: v0.17.11 β v0.17.12
- k8s.io/kubectl: v0.17.11 β v0.17.12
- k8s.io/metrics: v0.17.11 β v0.17.12
- k8s.io/utils: 5e75c01 β 4140de9
- sigs.k8s.io/cluster-api: v0.3.9 β v0.3.10
- sigs.k8s.io/controller-runtime: v0.5.10 β v0.5.11
Removed
- github.com/jessevdk/go-flags: v1.4.0
The image for this release is us.gcr.io/k8s-artifacts-prod/cluster-api-azure/cluster-api-azure-controller:v0.4.9.
Thanks to all our contributors! π
v0.4.8
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
- Golang: bump go version to 1.13.15 (#911, @cpanato)
- Remove AZURE_ENVIRONMENT from required tilt vars (#889, @CecileRobertMichon)
- Update AZURE_SSH_PUBLIC_KEY variable to be AZURE_SSH_PUBLIC_KEY_B64 (#907, @cpanato)
π 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
- Add Netlify book configuration (#858, @CecileRobertMichon)
- Create roadmap document (#890, @CecileRobertMichon)
- Documentation for custom control plane components (#854, @jsturtevant)
- Update document for release process (#867, @nader-ziada)
π 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 toReadWrite
. (#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
Notable changes since v0.4.6
π’ Action required
AzureManagedControlPlaneSpec.AdditionalTags
has change to betype 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 tov45.0.0
- Update
github.com/Azure/go-autorest/autorest
dependency tov0.11.2
- Update
github.com/golang/mock
dependency tov1.4.4
- Update
github.com/google/go-cmp
dependency tov0.5.1
- Update
golang.org/x/crypto
dependency tov0.0.0-20200728195943-123391ffb6de
- Update
golang.org/x/net
dependency tov0.0.0-20200707034311-ab3426394381
- Update
k8s.io/utils
dependency tov0.0.0-20200731180307-f00132d28269
- Update
sigs.k8s.io/cluster-api
dependency tov0.3.8
- Update
sigs.k8s.io/controller-runtime
dependency tov0.5.9
(#853, @cpanato)
- Update
- Update Kubernetes versions in e2e test and docs (#800, @mboersma)
π Refactors
- Refactor Subnets scope to interface (#768, @cpanato)
- Refactor Virtual Networks scope to interface (#801, @cpanato)
- Refactor RouteTable service (#792, @nader-ziada)
- Refactor VM service spec (#827, @CecileRobertMichon)
- Refactor inbound NAT rules service (#790, @CecileRobertMichon)
- Refactor role assignment service (#811, @CecileRobertMichon)
- Refactor security groups service spec (#830, @CecileRobertMichon)
- Dedupe tag reconciliation on machine pool (#823, @Deeps-1989)
π 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
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
- Use the prow template with tags for E2E tests (#701, @CecileRobertMichon)
- 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 tov44.0.0
- Update
github.com/Azure/go-autorest
dependency tov14.2.0
- Update
github.com/Azure/go-autorest/autorest
dependency tov0.11.0
- Update
github.com/Azure/go-autorest/autorest/azure/auth
dependency tov0.5.0
- Update
github.com/Azure/go-autorest/autorest/to
dependency tov0.4.0
- Update
github.com/Azure/go-autorest/autorest/validation
dependency tov0.3.0
- Update
github.com/google/go-cmp
dependency tov0.5.0
- Update
github.com/onsi/ginkgo
dependency tov1.14.0
- Update
golang.org/x/crypto
dependency tov0.0.0-20200622213623-75b288015ac9
- Update the compute package to
2020-06-01
and fix upgrade issues
- Update
- Update mockgen to 8a3d595 (#716, @CecileRobertMichon)
- Upgrade the CAPI dependency to v0.3.7 (#788, @devigned)
π Refactors
- Embed ClusterScope in MachineScope to remove the need for duplicate Cluster Getters (#750, @CecileRobertMichon)
- Cloud: Refactor Disks scope to interface (#759, @cpanato)
- Cloud: Refactor Groups scope to interface (#766, @cpanato)
- Refactor load balancer scope to interface (#771, @CecileRobertMichon)
- Refactor public IP service to get Spec from scope (#716, @CecileRobertMichon)
- Refactor network interfaces scope to interface (#742, @CecileRobertMichon)
- Removed use of deprecated cluster scope Name() in favor of ClusterName() (#741, @CecileRobertMichon)
- Rename FEATURE_GATE_MACHINE_POOL to EXP_MACHINE_POOL so its matches cluster-api (#782, @nader-ziada)
π 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 toAzureCluster
andAzureMachine
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
Notable changes since v0.4.4
π Documentation
- Change all example k8s versions and defaults to 1.18.3 (#698, @CecileRobertMichon)
- Add front-page link to flavors documentation (#633, @mboersma)
- Clarify that either python 2.7 or 3.x is ok (#647, @mboersma)
π§ 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 tov43.2.0
- Update
github.com/Azure/go-autorest/autorest
dependency tov0.10.2
- Update
github.com/google/go-cmp
dependency tov0.4.1
- Update
github.com/onsi/ginkgo
dependency tov1.13.0
- Update
github.com/onsi/gomega
dependency tov1.10.1
- Update
sigs.k8s.io/controller-runtime
dependency tov0.5.5
- Update
golang.org/x/crypto
dependency tov0.0.0-20200604202706-70a84ac30bf9
- Update
golang.org/x/net
dependency tov0.0.0-20200602114024-627f9648deb9
(#710, @cpanato)
π Refactors
- Move subnets and vnet defaulting to AzureCluster mutating webhook (#643, @CecileRobertMichon)
- Refactor: Move node public IP creation/deletion to NIC service (#630, @CecileRobertMichon)
π Bug Fixes
- Fix nodes outbound connectivity with Standard Load Balancer (#674, @CecileRobertMichon)
- Use vmType "vmss" in every template to allow clusters that have both Machines and MachinePools (#695, @CecileRobertMichon)
- Add ClusterName to kubeadm ClusterConfiguration (#666, @CecileRobertMichon)
- Added namespace override to kustomize files (#642, @jsturtevant)
- Set the resource group for
azure.json
vnet in template flavors so that it is the same as the cluster resource group. (#684, @devigned) - VMSS NetworkProfile does not get updated if scale set already exists (#685, @CecileRobertMichon)
- Make machine providerID consistent with node providerID (#655, @alexander-demichev)
- Check all chained errors for 404 (#650, @mboersma)
β¨ 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
Notable changes since v0.4.3
π Dependencies
- Update cluster-api dependency to v0.3.6 (#625, @nader-ziada)
π Bug Fixes
- Cluster and machine controllers correctly enforce webhook validation. (#621, @alexeldeib)
- Allow nil image in AzureMachine webhook validation (#626, @CecileRobertMichon)
- Report lack of webhook side effects (#610, @CecileRobertMichon)
β¨ 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
Notable changes since v0.4.2
π Documentation
- Fix a link and some typos in developer doc (#574, @mboersma)
- Fix kubectl link in getting started doc (#576, @mboersma)
π§ Dev tooling
- Fix generated flavor templates ordering (#599, @CecileRobertMichon)
- Update
make tilt-up
to work with the kind 0.8.1 and earlier (#593, @devigned)
π Testing
- Conformance: fix kubeadm version when using CI_VERSION (#570, @CecileRobertMichon)
π 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.
- Also adding SSHPublicKey validation in the webhook. (#568, @weng271190436)
π 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
onAzureCluster
to deploy cluster into a subscription other than the default set incapz-controller-manager
via theAZURE_SUBSCRIPTION_ID
environment variable. (#583, @jseely)- Provides backwards compatibility in
v1alpha2
via theazurecluster.infrastructure.cluster.x-k8s.io/subscriptionID
annotation.
- Provides backwards compatibility in
- 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! π