I am just curious to hear if anyone is using dev-op tools (or any automation tools) with VMs provisioned through UCSD?
Things like Puppet, Chef, Ansible etc.
Have you been using any of them inside catalog templates and what are your use-cases?
We have not yet but this is what I am actively working on using UCSD and Salt. We're trying to get it set up in a way that users can pick servers of certain flavors (i.e. a sql DB server, web server with our common devel environment, etc.) to deploy from a catalog and then UCSD will deploy from a single master image and then run some post install bash scripts that will further customize the machine and turn it into a salt minion for software deployment/config and join it to Spacewalk for system/patch management. We're using CentOS VM's exclusively but will eventually look at adding this functionality for Windows servers as well.
I didn't know about SaltStack. It seems really interesting. I will try to get familiar with how it's used.
In the meantime, I have found interesting video demonstrating how vCloud App Director is natively supporting SaltStack config management. You can watch video here: SaltConf14 - Becky Smith - VMware & SaltStack: How to build, deploy and manage modern applications - YouTube
Spacewalk also seems interesting, however in our case we are offering Ubuntu and Cent OS distributions for IaaS.
For those post-install bash scripts, are you creating custom workflows or using something preinstalled on UCSD? We have upgraded UCSD recently to the latest version 188.8.131.52.
That is in effect what we are trying to do, just using UCSD instead of vCAC/vApp Director as our cloud management utility and catalog provider to the end user. Currently, we have the templates in vCenter created and the salt formulas made to transform the clone into the final desired product, so all we need to do now is get those items tied together into a UCSD catalog image and associated workflow. I'm working on using the "Execute VIX Script" task which is a built-in task to inject the bash script into the VM (I've used the VIX/VIM interface before to inject bash scripts using PowerCLI so I know that portion of it works) but I'm currently running into new-user issues with it such as understanding proper syntax and formatting to use.
So for us it comes down to only providing OS-only catalog images in the beginning. However, I really got interested in using Salt as tool for SSH access post-provisioning. After quick introduction video I have found this formula: saltstack-formulas/openssh-formula · GitHub
Do you think it would be possible to pack VMWare templates with local SaltStack installation and above formula. Then in the last step after provisioning, to run "Execute VIX Script" task and inject a bash script which will populate Pillar file for above formula and replace some values based on UCSD variables (username for SSH access in first place). Last commands of the batch script would run Salt locally, so I guess this would be masterless setup. Ideally I would use some of the SaltStack Returners to e-mail user about access parameters...
What do you think?
I definitely think that's possible, theoretically if you can inject that bash script you can do anything you want with the machine.
I have been considering another interesting idea recently. Vagrant is also very popular these days, and it would be awesome if UCS Director would have it's own Vagrant provider (like Docker, AWS has, vagrant-vcloud, VirtualBox have). This would enable anyone using Vagrant to automate provisioning on UCS Director.
Take a look to this code (Ruby gem implementing VMware's V'Cloud provider for Vagrant): https://github.com/frapposelli/vagrant-vcloud
BTW: It's been a while I was wondering how's your progress with Salt ?