Make Cassandra port configurable.
[sdc.git] / sdc-os-chef / sdc-cassandra / chef-repo / cookbooks / cassandra-actions / templates / default / change_cassandra_pass.sh.erb
1 #!/bin/bash
2
3 CASSANDRA_PASS=<%= @cassandra_pwd %>
4 CASSANDRA_IP=<%= @cassandra_ip %>
5 CASSANDRA_PORT=<%= @cassandra_port %>
6
7 pass_changed=99
8 retry_num=1
9 is_up=0
10 while [ $is_up -eq 0 -a $retry_num -le 100 ]; do
11    echo "exit" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP $CASSANDRA_PORT > /dev/null 2>&1
12    res1=$?
13    echo "exit" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP $CASSANDRA_PORT > /dev/null 2>&1
14    res2=$?
15
16    if [ $res1 -eq 0 -o $res2 -eq 0 ]; then
17       echo "`date` --- cqlsh is enabled to connect."
18       is_up=1
19    else
20       echo "`date` --- cqlsh is NOT enabled to connect yet. sleep 5"
21       sleep 5
22    fi
23    let "retry_num++"
24 done
25
26 if [ $res1 -eq 0 -a $res2 -eq 1 -a $is_up -eq 1 ]; then
27  echo "Modify cassandra password"
28  echo "ALTER USER cassandra WITH PASSWORD '$CASSANDRA_PASS';" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP $CASSANDRA_PORT
29 elif [ $res1 -eq 1 -a $res2 -eq 0 -a $is_up -eq 1 ]; then
30  echo "cassandra password already modified"
31 else exit 1
32 fi