From eb3ee49d4a04cf990d4baa4e4c8be390a8d0fed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= Date: Fri, 24 May 2024 22:48:21 +0200 Subject: Fix using bcfg2-admin without subcommand --- src/lib/Bcfg2/Options/Subcommands.py | 6 ++++++ src/lib/Bcfg2/Server/Admin.py | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/lib') diff --git a/src/lib/Bcfg2/Options/Subcommands.py b/src/lib/Bcfg2/Options/Subcommands.py index f4ee207a9..9b1030d9b 100644 --- a/src/lib/Bcfg2/Options/Subcommands.py +++ b/src/lib/Bcfg2/Options/Subcommands.py @@ -192,6 +192,9 @@ class CommandRegistry(object): subcommand. """ _debug("Running subcommand %s" % master_setup.subcommand) try: + if not master_setup.subcommand: + return + return self.commands[master_setup.subcommand].run(master_setup) finally: self.shutdown() @@ -203,6 +206,9 @@ class CommandRegistry(object): run. """ _debug("Shutting down subcommand %s" % master_setup.subcommand) + if not master_setup.subcommand: + return + self.commands[master_setup.subcommand].shutdown() def register_command(self, cls_or_obj): diff --git a/src/lib/Bcfg2/Server/Admin.py b/src/lib/Bcfg2/Server/Admin.py index 8cdff9309..6e659050a 100644 --- a/src/lib/Bcfg2/Server/Admin.py +++ b/src/lib/Bcfg2/Server/Admin.py @@ -1216,15 +1216,19 @@ class CLI(Bcfg2.Options.CommandRegistry): def __init__(self): Bcfg2.Options.CommandRegistry.__init__(self) self.register_commands(list(globals().values()), parent=AdminCmd) - parser = Bcfg2.Options.get_parser( + self.parser = Bcfg2.Options.get_parser( description="Manage a running Bcfg2 server", components=[self]) - parser.add_options(self.subcommand_options) - parser.parse() + self.parser.add_options(self.subcommand_options) + self.parser.parse() def run(self): """ Run bcfg2-admin """ try: + if not Bcfg2.Options.setup.subcommand: + self.parser.print_help() + return + cmd = self.commands[Bcfg2.Options.setup.subcommand] if hasattr(cmd, 'setup'): cmd.setup() -- cgit v1.2.3-1-g7c22