Merge pull request #14 from developerinlondon/feature/add-ansible
Added ANSIBLE=1 flag for pre-installing ansible
This commit is contained in:
commit
4e3be10bc8
3 changed files with 23 additions and 2 deletions
|
@ -47,13 +47,14 @@ By default no provisioning tools will be included but you can pick the ones
|
||||||
you want by providing some environmental variables. For example:
|
you want by providing some environmental variables. For example:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
PUPPET=1 CHEF=1 SALT=1 BABUSHKA=1 \
|
ANSIBLE=1 PUPPET=1 CHEF=1 SALT=1 BABUSHKA=1 \
|
||||||
make precise
|
make precise
|
||||||
```
|
```
|
||||||
|
|
||||||
Will build a Ubuntu Precise x86_64 box with latest Puppet, Chef, Salt and
|
Will build a Ubuntu Precise x86_64 box with latest Ansible, Puppet, Chef, Salt and
|
||||||
Babushka pre-installed.
|
Babushka pre-installed.
|
||||||
|
|
||||||
|
When using ANSIBLE=1, an optional ANSIBLE_VERSION parameter may be passed that will specify which version of ansible to install. By default it will install the latest Ansible.
|
||||||
|
|
||||||
## Pre built base boxes
|
## Pre built base boxes
|
||||||
|
|
||||||
|
|
7
debian/install-ansible.sh
vendored
Executable file
7
debian/install-ansible.sh
vendored
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
ANSIBLE_VERSION=${ANSIBLE_VERSION:-latest}
|
||||||
|
|
||||||
|
apt-get install -y build-essential python-setuptools python-jinja2 python-yaml python-paramiko python-httplib2 python-crypto sshpass
|
||||||
|
wget https://releases.ansible.com/ansible/ansible-$ANSIBLE_VERSION.tar.gz -O /tmp//ansible.tar.gz
|
||||||
|
tar -zxvf /tmp/ansible.tar.gz -C /tmp/ && rm -r /tmp/ansible.tar.gz
|
||||||
|
cd /tmp/ansible-* && make && make install
|
13
debian/install-extras.sh
vendored
13
debian/install-extras.sh
vendored
|
@ -26,6 +26,7 @@ utils.lxc.attach apt-get update
|
||||||
utils.lxc.attach apt-get install ${PACKAGES[*]} -y --force-yes
|
utils.lxc.attach apt-get install ${PACKAGES[*]} -y --force-yes
|
||||||
utils.lxc.attach apt-get upgrade -y --force-yes
|
utils.lxc.attach apt-get upgrade -y --force-yes
|
||||||
|
|
||||||
|
ANSIBLE=${ANSIBLE:-0}
|
||||||
CHEF=${CHEF:-0}
|
CHEF=${CHEF:-0}
|
||||||
PUPPET=${PUPPET:-0}
|
PUPPET=${PUPPET:-0}
|
||||||
SALT=${SALT:-0}
|
SALT=${SALT:-0}
|
||||||
|
@ -37,6 +38,18 @@ if [ $DISTRIBUTION = 'debian' ]; then
|
||||||
-i ${ROOTFS}/etc/bash.bashrc
|
-i ${ROOTFS}/etc/bash.bashrc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $ANSIBLE = 1 ]; then
|
||||||
|
if $(lxc-attach -n ${CONTAINER} -- which ansible &>/dev/null); then
|
||||||
|
log "Ansible has been installed on container, skipping"
|
||||||
|
else
|
||||||
|
info "Installing Ansible"
|
||||||
|
cp debian/install-ansible.sh ${ROOTFS}/tmp/ && chmod +x ${ROOTFS}/tmp/install-ansible.sh
|
||||||
|
utils.lxc.attach /tmp/install-ansible.sh &>>${LOG}
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "Skipping Ansible installation"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $CHEF = 1 ]; then
|
if [ $CHEF = 1 ]; then
|
||||||
if $(lxc-attach -n ${CONTAINER} -- which chef-solo &>/dev/null); then
|
if $(lxc-attach -n ${CONTAINER} -- which chef-solo &>/dev/null); then
|
||||||
log "Chef has been installed on container, skipping"
|
log "Chef has been installed on container, skipping"
|
||||||
|
|
Loading…
Reference in a new issue