1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

resolved PR comments for cs_package_manager.sh & mcs_backup_manager.sh

This commit is contained in:
Allen Herrera
2024-03-26 13:54:32 -04:00
committed by Alan Mologorsky
parent 66996bec22
commit 2f17c819a2
2 changed files with 53 additions and 29 deletions

View File

@ -2837,11 +2837,11 @@ validation_prechecks_for_dbrm_restore() {
# Confirm bucket connection
if [ "$storage" == "S3" ]; then
if ! testS3Connection 1>/dev/null 2>/dev/null; then
if testS3Connection 1>/dev/null 2>/dev/null; then
echo " - S3 Connection works"
else
printf "\n[!] Failed testS3Connection\n\n"
exit 1;
else
echo " - S3 Connection works"
fi
fi;
@ -2849,11 +2849,12 @@ validation_prechecks_for_dbrm_restore() {
if [ ! -f "cs_package_manager.sh" ]; then
wget https://raw.githubusercontent.com/mariadb-corporation/mariadb-columnstore-engine/develop/extra/cs_package_manager.sh; chmod +x cs_package_manager.sh;
fi;
if ! source cs_package_manager.sh source ;then
if source cs_package_manager.sh source ;then
echo " - Sourced cs_package_manager.sh"
else
printf "\n[!!] Failed to source cs_package_manager.sh\n\n"
exit 1;
else
echo " - Sourced cs_package_manager.sh"
fi
# Confirm the function exists and the source of cs_package_manager.sh worked
@ -2930,17 +2931,42 @@ process_dbrm_backup() {
if ! $quiet; then printf "[+] Complete\n\n"; fi;
}
# Small augmentation of https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/cmapi/check_ready.sh
cmapi_check_ready() {
SEC_TO_WAIT=15
cmapi_success=false
for i in $(seq 1 $SEC_TO_WAIT); do
printf "."
if ! $(curl -k -s --output /dev/null --fail https://127.0.0.1:8640/cmapi/ready); then
sleep 1
else
cmapi_success=true
break
fi
done
if $cmapi_success; then
return 0;
else
printf "\nCMAPI not ready after waiting $SEC_TO_WAIT seconds. Check log file for further details.\n\n"
exit 1;
fi
}
confirm_cmapi_online_and_configured() {
cmapi_current_status=$(mcs cmapi is-ready 2> /dev/null);
if [ $? -ne 0 ]; then
# if cmapi is not online - check systemd is running and start cmapi
if [ "$(ps -p 1 -o comm=)" = "systemd" ]; then
eval $cmapi_start_command
sleep 2;
if systemctl start mariadb-columnstore-cmapi; then
cmapi_check_ready
else
echo "systemd is not running - cant start cmapi"
echo ""
echo "[!!] Failed to start CMAPI"
exit 1;
fi
else
printf "systemd is not running - cant start cmapi\n\n"
exit 1;
fi
else
@ -2959,11 +2985,11 @@ confirm_cmapi_online_and_configured() {
fi
fi
confirm_cmapi_configured
confirm_nodes_configured
}
# currently supports singlenode only
confirm_cmapi_configured() {
confirm_nodes_configured() {
# Check for edge case of cmapi not configured
if [ "$(mcs cluster status | jq -r '.num_nodes')" == "0" ]; then
printf "[!!] Noticed cmapi installed but no nodes configured...\n"
@ -2975,7 +3001,6 @@ confirm_cmapi_configured() {
is_cmapi_installed() {
cmapi_installed_command=""
cmapi_start_command="systemctl start mariadb-columnstore-cmapi";
case $package_manager in
yum )
cmapi_installed_command="yum list installed MariaDB-columnstore-cmapi &> /dev/null;";
@ -2999,21 +3024,17 @@ is_cmapi_installed() {
start_mariadb_cmapi_columnstore() {
printf " - Starting MariaDB Server ... "
if ! systemctl start mariadb; then
if systemctl start mariadb; then
printf "Done\n"
else
echo "[!!] Failed to start mariadb"
exit 1;
else
printf "Done\n"
fi
if is_cmapi_installed ; then
confirm_cmapi_online_and_configured
printf " - Starting CMAPI ... "
if ! systemctl start mariadb-columnstore-cmapi; then
echo "[!!] Failed to start CMAPI"
exit 1;
else
if confirm_cmapi_online_and_configured ; then
printf "Done\n"
fi
fi
@ -3040,7 +3061,6 @@ shutdown_columnstore_mariadb_cmapi() {
fi
if is_cmapi_installed ; then
confirm_cmapi_online_and_configured
printf " - Stopping CMAPI ... "
if ! systemctl stop mariadb-columnstore-cmapi; then
echo "[!!] Failed to stop CMAPI"

View File

@ -255,8 +255,11 @@ check_package_managers() {
fi;
}
check_mac_dependancies() {
# Confirms mac have critical binaries to run this script
# As of 3/2024 mac only supports cs_package_manager.sh check
check_mac_dependencies() {
# Install ggrep if not exists
if ! which ggrep >/dev/null 2>&1; then
echo "Attempting Auto install of ggrep"
@ -267,6 +270,7 @@ check_mac_dependancies() {
brew install grep
fi
# Exit if ggrep still doesnt exist
if ! which ggrep >/dev/null 2>&1; then
echo "Failed to install ggrep"
echo "which ggrep"
@ -278,9 +282,9 @@ check_mac_dependancies() {
check_operating_system() {
if [[ -e "/System/Library/CoreServices/SystemVersion.plist" ]]; then
if [[ $OSTYPE == 'darwin'* ]]; then
echo "Running on macOS"
check_mac_dependancies
check_mac_dependencies
# on action=check - these values are used as triggers to prompt the user to select what OS/version they want to check against
distro_info="mac"
@ -953,6 +957,8 @@ do_install() {
printf "\nDone\n\n"
}
# A quick way for mac users to select an OS when running "cs_package_manager.sh check"
# since theres no /etc/os-release to auto detect what OS & version to search the mariadb repos on mac
prompt_user_for_os() {
# Prompt the user to select an operating system
@ -1011,8 +1017,6 @@ prompt_user_for_os() {
}
do_check() {
check_operating_system