From 0c4a981f739f93ba875b5aab5e8cc2c85be0ce28 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 8 Feb 2019 15:11:59 +0000 Subject: [PATCH] Stop running k8s-on-openstack nested The current code runs k8s-on-openstack's ansible in an ansible task. This makes debugging failures especially difficult. Instead, move the prep task to update-system-config, which will ensure the repo is cloned, and move the post task to its own playbook. The cinder storage class k8s action can be removed from this completely as it's handled in the rook playbook. Then just run the k8s-on-openstack playbook as usual, but without the cd first so that our normal ansible.cfg works. Change-Id: I6015e58daa940914d46602a2cb64ecac5d59fa2e --- playbooks/bootstrap-k8s-nodes.yaml | 11 +++++++++ playbooks/run-k8s-on-openstack.yaml | 35 ----------------------------- playbooks/update-system-config.yaml | 8 +++++++ run_all.sh | 15 ++++++++----- run_k8s_ansible.sh | 3 +-- 5 files changed, 30 insertions(+), 42 deletions(-) create mode 100644 playbooks/bootstrap-k8s-nodes.yaml delete mode 100644 playbooks/run-k8s-on-openstack.yaml diff --git a/playbooks/bootstrap-k8s-nodes.yaml b/playbooks/bootstrap-k8s-nodes.yaml new file mode 100644 index 0000000000..f7a2accb77 --- /dev/null +++ b/playbooks/bootstrap-k8s-nodes.yaml @@ -0,0 +1,11 @@ +# k8s-on-openstack uses the baked in ubuntu user and ssh keypairs +# to interact with the host. Our other roles assume that we'll be +# logging in directly as root. Run base-repos logging in as ubuntu +# with become: true set so that we can overwrite the root ssh key +# with the one allowing direct login from bridge. +- hosts: "kubernetes:!disabled" + name: "Base: set up users and base package repositories on all hosts" + remote_user: ubuntu + become: true + roles: + - base-repos diff --git a/playbooks/run-k8s-on-openstack.yaml b/playbooks/run-k8s-on-openstack.yaml deleted file mode 100644 index 2612f6d263..0000000000 --- a/playbooks/run-k8s-on-openstack.yaml +++ /dev/null @@ -1,35 +0,0 @@ -- hosts: "localhost:!disabled" - name: "System-config: Update the system-config repo on bridge" - connection: local - gather_facts: false - tasks: - - name: Make sure k8s-on-openstack repo is up to date - git: - repo: https://github.com/infraly/k8s-on-openstack - dest: /opt/k8s-on-openstack - # HEAD as of 2019-02-08 - version: e27a313b1583c377e08385014b9a880da765924b - force: yes - - - name: Run kubernetes deploy playbook - command: ./run_k8s_ansible.sh - args: - chdir: /opt/system-config - - - name: Install cinder storage class - k8s: - context: gitea - state: present - definition: "{{ lookup('file', 'k8s/storage-class.yaml') | from_yaml }}" - -# k8s-on-openstack uses the baked in ubuntu user and ssh keypairs -# to interact with the host. Our other roles assume that we'll be -# logging in directly as root. Run base-repos logging in as ubuntu -# with become: true set so that we can overwrite the root ssh key -# with the one allowing direct login from bridge. -- hosts: "kubernetes:!disabled" - name: "Base: set up users and base package repositories on all hosts" - remote_user: ubuntu - become: true - roles: - - base-repos diff --git a/playbooks/update-system-config.yaml b/playbooks/update-system-config.yaml index 0a1483323e..6f1f333243 100644 --- a/playbooks/update-system-config.yaml +++ b/playbooks/update-system-config.yaml @@ -18,3 +18,11 @@ command: ansible-galaxy install --roles-path /etc/ansible/roles --force -r roles.yaml args: chdir: /opt/system-config + + - name: Make sure k8s-on-openstack repo is up to date + git: + repo: https://github.com/infraly/k8s-on-openstack + dest: /opt/k8s-on-openstack + # HEAD as of 2019-02-08 + version: e27a313b1583c377e08385014b9a880da765924b + force: yes diff --git a/run_all.sh b/run_all.sh index 57e37f8a43..c8ecb9ec7c 100755 --- a/run_all.sh +++ b/run_all.sh @@ -77,16 +77,21 @@ start_timer timeout -k 2m 120m ansible-playbook ${ANSIBLE_PLAYBOOKS}/bridge.yaml send_timer bridge +# Run k8s-on-openstack +start_timer +timeout -k 2m 120m ${SYSTEM_CONFIG}/run_k8s_ansible.sh +send_timer k8s + +# Run the k8s nodes bootstrap playbook +start_timer +timeout -k 2m 120m ansible-playbook -f 50 ${ANSIBLE_PLAYBOOKS}/bootstrap-k8s-nodes.yaml +send_timer base + # Run the base playbook everywhere start_timer timeout -k 2m 120m ansible-playbook -f 50 ${ANSIBLE_PLAYBOOKS}/base.yaml send_timer base -# Run k8s-on-openstack -start_timer -timeout -k 2m 120m ansible-playbook -f 50 ${ANSIBLE_PLAYBOOKS}/run-k8s-on-openstack.yaml -send_timer k8s - # These playbooks run on the gitea k8s cluster start_timer timeout -k 2m 120m ansible-playbook -f 50 ${SYSTEM_CONFIG}/kubernetes/rook/rook-playbook.yaml diff --git a/run_k8s_ansible.sh b/run_k8s_ansible.sh index 0b8a994e51..db639ebe7f 100755 --- a/run_k8s_ansible.sh +++ b/run_k8s_ansible.sh @@ -39,5 +39,4 @@ export NODE_EXTRA_VOLUME_SIZE="80" export USE_OCTAVIA="True" export BLOCK_STORAGE_VERSION='v3' -cd /opt/k8s-on-openstack -ansible-playbook -v site.yaml +ansible-playbook -v /opt/k8s-on-openstack/site.yaml