Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

add support for windows 2008 r2 core #21

Merged
merged 2 commits into from
Feb 20, 2014
Merged

add support for windows 2008 r2 core #21

merged 2 commits into from
Feb 20, 2014

Conversation

lmayorga1980
Copy link
Contributor

  • include extra dism.exe commands for Autounattend.xml
  • add extra .json for windows 2008 r2 core

@lmayorga1980
Copy link
Contributor Author

@joefitzgerald will you add these for windows core support?

@joefitzgerald
Copy link
Owner

@lmayorga1980 Firstly, thank you for this contribution! I have been on the fence about merging this as I'd like to avoid a proliferation of Autounattend.xml, Vagrantfiles and Packer json for different configurations of each OS. The potential number of configurations begins to get out of control once you factor in:

  • Operating system version
  • Operating system edition
  • Inclusion of Chef/Puppet
  • Installation of Windows Updates (or not)
  • Installation of VM tools (or not)
  • Installation of chocolatey (or not)
  • Installation of OpenSSH (or not - once we have the Packer WinRM communicator complete)
  • No doubt more variants in the future

Given the exponential nature of the problem space, I aim to build a tool – Inductor – which will take a small set of templates and scripts and allow you to generate the required configuration.

If you would like, I can merge this to develop, but I'd like to complete Inductor prior to doing the next packer-windows release. Just need a little spare time to push it over the line. What are you thoughts in this area - I'm interested in your feedback.

joefitzgerald added a commit that referenced this pull request Feb 20, 2014
Add support for Windows 2008 R2 Core and Windows 2012 R2 Core
@joefitzgerald joefitzgerald merged commit 62077e6 into joefitzgerald:develop Feb 20, 2014
@lmayorga1980
Copy link
Contributor Author

@joefitzgerald I couldn't find a way to contact you via email so here it goes:.

  1. Based on what I saw on the packer-windows repo and my own personal experience using Packer/Vagrant it seems that there is the need to add flexibility based on certain variables/values.

    Idea: Inductor can read a simple configuration file(inductor.conf or inductor.json) that feeds packer in some sort of way. So when you run inductor --in packer_template.template --out packer<your_template>.json it will build an instance of a usable packer.json file. I guess you will need to parse the packer_template and replace the specific placeholders with the inductor.json variable values.

  2. Most of the values that you will set on the inductor configuration file will probably be, in most cases, (true/false) values and that lead to an internal(if/else) syntax either on powershell/batch files or any other type of script. If this is the case the Autounattend.xml will become another type of template and same story of Include windows 2012 and Virtualbox builder declarations #1 .

What do you think?

@joefitzgerald
Copy link
Owner

@lmayorga1980 Yes, this is exactly what I am thinking. All input artifacts will be processed and assumed to potentially include Go text/template content (although if no variables are found, the file will remain unmodified).

There should be a combination of operating system specific values which are combined with a set of user-defined key/value pairs to form the full map of values (with the user-defined key/value pairs overriding anything pre-defined).

Finally, there will be a map of from/to values to determine where each source file should be copied to and then processed.

I sent you an email with my contact info. You could also have peeked at the commit log ;)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants