aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/stor4nfv/roles/os-stor4nfv/files/os_configure_vars.sh3
-rw-r--r--plugins/stor4nfv/roles/os-stor4nfv/tasks/opensds.yml2
-rw-r--r--plugins/stor4nfv/roles/os-stor4nfv/tasks/post-install.yml88
-rw-r--r--plugins/stor4nfv/roles/os-stor4nfv/tasks/stor4nfv.yml2
-rw-r--r--plugins/stor4nfv/roles/stor4nfv/files/configure_vars.sh9
-rw-r--r--plugins/stor4nfv/roles/stor4nfv/tasks/main.yml2
-rw-r--r--plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml13
7 files changed, 100 insertions, 19 deletions
diff --git a/plugins/stor4nfv/roles/os-stor4nfv/files/os_configure_vars.sh b/plugins/stor4nfv/roles/os-stor4nfv/files/os_configure_vars.sh
index 7d497598..a081c0bd 100644
--- a/plugins/stor4nfv/roles/os-stor4nfv/files/os_configure_vars.sh
+++ b/plugins/stor4nfv/roles/os-stor4nfv/files/os_configure_vars.sh
@@ -23,3 +23,6 @@ sed -i 's/^opensds_auth_strategy.*/opensds_auth_strategy: noauth/g' group_vars/a
# opensds_endpoint
sed -i 's/^opensds_endpoint.*/opensds_endpoint: http:\/\/'"$1"':50040/g' group_vars/common.yml
+
+# etcd_host
+sed -i 's/^etcd_host.*/etcd_host: '"$2"'/g' group_vars/osdsdb.yml
diff --git a/plugins/stor4nfv/roles/os-stor4nfv/tasks/opensds.yml b/plugins/stor4nfv/roles/os-stor4nfv/tasks/opensds.yml
index 2d0f05cc..fd9756a4 100644
--- a/plugins/stor4nfv/roles/os-stor4nfv/tasks/opensds.yml
+++ b/plugins/stor4nfv/roles/os-stor4nfv/tasks/opensds.yml
@@ -63,7 +63,7 @@
remote_user: root
shell: |
cd /opt;
- ./os_configure_vars.sh {{ public_vip.ip }}
+ ./os_configure_vars.sh {{ public_vip.ip }} {{ internal_vip.ip }}
- name: run playbook
remote_user: root
diff --git a/plugins/stor4nfv/roles/os-stor4nfv/tasks/post-install.yml b/plugins/stor4nfv/roles/os-stor4nfv/tasks/post-install.yml
index c549566a..d14c0c68 100644
--- a/plugins/stor4nfv/roles/os-stor4nfv/tasks/post-install.yml
+++ b/plugins/stor4nfv/roles/os-stor4nfv/tasks/post-install.yml
@@ -11,17 +11,16 @@
- name: ensure opensds.conf exists
stat:
path: /etc/opensds/opensds.conf
- ignore_errors: "true"
register: opensds_exists
+ when:
+ - inventory_hostname in groups['ceph_adm']
- name: configure ceph.yaml, opensds.conf
remote_user: root
shell: |
cd /root/gopath/src/github.com/os-stor4nfv/stor4nfv/ci/ansible
cp group_vars/ceph/ceph.yaml /etc/opensds/driver/
-
sed -i 's/^ enabled_backends.*/ enabled_backends: ceph/g' /etc/opensds/opensds.conf
-
sudo cat >> /etc/opensds/opensds.conf << OPENSDS_GLOABL_CONFIG_DOC
[ceph]
@@ -31,36 +30,96 @@
config_path = /etc/opensds/driver/ceph.yaml
OPENSDS_GLOABL_CONFIG_DOC
when:
- - opensds_exists.stat.exists
+ - inventory_hostname in groups['ceph_adm']
+
+- name: modify osdsdock endpoint
+ remote_user: root
+ shell:
+ _raw_params: |
+ function _modify_osdsdock_endpoint {
+ local ip_addr=(lxc-info -n $(lxc-ls --line | grep ceph-mon) -iH)|grep "10.1"
+ if [ ! -z "${ip_addr}" ]; then
+ sed -i 's/^50050.*/api_endpoint = $ip_addr:50050/g' /etc/opensds/opensds.conf
+ fi
+ }
+ _modify_osdsdock_endpoint
+ args:
+ executable: /bin/bash
+ become: true
+ when:
+ - inventory_hostname in groups['ceph_adm']
- name: copy ceph.conf from ceph-mon container
remote_user: root
shell: |
- mkdir -p /etc/ceph
+ mkdir -p /etc/ceph;
cp /proc/$(lxc-info -n $(lxc-ls --line | grep ceph-mon) -p -H)/root/etc/ceph/ceph.conf \
/etc/ceph/ceph.conf
when:
- - opensds_exists.stat.exists
+ - inventory_hostname in groups['ceph_adm']
+
+- name: copy osdsdock executable to ceph-mon container
+ remote_user: root
+ shell: |
+ cd /opt;
+ tar -C opensds-hotpot-linux-amd64 -c . | lxc-attach -n \
+ $(lxc-ls --line | grep ceph-mon) -- /bin/sh -c "tar -C /opt/ -vx; chmod 1777 /opt;"
+ when:
+ - inventory_hostname in groups['ceph_adm']
+
+- name: copy opensds conf files to ceph-mon container
+ remote_user: root
+ shell: |
+ cd /etc;
+ tar -C opensds -c . | lxc-attach -n \
+ $(lxc-ls --line | grep ceph-mon) -- /bin/sh -c "tar -C /tmp/ -vx; chmod 1777 /tmp;"
+ when:
+ - inventory_hostname in groups['ceph_adm']
+
+- name: ensure opensds driver exists
+ stat:
+ path: /tmp/driver
+ register: opensds_driver_exists
+ when:
+ - inventory_hostname in groups['ceph-mon']
+
+- name: copy opensds conf
+ remote_user: root
+ shell: |
+ mkdir -p /etc/opensds;
+ cp /tmp/opensds.conf /etc/opensds;
+ cp /tmp/policy.json /etc/opensds;
+ cp -r /tmp/driver /etc/opensds;
+ when:
+ - inventory_hostname in groups['ceph-mon']
+
+- name: create ceph pool
+ remote_user: root
+ shell: |
+ ceph osd pool create rbd 24 && ceph osd pool set rbd size 1
+ when:
+ - inventory_hostname in groups['ceph-mon']
- name: ensure osdsdock exists
stat:
- path: /opt/opensds-hotpot-linux-amd64/bin/osdsdock
- ignore_errors: "true"
- register: osdsdock_exists
+ path: /opt/bin/osdsdock
+ register: opensds_exists
+ when:
+ - inventory_hostname in groups['ceph-mon']
- name: start osdsdock daemon
remote_user: root
shell: |
- /opt/opensds-hotpot-linux-amd64/bin/osdsdock -daemon
- ignore_errors: "true"
+ cd /opt && ./bin/osdsdock -daemon
when:
- - osdsdock_exists.stat.exists
+ - inventory_hostname in groups['ceph-mon']
- name: ensure osdsctl exists
stat:
path: /opt/opensds-hotpot-linux-amd64/bin/osdsctl
- ignore_errors: "true"
register: osdsctl_exists
+ when:
+ - inventory_hostname in groups['ceph_adm']
- name: run cinder-compatible-api, create opensds default profile
remote_user: root
@@ -73,6 +132,5 @@
cp /opt/opensds-hotpot-linux-amd64/bin/osdsctl /usr/local/bin;
export OPENSDS_AUTH_STRATEGY=noauth;
osdsctl profile create '{"name": "default", "description": "default policy"}'
- ignore_errors: "true"
when:
- - osdsctl_exists.stat.exists
+ - inventory_hostname in groups['ceph_adm']
diff --git a/plugins/stor4nfv/roles/os-stor4nfv/tasks/stor4nfv.yml b/plugins/stor4nfv/roles/os-stor4nfv/tasks/stor4nfv.yml
index 57bae793..05ada67a 100644
--- a/plugins/stor4nfv/roles/os-stor4nfv/tasks/stor4nfv.yml
+++ b/plugins/stor4nfv/roles/os-stor4nfv/tasks/stor4nfv.yml
@@ -8,5 +8,7 @@
# #############################################################################
---
- include: opensds.yml
+ when:
+ - inventory_hostname in groups['ceph_adm']
- include: post-install.yml
diff --git a/plugins/stor4nfv/roles/stor4nfv/files/configure_vars.sh b/plugins/stor4nfv/roles/stor4nfv/files/configure_vars.sh
index 112d9c84..89432135 100644
--- a/plugins/stor4nfv/roles/stor4nfv/files/configure_vars.sh
+++ b/plugins/stor4nfv/roles/stor4nfv/files/configure_vars.sh
@@ -49,3 +49,12 @@ sed -i 's/^opensds_auth_strategy.*/opensds_auth_strategy: noauth/g' group_vars/a
sed -i '/check_ansible_version/a \ ignore_errors: yes\' roles/common/tasks/main.yml
sed -i '/- dashboard-installer/s/^/#/g' site.yml
+
+# comment csi create pods in Stor4nfv
+sed -i '/kubectl create/s/^/#/g' roles/nbp-installer/scenarios/csi.yml
+
+sed -i 's/^opensds_endpoint.*/opensds_endpoint: http:\/\/'"$1"':50040/g' group_vars/common.yml
+
+sed -i '/and service_ceph_osd_status.rc == 0/s/^/#/g' roles/osdsdock/scenarios/ceph.yml
+sed -i '/and service_ceph_osd_status.rc == 0/a \ when: service_ceph_mon_status.rc == 0\' \
+ roles/osdsdock/scenarios/ceph.yml
diff --git a/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml b/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml
index 7bc8ec06..dbaa8d6b 100644
--- a/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml
+++ b/plugins/stor4nfv/roles/stor4nfv/tasks/main.yml
@@ -7,7 +7,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
# #############################################################################
---
-- include: stor4nfv
+- include: stor4nfv.yml
when:
- ansible_distribution == 'Ubuntu'
- stor4nfv is defined and stor4nfv == "Enable"
diff --git a/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml b/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml
index 017f377e..501d3baa 100644
--- a/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml
+++ b/plugins/stor4nfv/roles/stor4nfv/tasks/post-install.yml
@@ -48,13 +48,22 @@
ignore_errors: "true"
register: osdsctl_exists
-- name: create opensds default profile
+- name: ensure opensds csi directory exists
+ stat:
+ path: /opt/opensds-sushi-linux-{{ imgarch }}
+ ignore_errors: "true"
+ register: csi_dir_exists
+
+- name: create opensds default profile, create csi pods
remote_user: root
shell: |
cp /opt/opensds-hotpot-linux-{{ imgarch }}/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"}'
+ osdsctl profile create '{"name": "default", "description": "default policy"}';
+ cd /opt/opensds-sushi-linux-{{ imgarch }};
+ 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