From ab73374e424a679cc42b9812e6bd39a49fcea07d Mon Sep 17 00:00:00 2001 From: ramamani yeleswarapu Date: Mon, 26 Mar 2018 14:23:49 -0700 Subject: Stor4nfv: Install ansible version 2.4 Ansible 2.5 release is causing errors in the installation of ceph-ansible (for ceph-mon). This patch fixes the ansible version installed on kube_master to 2.4.3 to address the ceph errors. Also, adds these post-install tasks: - run 'modprobe rbd' - create opensds default profile - create csi pods. Change-Id: Iee8d27da68896009d2e27ce4a6c7f805524d086d Signed-off-by: Ramamani Yeleswarapu --- .../roles/stor4nfv/files/install_ansible.sh | 2 +- plugins/stor4nfv/roles/stor4nfv/tasks/main.yml | 1 + plugins/stor4nfv/roles/stor4nfv/tasks/opensds.yml | 7 --- .../stor4nfv/roles/stor4nfv/tasks/post-install.yml | 64 ++++++++++++++++++++++ .../roles/stor4nfv/templates/post-install.yml.j2 | 20 +++++++ 5 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml create mode 100644 plugins/stor4nfv/roles/stor4nfv/templates/post-install.yml.j2 diff --git a/plugins/stor4nfv/roles/stor4nfv/files/install_ansible.sh b/plugins/stor4nfv/roles/stor4nfv/files/install_ansible.sh index b4a3a30a..d921d4e2 100644 --- a/plugins/stor4nfv/roles/stor4nfv/files/install_ansible.sh +++ b/plugins/stor4nfv/roles/stor4nfv/files/install_ansible.sh @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 # ############################################################################# -add-apt-repository ppa:ansible/ansible +add-apt-repository ppa:ansible/ansible-2.4 apt-get update apt-get install -y ansible diff --git a/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml b/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml index 353282f9..060c9cf1 100644 --- a/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml +++ b/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml @@ -8,6 +8,7 @@ # ############################################################################# --- - include: opensds.yml +- include: post-install.yml when: - ansible_distribution == 'Ubuntu' - stor4nfv is defined and stor4nfv == "Enable" diff --git a/plugins/stor4nfv/roles/stor4nfv/tasks/opensds.yml b/plugins/stor4nfv/roles/stor4nfv/tasks/opensds.yml index 7866e808..a095ceb0 100644 --- a/plugins/stor4nfv/roles/stor4nfv/tasks/opensds.yml +++ b/plugins/stor4nfv/roles/stor4nfv/tasks/opensds.yml @@ -75,10 +75,3 @@ shell: | cd $HOME/gopath/src/github.com/stor4nfv/stor4nfv/ci/ansible; ansible-playbook site.yml -i local.hosts | tee /var/log/stor4nfv.log - register: stor4nfv_result - -- name: export opensds endpoint - remote_user: root - shell: | - export OPENSDS_ENDPOINT=http://127.0.0.1:50040 - when: stor4nfv_result|succeeded diff --git a/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml b/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml new file mode 100644 index 00000000..55d26d69 --- /dev/null +++ b/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml @@ -0,0 +1,64 @@ +# ############################################################################# +# Copyright (c) 2018 Intel Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# ############################################################################# +--- + +- name: ensure ceph-ansible dir exists + stat: + path: /opt/ceph-ansible + ignore_errors: "true" + register: ceph_ansible_exists + +- name: copy post-install.yml to /opt/ceph-ansible + remote_user: root + template: + src: post-install.yml.j2 + dest: /opt/ceph-ansible/post-install.yml + when: + - ceph_ansible_exists.stat.exists is defined and ceph_ansible_exists.stat.exists + +- name: run post-install playbook + shell: ansible-playbook post-install.yml -i ceph.hosts + become: true + args: + chdir: /opt/ceph-ansible + when: + - ceph_ansible_exists.stat.exists is defined and ceph_ansible_exists.stat.exists + +- name: remove post-install.yml + file: + path: /opt/ceph-ansible/post-install.yml + state: absent + when: + - ceph_ansible_exists.stat.exists is defined and ceph_ansible_exists.stat.exists + +- name: ensure osdsctl exists + stat: + path: /opt/opensds-v0.1.5-linux-amd64/bin/osdsctl + ignore_errors: "true" + register: osdsctl_exists + +- name: ensure opensds csi directory exists + stat: + path: /opt/opensds-k8s-v0.1.0-linux-amd64 + ignore_errors: "true" + register: csi_dir_exists + +- name: create opensds default profile, csi pods + remote_user: root + shell: | + cp /opt/opensds-v0.1.5-linux-amd64/bin/osdsctl /usr/local/bin; + export OPENSDS_ENDPOINT=http://{{ public_vip.ip }}:50040; + export OPENSDS_AUTH_STRATEGY=noauth; + osdsctl profile create '{"name": "default", "description": "default policy"}' + cd /opt/opensds-k8s-v0.1.0-linux-amd64; + kubectl create -f csi/deploy/kubernetes; + ignore_errors: "true" + when: + - osdsctl_exists.stat.exists is defined and osdsctl_exists.stat.exists + - csi_dir_exists.stat.exists is defined and csi_dir_exists.stat.exists diff --git a/plugins/stor4nfv/roles/stor4nfv/templates/post-install.yml.j2 b/plugins/stor4nfv/roles/stor4nfv/templates/post-install.yml.j2 new file mode 100644 index 00000000..662abc34 --- /dev/null +++ b/plugins/stor4nfv/roles/stor4nfv/templates/post-install.yml.j2 @@ -0,0 +1,20 @@ +# ############################################################################# +# Copyright (c) 2018 Intel Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# ############################################################################# +--- + +- hosts: + - mons + - osds + - mgrs + + tasks: + - name: run modprobe rbd + remote_user: root + command: modprobe rbd + ignore_errors: "true" -- cgit 1.2.3-korg