123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- #!/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
- }
|