From 2606e8e1c8a18b6b813f12d1ea5c8c5a6d2f2aa0 Mon Sep 17 00:00:00 2001 From: "Brandon B. Jozsa" Date: Tue, 6 Sep 2016 10:04:41 -0400 Subject: [PATCH] combine bootstrap options, add xenial support --- cluster.yml | 11 ++++++++++- coreos-bootstrap.yml | 5 ----- inventory/group_vars/all.yml | 3 +++ .../defaults/main.yml | 0 .../files/bootstrap.sh | 0 .../files/get-pip.py | 0 .../files/runner | 0 .../tasks/bootstrap-coreos.yml} | 18 +++++++++++------- .../tasks/bootstrap-ubuntu-xenial.yml | 4 ++++ roles/bootstrap-os/tasks/main.yml | 3 +++ .../templates/python_shim.j2 | 0 11 files changed, 31 insertions(+), 13 deletions(-) delete mode 100644 coreos-bootstrap.yml rename roles/{coreos-bootstrap => bootstrap-os}/defaults/main.yml (100%) rename roles/{coreos-bootstrap => bootstrap-os}/files/bootstrap.sh (100%) rename roles/{coreos-bootstrap => bootstrap-os}/files/get-pip.py (100%) rename roles/{coreos-bootstrap => bootstrap-os}/files/runner (100%) rename roles/{coreos-bootstrap/tasks/main.yml => bootstrap-os/tasks/bootstrap-coreos.yml} (66%) create mode 100644 roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml create mode 100644 roles/bootstrap-os/tasks/main.yml rename roles/{coreos-bootstrap => bootstrap-os}/templates/python_shim.j2 (100%) diff --git a/cluster.yml b/cluster.yml index 45d4183b9..0518ef28e 100644 --- a/cluster.yml +++ b/cluster.yml @@ -1,13 +1,19 @@ --- - hosts: all - gather_facts: true + gather_facts: false + roles: + - bootstrap-os + tags: + - bootstrap-os - hosts: etcd:!k8s-cluster + gather_facts: true roles: - { role: kubernetes/preinstall, tags: preinstall } - { role: etcd, tags: etcd } - hosts: k8s-cluster + gather_facts: true roles: - { role: kubernetes/preinstall, tags: preinstall } - { role: etcd, tags: etcd } @@ -15,14 +21,17 @@ - { role: network_plugin, tags: network } - hosts: kube-master + gather_facts: true roles: - { role: kubernetes/preinstall, tags: preinstall } - { role: kubernetes/master, tags: master } - hosts: k8s-cluster + gather_facts: true roles: - { role: dnsmasq, tags: dnsmasq } - hosts: kube-master[0] + gather_facts: true roles: - {role: kubernetes-apps, tags: apps} diff --git a/coreos-bootstrap.yml b/coreos-bootstrap.yml deleted file mode 100644 index 88fcb888f..000000000 --- a/coreos-bootstrap.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: all - gather_facts: False - roles: - - coreos-bootstrap diff --git a/inventory/group_vars/all.yml b/inventory/group_vars/all.yml index 547a9d612..32f34c310 100644 --- a/inventory/group_vars/all.yml +++ b/inventory/group_vars/all.yml @@ -1,3 +1,6 @@ +# Valid bootstrap options (required): xenial, coreos, none +bootstrap_os: none + # Directory where the binaries will be installed bin_dir: /usr/local/bin diff --git a/roles/coreos-bootstrap/defaults/main.yml b/roles/bootstrap-os/defaults/main.yml similarity index 100% rename from roles/coreos-bootstrap/defaults/main.yml rename to roles/bootstrap-os/defaults/main.yml diff --git a/roles/coreos-bootstrap/files/bootstrap.sh b/roles/bootstrap-os/files/bootstrap.sh similarity index 100% rename from roles/coreos-bootstrap/files/bootstrap.sh rename to roles/bootstrap-os/files/bootstrap.sh diff --git a/roles/coreos-bootstrap/files/get-pip.py b/roles/bootstrap-os/files/get-pip.py similarity index 100% rename from roles/coreos-bootstrap/files/get-pip.py rename to roles/bootstrap-os/files/get-pip.py diff --git a/roles/coreos-bootstrap/files/runner b/roles/bootstrap-os/files/runner similarity index 100% rename from roles/coreos-bootstrap/files/runner rename to roles/bootstrap-os/files/runner diff --git a/roles/coreos-bootstrap/tasks/main.yml b/roles/bootstrap-os/tasks/bootstrap-coreos.yml similarity index 66% rename from roles/coreos-bootstrap/tasks/main.yml rename to roles/bootstrap-os/tasks/bootstrap-coreos.yml index 4d9e11ea6..ebeced7d6 100644 --- a/roles/coreos-bootstrap/tasks/main.yml +++ b/roles/bootstrap-os/tasks/bootstrap-coreos.yml @@ -3,46 +3,50 @@ raw: stat /opt/bin/.bootstrapped register: need_bootstrap ignore_errors: True + when: bootstrap_os == "coreos" - name: Bootstrap | Run bootstrap.sh script: bootstrap.sh - when: need_bootstrap | failed + 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: need_bootstrap | failed + when: (bootstrap_os == "coreos" and need_bootstrap | failed) - name: Bootstrap | Copy 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 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 file: path=~/get-pip.py state=absent - when: need_pip | failed + when: (bootstrap_os == "coreos" and need_pip | failed) - name: Bootstrap | Install pip launcher 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 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: configured_hostname.stdout == 'localhost' + when: (bootstrap_os == "coreos" and configured_hostname.stdout == 'localhost') diff --git a/roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml b/roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml new file mode 100644 index 000000000..70a65a596 --- /dev/null +++ b/roles/bootstrap-os/tasks/bootstrap-ubuntu-xenial.yml @@ -0,0 +1,4 @@ +--- +- name: Bootstrap Xenial target hosts for ansible use + raw: apt-get install -y python-minimal + when: bootstrap_os == "xenial" diff --git a/roles/bootstrap-os/tasks/main.yml b/roles/bootstrap-os/tasks/main.yml new file mode 100644 index 000000000..6e35e9b38 --- /dev/null +++ b/roles/bootstrap-os/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- include: bootstrap-ubuntu-xenial.yml +- include: bootstrap-coreos.yml diff --git a/roles/coreos-bootstrap/templates/python_shim.j2 b/roles/bootstrap-os/templates/python_shim.j2 similarity index 100% rename from roles/coreos-bootstrap/templates/python_shim.j2 rename to roles/bootstrap-os/templates/python_shim.j2