Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / qa / qa_scripts / openstack / connectceph.sh
1 #/bin/bash -fv
2 #
3 # Connect openstack node just installed to a ceph cluster.
4 #
5 # Essentially implements:
6 #
7 # http://docs.ceph.com/docs/master/rbd/rbd-openstack/
8 #
9 # The directory named files contains templates for the /etc/glance/glance-api.conf,
10 # /etc/cinder/cinder.conf, /etc/nova/nova.conf Openstack files
11 #
12 source ./copy_func.sh
13 source ./fix_conf_file.sh
14 openstack_node=${1}
15 ceph_node=${2}
16
17 scp $ceph_node:/etc/ceph/ceph.conf ./ceph.conf
18 ssh $openstack_node sudo mkdir /etc/ceph
19 copy_file ceph.conf $openstack_node /etc/ceph 0644
20 rm -f ceph.conf
21 ssh $openstack_node sudo yum -y install python-rbd
22 ssh $openstack_node sudo yum -y install ceph-common
23 ssh $ceph_node "sudo ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images'"
24 ssh $ceph_node "sudo ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'"
25 ssh $ceph_node "sudo ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups'"
26 ssh $ceph_node sudo ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
27 ssh $ceph_node sudo ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups'
28 ssh $ceph_node sudo ceph auth get-or-create client.glance | ssh $openstack_node sudo tee /etc/ceph/ceph.client.glance.keyring
29 ssh $openstack_node sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring
30 ssh $ceph_node sudo ceph auth get-or-create client.cinder | ssh $openstack_node sudo tee /etc/ceph/ceph.client.cinder.keyring
31 ssh $openstack_node sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
32 ssh $ceph_node sudo ceph auth get-or-create client.cinder-backup | ssh $openstack_node sudo tee /etc/ceph/ceph.client.cinder-backup.keyring
33 ssh $openstack_node sudo chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring
34 ssh $ceph_node sudo ceph auth get-key client.cinder | ssh $openstack_node tee client.cinder.key
35 copy_file execs/libvirt-secret.sh $openstack_node .
36 secret_msg=`ssh $openstack_node sudo ./libvirt-secret.sh $openstack_node`
37 secret_virt=`echo $secret_msg | sed 's/.* set //'`
38 echo $secret_virt
39 fix_conf_file $openstack_node glance-api /etc/glance
40 fix_conf_file $openstack_node cinder /etc/cinder $secret_virt
41 fix_conf_file $openstack_node nova /etc/nova $secret_virt
42 copy_file execs/start_openstack.sh $openstack_node . 0755
43 ssh $openstack_node ./start_openstack.sh