Using Open Nebula I have instantiated several virtual machines (qemu-kvm) with the Centos 6.5 image provided by Open Nebula Marketplace. Now I would like to install more applications on VMs and run some postscripts also. Although I could do this by doing ssh over each vm, but I would like to automate the process.
We use Salt (http://www.saltstack.com) for exactly that.
Through some more or less complex configuration-files, you can have the machines automatically install software, configuration-files, users, ssh-keys, ...
You could for example set a rule, that any VM, who's FQDN starts with "web" has to install httpd.
Alternatives are Puppet (https://puppetlabs.com), Chef (https://www.chef.io/chef/), Ansible (http://www.ansible.com/home) and potentially a few others.
For the installation of Salt, we use an additional context-script in the VM (note, you'll have to add 'init.sh' and the other context-script), that takes care of the installation of the minion. The script looks somewhat like this (replace ##salt-master-FQDN## with the salt-master IP or fqdn):
#!/bin/sh
if [ ! -f /etc/salt/minion ]; then
yum clean all
yum -y update
yum -y install salt-minion
sed -i '/master:/c\master: ##salt-master-FQDN##' /etc/salt/minion
systemctl enable salt-minion.service
systemctl start salt-minion.service
fi