✨ Enable VM boot diagnostics#901
Conversation
devigned
left a comment
There was a problem hiding this comment.
Oh, managed storage... I see. I was confused going through the code b/c I was looking for storage references to be setup for using boot diagnostics. Using managed storage is a much better option!
Without the need to provision the storage associated with the boot diagnostics, this is a relatively small change set.
LGTM
So judging from the content of this PR, managed storage is the silent default? It sounds like good magic but I confess I'm clueless how it works and couldn't find specific info in Azure docs either. |
6ca756b to
0ccb197
Compare
|
/assign @mboersma @alexeldeib |
|
tried creating a cluster with this branch and got a very useful log about the start of the machine in the /lgtm |
|
/approve self-approving since 2 approvers have said lgtm :) |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: CecileRobertMichon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest kind error |
|
/test pull-cluster-api-provider-azure-e2e |
- when upgrading from v1alpha4 -> v1beta1, AzureMachine CRD gets updated upon cluster upgrade. This upgrade updates AzureMachine.Spec.Diagnostics to "Managed", matching the existing behavior as implemented in kubernetes-sigs#901 - This PR enables upgrading nil AzureMachine.Spec.Diagnostic to "Managed" and unblocks v1alpha4 -> v1beta1 upgrades.
- when upgrading from v1alpha4 -> v1beta1, AzureMachine CRD gets updated upon cluster upgrade. This upgrade updates AzureMachine.Spec.Diagnostics to "Managed", matching the existing behavior as implemented in kubernetes-sigs#901 - This PR enables upgrading nil AzureMachine.Spec.Diagnostic to "Managed" and unblocks v1alpha4 -> v1beta1 upgrades. - adds test cases to test validateUpdate() in case of nil AzureMachine.Spec.Diagnostics

What this PR does / why we need it: Azure VM and VMSS support a boot diagnostics feature which streams cloud init logs and boot time output. This is incredibly useful for debugging bootstrapping failures when using cloud init, as all the logs get exfiltrated from the machine.
This PR enables that option on all VM/VMSS deployments using the managed storage account option (recommended) which means there is no need to create a storage account. In the future, we can consider enabling a custom storage account for users to provide their own storage if there is demand for that flexibility.
Note that boot diagnostics also work on Windows VMs https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/boot-diagnostics.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Fixes #606
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:
Release note: