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

@ -1,13 +1,19 @@
--- ---
- hosts: all - hosts: all
gather_facts: true gather_facts: false
roles:
- bootstrap-os
tags:
- bootstrap-os
- hosts: etcd:!k8s-cluster - hosts: etcd:!k8s-cluster
gather_facts: true
roles: roles:
- { role: kubernetes/preinstall, tags: preinstall } - { role: kubernetes/preinstall, tags: preinstall }
- { role: etcd, tags: etcd } - { role: etcd, tags: etcd }
- hosts: k8s-cluster - hosts: k8s-cluster
gather_facts: true
roles: roles:
- { role: kubernetes/preinstall, tags: preinstall } - { role: kubernetes/preinstall, tags: preinstall }
- { role: etcd, tags: etcd } - { role: etcd, tags: etcd }
@ -15,14 +21,17 @@
- { role: network_plugin, tags: network } - { role: network_plugin, tags: network }
- hosts: kube-master - hosts: kube-master
gather_facts: true
roles: roles:
- { role: kubernetes/preinstall, tags: preinstall } - { role: kubernetes/preinstall, tags: preinstall }
- { role: kubernetes/master, tags: master } - { role: kubernetes/master, tags: master }
- hosts: k8s-cluster - hosts: k8s-cluster
gather_facts: true
roles: roles:
- { role: dnsmasq, tags: dnsmasq } - { role: dnsmasq, tags: dnsmasq }
- hosts: kube-master[0] - hosts: kube-master[0]
gather_facts: true
roles: roles:
- {role: kubernetes-apps, tags: apps} - {role: kubernetes-apps, tags: apps}

View file

@ -1,5 +0,0 @@
---
- hosts: all
gather_facts: False
roles:
- coreos-bootstrap

View file

@ -1,3 +1,6 @@
# Valid bootstrap options (required): xenial, coreos, none
bootstrap_os: none
# Directory where the binaries will be installed # Directory where the binaries will be installed
bin_dir: /usr/local/bin bin_dir: /usr/local/bin

View file

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