Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > Guides > Chef Cookbooks Developer Guide > Developer > ServerTemplate Development > Common Development Tasks > Writing Chef Recipes for Windows

Writing Chef Recipes for Windows

 

Overview

Although, Chef was not originally designed or tested to run on Windows, it should still be possible to write functional Chef recipes to support Windows Server 2008 and up.  Be sure to follow the specific safeguards described below.  

Supported Chef Providers

The following list represents the Chef providers that are supported on Windows (may require getting the latest version of RightLink for full support):

  • File, Directory, Template, RemoteFile, RemoteDirectory - Avoid using owner and group attributes as these raise exceptions on Windows. Custom providers to handle NTFS security management still need to be developed.  RightLink supports remote file management running in Chef solo mode.
  • HttpRequest, RubyBlock - No known issues.
  • Execute, Script, Ruby, Perl, Python - RightLink now has working versions of these providers.   In order to use these providers, you must install your own version of ruby, perl or python and place them on the PATH. The following Execute command arguments are ignored: timeout, user, group, umask.

Unsupported Chef Providers

The following list represents the Chef providers that are not supported on Windows (at this time):

  • Cron - Not supported due to the use of Linux commands. Windows' Task Scheduler has a command-line utility called schtasks.exe (for use in PowerShell, etc.).
  • Link, Mount - Not supported due to use of Linux commands. It is possible to create hard links, symbolic links and mount points under NTFS but there are no distributed utilities for these ("mklink.exe" is available for Vista and above).
  • Service - Not supported due to use of Linux commands. It is possible to stop/start services using "net" commands in Windows and also by using "sc.exe".
  • Bash, Csh - Not supported.
  • User, Group - Not supported as UIDs / GIDs are not directly portable to Windows. Custom providers will handle Windows user / group management.
  • Route, Ifconfig - Not supported due to use of Linux commands. See the DNS WMI Provider reference in MSDN for a WMI solution (in PowerShell, etc.).
     

You must to post a comment.
Last modified
22:05, 16 May 2013

Tags

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.