diff options
Diffstat (limited to 'helper_scrips')
-rw-r--r-- | helper_scrips/INFO | 10 | ||||
-rwxr-xr-x | helper_scrips/glusterfs_uninstall.sh | 46 | ||||
-rwxr-xr-x | helper_scrips/install_glusterfs_rpm.sh | 75 | ||||
-rwxr-xr-x | helper_scrips/install_parallel_glusterfs.sh | 64 | ||||
-rwxr-xr-x | helper_scrips/multi_uninstall.sh | 66 | ||||
-rwxr-xr-x | helper_scrips/rpm_download_install.sh | 161 |
6 files changed, 421 insertions, 1 deletions
diff --git a/helper_scrips/INFO b/helper_scrips/INFO index 1f09a1b..d030697 100644 --- a/helper_scrips/INFO +++ b/helper_scrips/INFO @@ -6,10 +6,18 @@ helper_scrips/rpm_qa_download_install.sh -----> downloads the rpms for the speci ============================================================================================================================================= -herper_scripts/clean_glusterd.sh +helper_scripts/clean_glusterd.sh helper_scripts/clean_logs.sh helper_scripts/start_glusterd.sh helper_scripts/probe.sh The above scripts are usable with the passwordless ssh connection setup between the glusterfs servers, which helps in cleaning the logs, probing, cleaning glusterd, starting glusterd etc. +============================================================================================================================================= +helper_scripts/install_parallel_glusterfs.sh --------> executes the download_and_install.sh scripts prallely on multiple machines, such that glusterfs gets installed on multiple machines simultaneously. + +============================================================================================================================================= +helper_scrips/glusterfs_uninstall.sh ------> uninstalls the specified glusterfs version if it finds the source directory. +herper_scripts/multi_uninstall.sh -------> uninstalls the specified glusterfs from multiple machines, by executing glusterfs_uninstall.sh script. + +helper_scrips/install_glusterfs_rpm.sh -----> installs the specified glusterfs rpms on the machines whose list is provided in /root/machines,parallely
\ No newline at end of file diff --git a/helper_scrips/glusterfs_uninstall.sh b/helper_scrips/glusterfs_uninstall.sh new file mode 100755 index 0000000..31a000d --- /dev/null +++ b/helper_scrips/glusterfs_uninstall.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +#set -x; + +function _init () +{ + # echo $0; + # echo $#; + # echo $1; + set -u; + if [ $# -lt 1 ]; then + echo "usage: download_and_install <glusterfs-version>"; + exit 1; + fi + + version=$1; + echo $version; + echo $version | grep "glusterfs" 2>/dev/null 1>/dev/null; + if [ $? -ne 0 ]; then + echo "given argument is not glusterfs"; + exit 1; + fi +} + +function un_install () +{ + cd /root/$version; + + cd build; + make uninstall && make clean && make distclean; + + cd /root; +} + +main () +{ + + if [ ! -d $version ]; then + echo "the glusterfs version ($version) directory is not there." + return 1; + fi + + un_install; +} + +_init "$@" && main "$@" diff --git a/helper_scrips/install_glusterfs_rpm.sh b/helper_scrips/install_glusterfs_rpm.sh new file mode 100755 index 0000000..4e82b58 --- /dev/null +++ b/helper_scrips/install_glusterfs_rpm.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +function _init () +{ + set -u; + VERSION=$1; + if [ $# -lt 2 ]; then + upgrade="no"; + else + if [ $2 == "yes" ]; then + upgrade="yes"; + else + upgrade="no"; + fi + fi +} + +function install_glusterfs () +{ + local remote_server=; + + if [ $# -eq 1 ]; then + remote_server=$1; + fi + + if [ $remote_server ]; then + ssh $remote_server cp -f /root/scripts/rpm_download_install.sh /root/; + ssh $remote_server /root/rpm_download_install.sh $VERSION $upgrade; + return 0; + fi + + j=0; + for i in $(cat /root/machines) + do + j=$(($j+1)); + (install_glusterfs $i)& + done + +} + +function install_my_glusterfs () +{ + old_PWD=$PWD; + + cd /root; + cp /root/scripts/rpm_download_install.sh /root/; + /root/rpm_download_install.sh $VERSION $upgrade; + + cd $old_PWD; + return 0; +} + +function main () +{ + stat --printf=%i /root/machines 2>/dev/null 1>/dev/null; + if [ $? -ne 0 ]; then + echo "servers file is not present /root. Cannot execute further."; + + exit 1; + fi + + install_glusterfs; + for i in $(1 $j) + do + wait %$j; + done + + install_my_glusterfs; + + return 0; +} + +_init "$@" && main "$@" + + diff --git a/helper_scrips/install_parallel_glusterfs.sh b/helper_scrips/install_parallel_glusterfs.sh new file mode 100755 index 0000000..15455fb --- /dev/null +++ b/helper_scrips/install_parallel_glusterfs.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +function _init () +{ + set -u; + VERSION=$1; +} + +function install_glusterfs () +{ + local remote_server=; + + if [ $# -eq 1 ]; then + remote_server=$1; + fi + + if [ $remote_server ]; then + ssh $remote_server cp -f /root/scripts/download_and_install.sh /root/; + ssh $remote_server /root/download_and_install.sh $VERSION; + return 0; + fi + + j=0; + for i in $(cat /root/machines) + do + j=$(($j+1)); + (install_glusterfs $i)& + done + +} + +function install_my_glusterfs () +{ + old_PWD=$PWD; + + cd /root; + cp /root/scripts/download_and_install.sh /root/; + /root/download_and_install.sh $VERSION; + + cd $old_PWD; + return 0; +} + +function main () +{ + stat --printf=%i /root/machines 2>/dev/null 1>/dev/null; + if [ $? -ne 0 ]; then + echo "servers file is not present /root. Cannot execute further."; + + exit 1; + fi + + install_glusterfs; + for i in $(1 $j) + do + wait %$j; + done + + install_my_glusterfs; + + return 0; +} + +_init "$@" && main "$@" diff --git a/helper_scrips/multi_uninstall.sh b/helper_scrips/multi_uninstall.sh new file mode 100755 index 0000000..dca2350 --- /dev/null +++ b/helper_scrips/multi_uninstall.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +#!/bin/bash + +function _init () +{ + set -u; + VERSION=$1; +} + +function uninstall_glusterfs () +{ + local remote_server=; + + if [ $# -eq 1 ]; then + remote_server=$1; + fi + + if [ $remote_server ]; then + ssh $remote_server cp -f /root/scripts/glusterfs_uninstall.sh /root/; + ssh $remote_server /root/glusterfs_uninstall.sh $VERSION; + return 0; + fi + + j=0; + for i in $(cat /root/machines) + do + j=$(($j+1)); + (uninstall_glusterfs $i)& + done + +} + +function uninstall_my_glusterfs () +{ + old_PWD=$PWD; + + cd /root; + cp -f /root/scripts/glusterfs_uninstall.sh /root/; + /root/glusterfs_uninstall.sh $VERSION; + + cd $old_PWD; + return 0; +} + +function main () +{ + stat --printf=%i /root/machines 2>/dev/null 1>/dev/null; + if [ $? -ne 0 ]; then + echo "servers file is not present /root. Cannot execute further."; + + exit 1; + fi + + uninstall_glusterfs; + for i in $(1 $j) + do + wait %$j; + done + + uninstall_my_glusterfs; + + return 0; +} + +_init "$@" && main "$@" diff --git a/helper_scrips/rpm_download_install.sh b/helper_scrips/rpm_download_install.sh new file mode 100755 index 0000000..f1a071a --- /dev/null +++ b/helper_scrips/rpm_download_install.sh @@ -0,0 +1,161 @@ +#!/bin/bash + +#set -x; + +function _init () +{ + # echo $0; + # echo $#; + # echo $1; + set -u; + if [ $# -lt 1 ]; then + echo "usage: download_and_install <glusterfs-version> [upgrade decision]"; + exit 1; + fi + + version=$1; + echo $version; + echo $version | grep "glusterfs" 2>/dev/null 1>/dev/null; + if [ $? -ne 0 ]; then + echo "given argument is not glusterfs"; + exit 1; + fi + + version_number=$(echo $version | cut -f 2 -d "-"); + check_if_qa_release $version; + op_ret=$?; + + if [ $op_ret -eq 0 ]; then + download_address="http://bits.gluster.com/pub/gluster/glusterfs/"; + else + echo $version | grep "3.2" 2>/dev/null 1>/dev/null; + if [ $? -eq 0 ]; then + version_number=$(echo $version | cut -f 2 -d "-"); + download_address="http://download.gluster.com/pub/gluster/glusterfs/3.2/$version_number/RHEL/"; + else + grep "3.1" $version 2>/dev/null 1>/dev/null; + echo "haha yes" + if [ $? -eq 0 ]; then + version_number=$(echo $version | cut -f 2 -d "-"); + download_address="http://download.gluster.com/pub/gluster/glusterfs/3.1/$version_number/RHEL/"; + else + grep "3.0" $version 2>/dev/null 1>/dev/null; + if [ $? -eq 0 ]; then + version_number=$(cut -f 2 -d "-" $version); + download_address="http://download.gluster.com/pub/gluster/glusterfs/3.0/$version_number/RHEL/"; + fi + fi + fi + fi + + echo "Download address: $download_address" && sleep 2; +# ls -l "$version".tar.gz 2>/dev/null 1>/dev/null +# if [ $? -ne 0 ]; then +} + +function check_if_qa_release () +{ + glusterfs_version=$1; + + echo $glusterfs_version | grep "qa" 2>/dev/null 1>/dev/null; + ret=$?; + + return $ret; +} + +function download_rpms () +{ + address=$1; + local ret; + + if [ ! -d $PWD/rpms ] || [ ! -d $PWD/rpms/$version_number ]; then + mkdir $PWD/rpms/$version_number -p; + else + echo "the directory for the mentioned versrion $version_number is present"; + return; + fi + + cd $PWD/rpms/$version_number; + + echo $version_number | grep "3.2"; + is_32=$?; + if [ $is_32 -ne 0 ]; then + echo $version_number | grep "3.3"; + is_32=$?; + fi + + check_if_qa_release $version; + ret=$? + + if [ $ret -eq 0 ]; then + wget $address/$version_number/x86_64/glusterfs-core-$version_number-1.x86_64.rpm; + wget $address/$version_number/x86_64/glusterfs-debuginfo-$version_number-1.x86_64.rpm; + wget $address/$version_number/x86_64/glusterfs-fuse-$version_number-1.x86_64.rpm; + if [ $is_32 -eq 0 ]; then + wget $address/$version_number/x86_64/glusterfs-geo-replication-$version_number-1.x86_64.rpm; + echo "3.2 version"; + fi + else + wget $address/glusterfs-core-$version_number-1.el6.x86_64.rpm; + wget $address/glusterfs-debuginfo-$version_number-1.el6.x86_64.rpm; + wget $address/glusterfs-fuse-$version_number-1.el6.x86_64.rpm; + if [ $is_32 -eq 0 ]; then + wget $address/glusterfs-geo-replication-$version_number-1.el6.x86_64.rpm; + echo "3.2 version"; + fi + fi +} + + +function install_or_upgrade () +{ + local old_PWD; + + old_PWD=$PWD; + + cd $PWD/rpms/$version_number; + if [ $upgrade != "yes" ]; then + for i in $(ls) + do + rpm -ivh $i; + done + else + for i in $(ls) + do + rpm -Uvh $i; + done + fi + + ret=$?; + cd $old_PWD; + + ldconfig; + return $ret; +} + +main () +{ + echo $download_address; + download_rpms $download_address; + + upgrade="no"; + if [ $# -eq 2 ]; then + upgrade=$2; + fi + + if [ $upgrade != "yes" ] && [ $upgrade != "no" ]; then + echo "Invalid upgrade decision $upgrade"; + rm -rf /root/rpms/$version_number; + exit 1; + fi + + install_or_upgrade $upgrade; + ret=$?; + if [ $ret -ne 0 ]; then + rm -rf /root/rpms/$version_number; + fi +} + +_init "$@" && main "$@" + +
\ No newline at end of file |