From 00fc256c37fbe53cf1346f074ee6bc0efa7edfea Mon Sep 17 00:00:00 2001 From: William Wernert Date: Tue, 3 Nov 2020 14:51:35 -0500 Subject: [PATCH] [fix][wip] Add reinstall_init function Create a function that, if the setup log exists, puts the system into a state where the installer can run again without issue. This is WIP, there are most likely still issues. --- setup/so-functions | 19 ++++++++++++++++++- setup/so-setup | 4 ++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/setup/so-functions b/setup/so-functions index 36886b49e..9f903dd47 100755 --- a/setup/so-functions +++ b/setup/so-functions @@ -1411,6 +1411,24 @@ reserve_group_ids() { groupadd -g 946 cyberchef } +reinstall_init() { + + # Move last setup log to backup + mv $setup_log $setup_log.bak + + # Stop salt so it won't highstate and start containers back up. + if [[ $install_type =~ ^(MANAGER|EVAL|HELIXSENSOR|MANAGERSEARCH|STANDALONE|IMPORT)$ ]]; then + systemctl stop salt-master + fi + systemctl stop salt-minion + + # Remove startup highstate from minion config so we don't immediately highstate when salt starts back up + sed -i '/startup_states/d' $minion_config + + # Stop all containers so files can be changed with more safety + docker stop $(docker ps -a -q) +} + # When updating the salt version, also update the version in securityonion-builds/images/iso-task/Dockerfile and salt/salt/master.defaults.yaml and salt/salt/minion.defaults.yaml saltify() { @@ -1566,7 +1584,6 @@ saltify() { } salt_checkin() { - case "$install_type" in 'MANAGER' | 'EVAL' | 'HELIXSENSOR' | 'MANAGERSEARCH' | 'STANDALONE' | 'IMPORT') # Fix Mine usage { diff --git a/setup/so-setup b/setup/so-setup index c88b3935f..dc8ea1566 100755 --- a/setup/so-setup +++ b/setup/so-setup @@ -57,6 +57,10 @@ done # Begin Installation pre-processing parse_install_username +if [[ -f $setup_log ]]; then + reinstall_init +fi + title "Initializing Setup" info "Installing as the $INSTALLUSERNAME user"