combine bootstrap options, add xenial support

This commit is contained in:
Brandon B. Jozsa
2016-09-06 10:04:41 -04:00
parent 37057ba969
commit 2606e8e1c8
11 changed files with 31 additions and 13 deletions

View File

@@ -0,0 +1,4 @@
---
pypy_version: 2.4.0
pip_python_modules:
- httplib2

View File

@@ -0,0 +1,31 @@
#/bin/bash
set -e
BINDIR="/opt/bin"
mkdir -p $BINDIR
cd $BINDIR
if [[ -e $BINDIR/.bootstrapped ]]; then
exit 0
fi
PYPY_VERSION=5.1.0
wget -O - https://bitbucket.org/pypy/pypy/downloads/pypy-$PYPY_VERSION-linux64.tar.bz2 |tar -xjf -
mv -n pypy-$PYPY_VERSION-linux64 pypy
## library fixup
mkdir -p pypy/lib
ln -snf /lib64/libncurses.so.5.9 $BINDIR/pypy/lib/libtinfo.so.5
cat > $BINDIR/python <<EOF
#!/bin/bash
LD_LIBRARY_PATH=$BINDIR/pypy/lib:$LD_LIBRARY_PATH exec $BINDIR/pypy/bin/pypy "\$@"
EOF
chmod +x $BINDIR/python
$BINDIR/python --version
touch $BINDIR/.bootstrapped

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
#!/bin/bash
BINDIR="/opt/bin"
LD_LIBRARY_PATH=$BINDIR/pypy/lib:$LD_LIBRARY_PATH $BINDIR/pypy/bin/$(basename $0) $@

View File

@@ -0,0 +1,52 @@
---
- name: Bootstrap | Check if bootstrap is needed
raw: stat /opt/bin/.bootstrapped
register: need_bootstrap
ignore_errors: True
when: bootstrap_os == "coreos"
- name: Bootstrap | Run bootstrap.sh
script: bootstrap.sh
when: (bootstrap_os == "coreos" and need_bootstrap | failed)
- set_fact:
ansible_python_interpreter: "/opt/bin/python"
when: bootstrap_os == "coreos"
- name: Bootstrap | Check if we need to install pip
shell: "{{ansible_python_interpreter}} -m pip --version"
register: need_pip
ignore_errors: True
changed_when: false
when: (bootstrap_os == "coreos" and need_bootstrap | failed)
- name: Bootstrap | Copy get-pip.py
copy: src=get-pip.py dest=~/get-pip.py
when: (bootstrap_os == "coreos" and need_pip | failed)
- name: Bootstrap | Install pip
shell: "{{ansible_python_interpreter}} ~/get-pip.py"
when: (bootstrap_os == "coreos" and need_pip | failed)
- name: Bootstrap | Remove get-pip.py
file: path=~/get-pip.py state=absent
when: (bootstrap_os == "coreos" and need_pip | failed)
- name: Bootstrap | Install pip launcher
copy: src=runner dest=/opt/bin/pip mode=0755
when: (bootstrap_os == "coreos" and need_pip | failed)
- name: Install required python modules
pip:
name: "{{ item }}"
with_items: "{{pip_python_modules}}"
when: bootstrap_os == "coreos"
- name: Check configured hostname
shell: hostname
register: configured_hostname
when: bootstrap_os == "coreos"
- name: Assign inventory name to unconfigured hostnames
shell: sh -c "echo \"{{inventory_hostname}}\" > /etc/hostname; hostname \"{{inventory_hostname}}\""
when: (bootstrap_os == "coreos" and configured_hostname.stdout == 'localhost')

View File

@@ -0,0 +1,4 @@
---
- name: Bootstrap Xenial target hosts for ansible use
raw: apt-get install -y python-minimal
when: bootstrap_os == "xenial"

View File

@@ -0,0 +1,3 @@
---
- include: bootstrap-ubuntu-xenial.yml
- include: bootstrap-coreos.yml

View File

@@ -0,0 +1,2 @@
#!/bin/bash
LD_LIBRARY_PATH={{ pypy_install_path }}/lib:$LD_LIBRARY_PATH exec {{ pypy_install_path }}/bin/{{ item.src }} "$@"