Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 26 additions & 8 deletions toolset/setup/linux/database.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ export TFB_DISTRIB_RELEASE=$DISTRIB_RELEASE
export TFB_DISTRIB_CODENAME=$DISTRIB_CODENAME
export TFB_DISTRIB_DESCRIPTION=$DISTRIB_DESCRIPTION

##############################
# check environment
##############################

# verify that $TFB_DBHOST is set
echo "TFB_DBHOST: $TFB_DBHOST"
[ -z "$TFB_DBHOST" ] && echo "ERROR: TFB_DBHOST is not set!"

##############################
# Prerequisites
##############################
Expand Down Expand Up @@ -170,24 +178,34 @@ sudo ln -s /opt/apache-cassandra-$CASS_V /opt/cassandra

rm -rf /ssd/cassandra /ssd/log/cassandra
mkdir -p /ssd/cassandra /ssd/log/cassandra
sudo chown -R cassandra:cassandra /ssd/cassandra
sudo chown -R cassandra:cassandra /ssd/cassandra /ssd/log/cassandra

cp cassandra/cassandra.yaml cassandra/cassandra.yaml.mod
cat <<EOF > cassandra/cass_conf_replace.sed
s/- seeds: "\([^"]*\)"/- seeds: "$TFB_DBHOST"/
s/listen_address: \(.*\)/listen_address: $TFB_DBHOST/
s/rpc_address: \(.*\)/rpc_address: $TFB_DBHOST/
EOF
sed -i -f cassandra/cass_conf_replace.sed cassandra/cassandra.yaml.mod

sudo cp -f cassandra/cassandra.init /etc/init.d/cassandra
sudo cp -f cassandra/cassandra.init.env /etc/default/cassandra
sudo cp -f cassandra/cassandra.yaml /opt/apache-cassandra-$CASS_V/conf
sudo cp -f cassandra/cassandra.yaml.mod /opt/apache-cassandra-$CASS_V/conf/cassandra.yaml
sudo cp -f cassandra/log4j-server.properties /opt/apache-cassandra-$CASS_V/conf

sudo update-rc.d cassandra defaults
sudo service cassandra start
sudo service cassandra restart

for i in {1..45}; do
nc -z localhost 9160 && break || sleep 1;
nc -z $TFB_DBHOST 9160 && break || sleep 1;
echo "Waiting for Cassandra ($i/45}"
done
nc -z localhost 9160
nc -z $TFB_DBHOST 9160
if [ $? -eq 0 ]; then
cat cassandra/cleanup-keyspace.cql | /opt/apache-cassandra-$CASS_V/bin/cqlsh 127.0.0.1
cat cassandra/cleanup-keyspace.cql | /opt/apache-cassandra-$CASS_V/bin/cqlsh $TFB_DBHOST
python cassandra/db-data-gen.py > cassandra/tfb-data.cql
/opt/apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/create-keyspace.cql 127.0.0.1
/opt/apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/tfb-data.cql 127.0.0.1
/opt/apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/create-keyspace.cql $TFB_DBHOST
/opt/apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/tfb-data.cql $TFB_DBHOST
else
>&2 echo "Cassandra did not start, skipping"
fi
Expand Down
10 changes: 9 additions & 1 deletion toolset/setup/linux/installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ def install_software(self):
linux_install_root = self.fwroot + "/toolset/setup/linux"
imode = self.benchmarker.install

script_vars = {
'TFB_DBHOST': self.benchmarker.database_host
}
l=[]
for k,v in script_vars.iteritems():
l.append("export %s=%s" % (k,v))
script_vars_str = "\n".join(l) + "\n\n"

if imode == 'all' or imode == 'server':
self.__install_server_software()

Expand All @@ -30,7 +38,7 @@ def install_software(self):
p = subprocess.Popen(self.benchmarker.database_ssh_string.split(" ") +
["bash"], stdin=subprocess.PIPE)
remote_script = myfile.read()
p.communicate(remote_script)
p.communicate(script_vars_str + remote_script)
returncode = p.returncode
if returncode != 0:
self.__install_error("status code %s running subprocess '%s'." % (returncode, self.benchmarker.database_ssh_string))
Expand Down