Skip to content

Commit e9f81b8

Browse files
committed
enable mysql and usage server after installation
1 parent d4eaa7c commit e9f81b8

1 file changed

Lines changed: 51 additions & 35 deletions

File tree

installer.sh

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ update_system_packages() {
335335
dnf update -y 2>&1 | while IFS= read -r line; do
336336
percent=$((percent + 1))
337337
[ $percent -gt 90 ] && percent=90
338-
update_progress_bar "75" echo "# Installing system updates...\n\n$line"
338+
update_progress_bar "75" "# Installing system updates...\n\n$line"
339339
done
340340
;;
341341
esac
@@ -344,7 +344,7 @@ update_system_packages() {
344344
sleep 2
345345
} | dialog --backtitle "$SCRIPT_NAME" \
346346
--title "System Update" \
347-
--gauge "Updating system packages..." 15 70 0
347+
--gauge "Updating system packages..." 15 80 0
348348

349349
# Verify update success
350350
if [[ $? -eq 0 ]]; then
@@ -442,7 +442,7 @@ install_pkg_with_progress_bar() {
442442
# Add left padding, truncate width, and wrap safely
443443
tail_output=$(echo "$tail_output" \
444444
| sed 's/^/ /' \
445-
| fold -s -w 75 \
445+
| fold -s -w 80 \
446446
| tail -n 5)
447447

448448
echo "$percent"
@@ -456,7 +456,7 @@ install_pkg_with_progress_bar() {
456456
[ $percent -gt 90 ] && percent=90
457457
sleep 1
458458
done
459-
} | dialog --backtitle "$SCRIPT_NAME" --title "$title Installation" --gauge "Installing $title..." 15 75 0
459+
} | dialog --backtitle "$SCRIPT_NAME" --title "$title Installation" --gauge "Installing $title..." 15 80 0
460460

461461
wait "$INSTALL_PID"
462462
local status=$?
@@ -512,6 +512,44 @@ show_dialog() {
512512
esac
513513
}
514514

515+
# Attempts to start service_name
516+
start_service_with_progress() {
517+
local service_name="$1"
518+
local display_name="${2:-$service_name}"
519+
local start_percent="${3:-60}"
520+
local end_percent="${4:-90}"
521+
522+
if ! systemctl is-active --quiet "$service_name"; then
523+
{
524+
update_progress_bar "$start_percent" "# Starting $display_name service..."
525+
systemctl start "$service_name" >/dev/null 2>&1 &
526+
local pid=$!
527+
528+
local i
529+
for ((i=start_percent; i<=end_percent; i++)); do
530+
update_progress_bar "$i" "# Waiting for $display_name to start..."
531+
sleep 0.2
532+
done
533+
534+
wait "$pid"
535+
update_progress_bar "$end_percent" "# $display_name service started successfully."
536+
sleep 1
537+
} | dialog --backtitle "$SCRIPT_NAME" \
538+
--title "Starting $display_name Service" \
539+
--gauge "Starting $display_name service..." 15 70 0
540+
541+
systemctl enable "$service_name" >/dev/null 2>&1
542+
if systemctl is-active --quiet "$service_name"; then
543+
log "$display_name service started successfully."
544+
else
545+
error_exit "Failed to start $display_name service."
546+
fi
547+
else
548+
log "$display_name service is already running."
549+
fi
550+
}
551+
552+
515553
# CloudStack Banner gets displayed at the end of Zone Deployment
516554
show_cloudstack_banner() {
517555
local banner="
@@ -620,6 +658,7 @@ EOF
620658

621659
configure_cloudstack_repo() {
622660
local title="CloudStack Repository Configuration"
661+
local tracker_key="repo_url"
623662
local repo_file=""
624663
local repo_entry=""
625664
case "$OS_TYPE" in
@@ -647,7 +686,7 @@ configure_cloudstack_repo() {
647686
show_dialog "info" \
648687
"$title" \
649688
"CloudStack repository is already configured:\n\n$repo_entry"
650-
set_tracker_field "repo_url" "$repo_entry"
689+
set_tracker_field "$tracker_key" "$repo_entry"
651690
return 0
652691
fi
653692

@@ -657,8 +696,8 @@ configure_cloudstack_repo() {
657696
--yesno "CloudStack repository is already configured:\n\n$repo_entry\n\nDo you want to reconfigure it?" 12 70; then
658697
log "User opted to reconfigure existing CloudStack repository."
659698
else
660-
show_dialog "info" $title "Skipping CloudStack repository configuration."
661-
set_tracker_field "repo_url" "$repo_entry"
699+
show_dialog "info" "$title" "Skipping CloudStack repository configuration."
700+
set_tracker_field "$tracker_key" "$repo_entry"
662701
return 0
663702
fi
664703
fi
@@ -728,7 +767,7 @@ configure_cloudstack_repo() {
728767
;;
729768
esac
730769
log "Configured CS repo: $repo_entry"
731-
set_tracker_field "repo_url" "$repo_entry"
770+
set_tracker_field "$tracker_key" "$repo_entry"
732771
}
733772

734773

@@ -784,7 +823,7 @@ install_base_dependencies() {
784823
# Add left padding, truncate width, and wrap safely
785824
tail_output=$(echo "$tail_output" \
786825
| sed 's/^/ /' \
787-
| fold -s -w 75 \
826+
| fold -s -w 80 \
788827
| tail -n 5)
789828
update_progress_bar "$PERCENT" "$title\n\n$tail_output"
790829
PERCENT=$((PERCENT + 1))
@@ -796,7 +835,7 @@ install_base_dependencies() {
796835
update_progress_bar "100" "Base dependencies installed successfully"
797836
} | dialog --backtitle "$SCRIPT_NAME" \
798837
--title "Installing Dependencies" \
799-
--gauge "Preparing system..." 15 75 0
838+
--gauge "Preparing system..." 15 80 0
800839
show_dialog "info" "Dependencies Installation" "All Base dependencies installed successfully"
801840
log "Base dependencies installed successfully"
802841

@@ -966,30 +1005,7 @@ install_mysql_server() {
9661005
return 0
9671006
fi
9681007
install_pkg_with_progress_bar "MySQL Server" "$package_name" "$tracker_key"
969-
# Ensure MySQL service is running
970-
if ! systemctl is-active --quiet "$MYSQL_SERVICE"; then
971-
{
972-
update_progress_bar 60 "# Starting MySQL service..."
973-
systemctl start "$MYSQL_SERVICE" >/dev/null 2>&1 &
974-
pid=$!
975-
for i in {60..85}; do
976-
update_progress_bar "$i" "# Waiting for MySQL to start..."
977-
sleep 0.2
978-
done
979-
wait $pid
980-
update_progress_bar 90 "# MySQL service started successfully."
981-
sleep 1
982-
} | dialog --backtitle "$SCRIPT_NAME" \
983-
--title "Installing MySQL" \
984-
--gauge "Installing MySQL..." 15 70 0
985-
986-
systemctl enable "$MYSQL_SERVICE" >/dev/null 2>&1
987-
if systemctl is-active --quiet "$MYSQL_SERVICE"; then
988-
log "MySQL service started successfully."
989-
else
990-
error_exit "Failed to start MySQL service."
991-
fi
992-
fi
1008+
start_service_with_progress "$MYSQL_SERVICE" "MySQL" 60 90
9931009
}
9941010

9951011
configure_mysql_for_cloudstack() {
@@ -1374,6 +1390,7 @@ install_usage_server() {
13741390
fi
13751391

13761392
install_pkg_with_progress_bar "CloudStack Usage Server" "$package_name" "$tracker_key"
1393+
start_service_with_progress "$package_name" "CloudStack Usage" 60 90
13771394
}
13781395

13791396
configure_usage_server() {
@@ -2279,7 +2296,6 @@ main() {
22792296
}
22802297

22812298
# Set trap for cleanup
2282-
trap 'cleanup $?' EXIT
22832299
trap 'cleanup 1' INT TERM
22842300

22852301
# Ensure log directory exists

0 commit comments

Comments
 (0)