# ############################################################################# # 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 opensds.conf exists stat: path: /etc/opensds/opensds.conf 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] name = ceph description = Ceph Test driver_name = ceph config_path = /etc/opensds/driver/ceph.yaml OPENSDS_GLOABL_CONFIG_DOC when: - 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/api_endpoint = localhost: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; cp /proc/$(lxc-info -n $(lxc-ls --line | grep ceph-mon) -p -H)/root/etc/ceph/ceph.conf \ /etc/ceph/ceph.conf when: - 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'] - groups['ceph_adm'][0] in inventory_hostname - 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'] - groups['ceph_adm'][0] in inventory_hostname - 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'] - groups['ceph_adm'][0] in inventory_hostname - name: ensure osdsdock exists stat: path: /opt/bin/osdsdock register: opensds_exists when: - inventory_hostname in groups['ceph-mon'] - groups['ceph_adm'][0] in inventory_hostname - name: start osdsdock daemon remote_user: root shell: | cd /opt && ./bin/osdsdock -daemon when: - inventory_hostname in groups['ceph-mon'] - groups['ceph_adm'][0] in inventory_hostname - name: ensure osdsctl exists stat: path: /opt/opensds-hotpot-linux-amd64/bin/osdsctl register: osdsctl_exists when: - inventory_hostname in groups['ceph_adm'] - name: run cinder-compatible-api, create opensds default profile remote_user: root shell: | cd $HOME/gopath/src/github.com/os-stor4nfv/stor4nfv/ci/ansible; export OPENSDS_ENDPOINT=http://{{ public_vip.ip }}:50040; export CINDER_ENDPOINT=http://{{ internal_vip.ip }}:8776/v3; chmod +x ../bin/cindercompatibleapi; ( ( nohup ../bin/cindercompatibleapi > /var/log/cindercompatibleapi.log 2>&1 ) & ); cp /opt/opensds-hotpot-linux-amd64/bin/osdsctl /usr/local/bin; export OPENSDS_AUTH_STRATEGY=noauth; osdsctl profile create '{"name": "default", "description": "default policy"}' when: - inventory_hostname in groups['ceph_adm'] ignore_errors: "true"