User Tools

Site Tools


heat-windows

This is an old revision of the document!


Windows and Heat

As OpenStack is gaining traction in the enterprise world, the number of users asking for Microsoft Windows instances support is progressively increasing with a fast pace.

Most of the tools involved traditionally in OpenStack guest provisioning and orchestration are Linux specific and require to some extent to be ported, integrated or replaced with other alternatives in order to support Windows guests.

Furthermore, most typical Windows workloads require deployment automation mechanisms that differ from their Linux counterparts, requiring reboots, access to installation media (e.g. ISO images), licensing keys and more as detailed in the following paragraphs.

Cloudbase-Init

Cloudbase-Init can be considered as the standard de facto OpenStack Windows guest initialisation tool, providing features similar to cloud-init. The project started as a complete separate implementation, since a port of cloud-init has been proven unfeasible due to the platform differences and the tight coupling with Linux architecture.

The architecture of cloudbase-init is platform independent and beside the stock Windows support, a FreeBSD fork has been recently published by third parties.

A Windows installer is available to setup the application in a few simple steps.

Support for metadata currently includes Nova (HTTP), ConfigDriveV2 and EC2. Features are provided in the form of an extendible plugin framework, including:

  • Host name management
  • User creation / groups management
  • User password generation
  • Network configuration
  • SSH public keys deployment
  • Volumes extension
  • WinRM server configuration
  • WinRM password-less certificate authentication
  • User data scripts (including multi-part support)

User data management includes support for executing PowerShell, Command line batches and Bash scripts, along with multipart support, which in turn includes Heat support.

Different content types available in multipart user data workloads are handled via an extensible plugin framework, which currently include text/x-shellscript, text/part-handler and text/x-cfninitdata.

On Linux, Heat support is currently managed via a part-handler and a shellscript for Heat user data execution which don't support Windows at the present stage. To overcome this limitation, for the time being Heat data is managed by the text/x-cfninitdata plugin, providing the same type of features supported by the part-handler counterpart.

Windows specific issues

Reboots

Clear text passwords

Install ISOs

Template examples

cfntools

http://aws.amazon.com/developertools/AWS-CloudFormation/4026240853893296

heat-windows.1391467201.txt.gz · Last modified: 2014/02/04 00:40 (external edit)