-
Epic
-
Resolution: Done
-
Critical
-
None
-
MAPI GCP Windows Support
-
BU Product Work
-
False
-
None
-
False
-
Green
-
To Do
-
OCPSTRAT-265 - Support Windows Containers on GCP
-
Impediment
-
OCPSTRAT-265Support Windows Containers on GCP
-
0% To Do, 0% In Progress, 100% Done
-
CLOUD Sprint 219
User Story
As a user I want like the the content present in the userDataSecret field of a GCP MachineSet to be processed during the initial boot up of a GCP Windows VM to allow for setup required by the Windows Machine Config Operator.
Background
The Windows Machine Config Operator uses the content in userDataSecret to setup the Windows VM on first boot. For this to happen in GCE, the contents have to be placed in a special metadata key sysprep-specialize-script-ps1
Steps
- Figure out a way to detect the given VM is using Windows as a OS in the GCE provider code
- For Windows VMs, update perform the steps described in the background section
Open Questions
- By defaulting to using sysprep-specialize-script-ps1 we are mandating to using PowerShell in the userDataSecret. We could attempt to detect PowerShell vs Batch by inspecting userDataSecret. Alternatively we can document this and that should be sufficient as the Windows user data secret is owned and controlled by WMCO. Any changes to it will be stomped.
- The format of Windows user data is now different across clouds. AWS and Azure requires the PowerShell commands to be placed between <powershell>Foo</powershell> where as this is not needed for GCP. Does this knowledge live with the client/caller or within the Machine API providers? IOW should MachineAPI mandate a format for it's clients and internally handles the cloud specific format?
Stakeholders
- The Windows Containers team
Definition of Done
- A Windows MachineSet results in a Windows Machine(s) where the steps listed in the userDataSecret are executed during initial boot.
There are no Sub-Tasks for this issue.