mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-21 05:00:13 -03:30
combine bootstrap options, add xenial support
This commit is contained in:
4
roles/bootstrap-os/defaults/main.yml
Normal file
4
roles/bootstrap-os/defaults/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
pypy_version: 2.4.0
|
||||
pip_python_modules:
|
||||
- httplib2
|
||||
31
roles/bootstrap-os/files/bootstrap.sh
Normal file
31
roles/bootstrap-os/files/bootstrap.sh
Normal 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
|
||||
19017
roles/bootstrap-os/files/get-pip.py
Normal file
19017
roles/bootstrap-os/files/get-pip.py
Normal file
File diff suppressed because it is too large
Load Diff
3
roles/bootstrap-os/files/runner
Normal file
3
roles/bootstrap-os/files/runner
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
BINDIR="/opt/bin"
|
||||
LD_LIBRARY_PATH=$BINDIR/pypy/lib:$LD_LIBRARY_PATH $BINDIR/pypy/bin/$(basename $0) $@
|
||||
52
roles/bootstrap-os/tasks/bootstrap-coreos.yml
Normal file
52
roles/bootstrap-os/tasks/bootstrap-coreos.yml
Normal 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')
|
||||
4
roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml
Normal file
4
roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: Bootstrap Xenial target hosts for ansible use
|
||||
raw: apt-get install -y python-minimal
|
||||
when: bootstrap_os == "xenial"
|
||||
3
roles/bootstrap-os/tasks/main.yml
Normal file
3
roles/bootstrap-os/tasks/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
- include: bootstrap-ubuntu-xenial.yml
|
||||
- include: bootstrap-coreos.yml
|
||||
2
roles/bootstrap-os/templates/python_shim.j2
Normal file
2
roles/bootstrap-os/templates/python_shim.j2
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
LD_LIBRARY_PATH={{ pypy_install_path }}/lib:$LD_LIBRARY_PATH exec {{ pypy_install_path }}/bin/{{ item.src }} "$@"
|
||||
Reference in New Issue
Block a user