summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorJonah BrĂ¼chert <jbb@kaidan.im>2024-05-24 22:48:21 +0200
committerJonah BrĂ¼chert <jbb@kaidan.im>2024-05-24 22:48:21 +0200
commiteb3ee49d4a04cf990d4baa4e4c8be390a8d0fed9 (patch)
tree7795555b8298f467132cba620313324f014a88fa /src/lib
parentb891122b6526ac7f19b4ac4303370bc60d527891 (diff)
downloadbcfg2-eb3ee49d4a04cf990d4baa4e4c8be390a8d0fed9.tar.gz
bcfg2-eb3ee49d4a04cf990d4baa4e4c8be390a8d0fed9.tar.bz2
bcfg2-eb3ee49d4a04cf990d4baa4e4c8be390a8d0fed9.zip
Fix using bcfg2-admin without subcommand
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Bcfg2/Options/Subcommands.py6
-rw-r--r--src/lib/Bcfg2/Server/Admin.py10
2 files changed, 13 insertions, 3 deletions
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()