hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/installation/scripts/menu.sh
Wangda Tan 46d6e00166 YARN-8870. [Submarine] Add submarine installation scripts. (Xun Liu via wangda)
Change-Id: I46e8d9fd32c7745c313030da62da41486a77b3ea
2018-10-16 13:51:02 -07:00

445 lines
12 KiB
Bash

#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## @description main menu
## @audience public
## @stability stable
main_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.prepare system environment [..]\e[0m"
echo -e " \e[32m2.install component [..]\e[0m"
echo -e " \e[32m3.uninstall component [..]\e[0m"
echo -e " \e[32m4.start component [..]\e[0m"
echo -e " \e[32m5.stop component [..]\e[0m"
echo -e " \e[32m6.start download server [..]\e[0m"
echo -e ""
echo -e " \e[32mq.quit\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m6\e[0m,\e[32mq\e[0m(quit)]:"
}
## @description check menu
## @audience public
## @stability stable
check_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu] > [prepare system environment]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.prepare operation system\e[0m"
echo -e " \e[32m2.prepare operation system kernel\e[0m"
echo -e " \e[32m3.prepare GCC version\e[0m"
echo -e " \e[32m4.check GPU\e[0m"
echo -e " \e[32m5.prepare user&group\e[0m"
echo -e " \e[32m6.prepare nvidia environment\e[0m"
echo -e ""
echo -e " \e[32mb.back main menu\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m5\e[0m,\e[32mb\e[0m(back)]:"
}
## @description install menu
## @audience public
## @stability stable
install_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu] > [install component]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.instll etcd\e[0m"
echo -e " \e[32m2.instll docker\e[0m"
echo -e " \e[32m3.instll calico network\e[0m"
echo -e " \e[32m4.instll nvidia driver\e[0m"
echo -e " \e[32m5.instll nvidia docker\e[0m"
echo -e " \e[32m6.instll yarn container-executor\e[0m"
echo -e " \e[32m7.instll submarine autorun script\e[0m"
echo -e ""
echo -e " \e[32mb.back main menu\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m7\e[0m,\e[32mb\e[0m(back)]:"
}
## @description unstall menu
## @audience public
## @stability stable
uninstall_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu] > [uninstll component]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.uninstll etcd\e[0m"
echo -e " \e[32m2.uninstll docker\e[0m"
echo -e " \e[32m3.uninstll calico network\e[0m"
echo -e " \e[32m4.uninstll nvidia driver\e[0m"
echo -e " \e[32m5.uninstll nvidia docker\e[0m"
echo -e " \e[32m6.uninstll yarn container-executor\e[0m"
echo -e " \e[32m7.uninstll submarine autorun script\e[0m"
echo -e ""
echo -e " \e[32mb.back main menu\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m7\e[0m,\e[32mb\e[0m(back)]:"
}
## @description start menu
## @audience public
## @stability stable
start_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu] > [stop component]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.start etcd\e[0m"
echo -e " \e[32m2.start docker\e[0m"
echo -e " \e[32m3.start calico network\e[0m"
echo -e ""
echo -e " \e[32mb.back main menu\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m3\e[0m,\e[32mb\e[0m(back)]:"
}
## @description stop menu
## @audience public
## @stability stable
stop_menu()
{
cat<<MENULIST
====================================================================================
SUBMARINE INSTALLER ${SUBMARINE_INSTALLER_VERSION}
HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${DOWNLOAD_SERVER_PORT}
====================================================================================
[Main menu] > [stop component]
------------------------------------------------------------------------------------
MENULIST
echo -e " \e[32m1.stop etcd\e[0m"
echo -e " \e[32m2.stop docker\e[0m"
echo -e " \e[32m3.stop calico network\e[0m"
echo -e ""
echo -e " \e[32mb.back main menu\e[0m"
cat<<MENULIST
====================================================================================
MENULIST
echo -ne "Please input your choice [\e[32m1\e[0m-\e[32m3\e[0m,\e[32mb\e[0m(back)]:"
}
## @description menu operation
## @audience public
## @stability stable
menu_index="0"
menu()
{
clear
# echo "menu_index-menu_choice=$menu_index-$menu_choice"
case $menu_index in
"0")
main_menu
;;
"1")
check_menu
;;
"2")
install_menu
;;
"3")
uninstall_menu
;;
"4")
start_menu
;;
"5")
stop_menu
;;
"6")
start_download_server
;;
"q")
exit 1
;;
*)
echo "error input!"
menu_index="0"
menu_choice="0"
main_menu
;;
esac
read menu_choice
}
## @description menu process
## @audience public
## @stability stable
menu_process()
{
process=0
unset myselect
# echo "debug=$menu_index-$menu_choice"
case "$menu_index-$menu_choice" in
"1-b"|"2-b"|"3-b"|"4-b"|"5-b"|"6-b")
menu_index="0"
menu_choice="0"
;;
# check system environment
"1-1")
myselect="y"
check_operationSystem
;;
"1-2")
myselect="y"
check_operationSystemKernel
;;
"1-3")
myselect="y"
check_gccVersion
;;
"1-4")
myselect="y"
check_GPU
;;
"1-5")
myselect="y"
check_userGroup
;;
"1-6")
myselect="y"
prepare_nvidia_environment
;;
# install component
"2-1")
echo -n "Do you want to install etcd?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_etcd
fi
;;
"2-2")
echo -n "Do you want to install docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_docker
fi
;;
"2-3")
echo -n "Do you want to install calico network?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_calico
fi
;;
"2-4")
echo -n "Do you want to install nvidia driver?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_nvidia
fi
;;
"2-5")
echo -n "Do you want to install nvidia docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_nvidia_docker
fi
;;
"2-6")
echo -n "Do you want to install yarn container-executor?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_yarn
fi
;;
"2-7")
echo -n "Do you want to install submarine auto start script?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
install_submarine
fi
;;
# uninstall component
"3-1")
echo -n "Do you want to uninstall etcd?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_etcd
fi
;;
"3-2")
echo -n "Do you want to uninstall docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_docker
fi
;;
"3-3")
echo -n "Do you want to uninstall calico network?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_calico
fi
;;
"3-4")
echo -n "Do you want to uninstall nvidia driver?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_nvidia
fi
;;
"3-5")
echo -n "Do you want to uninstall nvidia docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_nvidia_docker
fi
;;
"3-6")
echo -n "Do you want to uninstall yarn container-executor?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_yarn
fi
;;
"3-7")
echo -n "Do you want to uninstall submarine autostart script?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
uninstall_submarine
fi
;;
# startup component
"4-1")
echo -n "Do you want to startup etcd?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
start_etcd
fi
;;
"4-2")
echo -n "Do you want to startup docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
start_docker
fi
;;
"4-3")
echo -n "Do you want to startup calico network?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
start_calico
fi
;;
# stop component
"5-1")
echo -n "Do you want to stop etcd?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
stop_etcd
fi
;;
"5-2")
echo -n "Do you want to stop docker?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
stop_docker
fi
;;
"5-3")
echo -n "Do you want to stop calico network?[y|n]"
read myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
stop_calico
fi
;;
esac
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
process=1
fi
# echo "process=$process"
return $process
}