diff --git a/deployment/Single Host/Station-Captain/src/lib/PackageManagement.py b/deployment/Single Host/Station-Captain/src/lib/PackageManagement.py index 1cfc1b3d53..02437c3841 100644 --- a/deployment/Single Host/Station-Captain/src/lib/PackageManagement.py +++ b/deployment/Single Host/Station-Captain/src/lib/PackageManagement.py @@ -69,7 +69,7 @@ def installPackages(packages:list) -> (bool, str): if result.returncode != 0: PackageManagement.log.error("Failed to run install packages command: %s", result.stderr) return False, result.stderr - return True + return True, None @staticmethod def removePackages(packages:list) -> (bool, str): @@ -83,12 +83,10 @@ def removePackages(packages:list) -> (bool, str): if result.returncode != 0: PackageManagement.log.error("Failed to run remove packages command: %s", result.stderr) return False, result.stderr - return True + return True, None @staticmethod - def installCore(): - # TODO:: update to use new install, package get features - # TODO:: update with error handling, return + def installCore() -> tuple[bool, str]: PackageManagement.log.info("Installing core components.") # TODO:: will likely need updated for yum result = PackageManagement.runPackageCommand("update") @@ -96,6 +94,8 @@ def installCore(): PackageManagement.log.debug("Result of install: " + result.stdout) if result.returncode != 0: PackageManagement.log.error("FAILED to install core components: %s", result.stderr) + return False, result.stderr + return True, None @staticmethod def updateSystem() -> (bool, str): diff --git a/deployment/Single Host/Station-Captain/src/lib/UserInteraction.py b/deployment/Single Host/Station-Captain/src/lib/UserInteraction.py index 03d201b7da..9923c34e6d 100644 --- a/deployment/Single Host/Station-Captain/src/lib/UserInteraction.py +++ b/deployment/Single Host/Station-Captain/src/lib/UserInteraction.py @@ -876,8 +876,11 @@ def setupWizard(self): else: UserInteraction.log.info("User chose to install core components.") self.dialog.infobox("Installing core components. Please wait.") - PackageManagement.installCore() - self.dialog.msgbox("Core components installed!", title="Setup Wizard") + success, error = PackageManagement.installCore() + if success: + self.dialog.msgbox("Core components installed!", title="Setup Wizard") + else: + self.dialog.msgbox("Failed to install core components:\n\n" + str(error), title="Setup Wizard - Error") # TODO: set simple settings; domain name, run by details, email settings