summaryrefslogtreecommitdiffstats
path: root/src/ceph/qa/qa_scripts/openstack/fix_conf_file.sh
blob: bff2ef3d1c26aeea0d17446ab02e8c6cc5895bee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#/bin/bash -fv
source ./copy_func.sh
#
# Take a templated file, modify a local copy, and write it to the
# remote site.
#
# Usage: fix_conf_file <remote-site> <file-name> <remote-location> [<rbd-secret>]
#      <remote-site> -- site where we want this modified file stored.
#      <file-name> -- name of the remote file.
#      <remote-location> -- directory where the file will be stored
#      <rbd-secret> -- (optional) rbd_secret used by libvirt
#
function fix_conf_file() {
    if [[ $# < 3 ]]; then
        echo 'fix_conf_file: Too few parameters' 
        exit 1
    fi
    openstack_node_local=${1}
    cp files/${2}.template.conf ${2}.conf
    hostname=`ssh $openstack_node_local hostname`
    inet4addr=`ssh $openstack_node_local hostname -i`
    sed -i s/VARHOSTNAME/$hostname/g ${2}.conf
    sed -i s/VARINET4ADDR/$inet4addr/g ${2}.conf
    if [[ $# == 4 ]]; then
        sed -i s/RBDSECRET/${4}/g ${2}.conf
    fi
    copy_file ${2}.conf $openstack_node_local ${3} 0644 "root:root"
    rm ${2}.conf
}