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/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 82% rename from roles/coreos-bootstrap/tasks/main.yml rename to roles/bootstrap-os/tasks/bootstrap-coreos.yml index 4d9e11ea6..a638ad82b 100644 --- a/roles/coreos-bootstrap/tasks/main.yml +++ b/roles/bootstrap-os/tasks/bootstrap-coreos.yml @@ -4,9 +4,10 @@ register: need_bootstrap ignore_errors: True + - name: Bootstrap | Run bootstrap.sh script: bootstrap.sh - when: need_bootstrap | failed + when: (need_bootstrap | failed) - set_fact: ansible_python_interpreter: "/opt/bin/python" @@ -16,23 +17,23 @@ register: need_pip ignore_errors: True changed_when: false - when: need_bootstrap | failed + when: (need_bootstrap | failed) - name: Bootstrap | Copy get-pip.py copy: src=get-pip.py dest=~/get-pip.py - when: need_pip | failed + when: (need_pip | failed) - name: Bootstrap | Install pip shell: "{{ansible_python_interpreter}} ~/get-pip.py" - when: need_pip | failed + when: (need_pip | failed) - name: Bootstrap | Remove get-pip.py file: path=~/get-pip.py state=absent - when: need_pip | failed + when: (need_pip | failed) - name: Bootstrap | Install pip launcher copy: src=runner dest=/opt/bin/pip mode=0755 - when: need_pip | failed + when: (need_pip | failed) - name: Install required python modules pip: @@ -45,4 +46,4 @@ - name: Assign inventory name to unconfigured hostnames shell: sh -c "echo \"{{inventory_hostname}}\" > /etc/hostname; hostname \"{{inventory_hostname}}\"" - when: configured_hostname.stdout == 'localhost' + when: (configured_hostname.stdout == 'localhost') diff --git a/roles/bootstrap-os/tasks/bootstrap-ubuntu.yml b/roles/bootstrap-os/tasks/bootstrap-ubuntu.yml new file mode 100644 index 000000000..2d3becd44 --- /dev/null +++ b/roles/bootstrap-os/tasks/bootstrap-ubuntu.yml @@ -0,0 +1,14 @@ +--- +# raw: cat /etc/issue.net | grep '{{ bootstrap_versions }}' + +- name: Bootstrap | Check if bootstrap is needed + raw: which python + register: need_bootstrap + ignore_errors: True + +- name: Bootstrap | Install python 2.x + raw: DEBIAN_FRONTEND=noninteractive apt-get install -y python-minimal + when: need_bootstrap | failed + +- set_fact: + ansible_python_interpreter: "/usr/bin/python" diff --git a/roles/bootstrap-os/tasks/main.yml b/roles/bootstrap-os/tasks/main.yml new file mode 100644 index 000000000..5d084ec74 --- /dev/null +++ b/roles/bootstrap-os/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- include: bootstrap-ubuntu.yml + when: bootstrap_os == "ubuntu" + +- include: bootstrap-coreos.yml + when: bootstrap_os == "coreos" \ No newline at end of file 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 diff --git a/coreos-bootstrap.yml b/ubuntu-bootstrap.yml similarity index 67% rename from coreos-bootstrap.yml rename to ubuntu-bootstrap.yml index 88fcb888f..b6adf783d 100644 --- a/coreos-bootstrap.yml +++ b/ubuntu-bootstrap.yml @@ -2,4 +2,4 @@ - hosts: all gather_facts: False roles: - - coreos-bootstrap + - ubuntu-bootstrap