summaryrefslogtreecommitdiffstats
path: root/ipalib/cli.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2010-07-26 17:54:38 -0400
committerRob Crittenden <rcritten@redhat.com>2010-08-16 10:35:27 -0400
commit1df10a88cd8b36be8b9b4d47c49dd9e7d1d12bc0 (patch)
tree965da3c4c157e0aaba6b876b578ebcf8a7dc190d /ipalib/cli.py
parent3e6f0f5721f76977475792f09758f6b8dcc4ed4e (diff)
downloadfreeipa-1df10a88cd8b36be8b9b4d47c49dd9e7d1d12bc0.tar.gz
freeipa-1df10a88cd8b36be8b9b4d47c49dd9e7d1d12bc0.tar.xz
freeipa-1df10a88cd8b36be8b9b4d47c49dd9e7d1d12bc0.zip
Add support for client failover to the ipa command-line.
This adds a new global option to the ipa command, -f/--no-fallback. If this is included then just the server configured in /etc/ipa/default.conf is used. Otherwise that is tried first then all servers in DNS with the ldap SRV record are tried. Create a new Local() Command class for local-only commands. The help command is one of these. It shouldn't need a remote connection to execute. ticket #15
Diffstat (limited to 'ipalib/cli.py')
-rw-r--r--ipalib/cli.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 81269cd45..d19e397a0 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -572,7 +572,7 @@ class textui(backend.Backend):
self.print_line('')
return selection
-class help(frontend.Command):
+class help(frontend.Local):
"""
Display help for a command or topic.
"""
@@ -778,12 +778,13 @@ class cli(backend.Executioner):
if len(argv) == 0:
self.Command.help()
return
- self.create_context()
(key, argv) = (argv[0], argv[1:])
name = from_cli(key)
if name not in self.Command or self.Command[name].INTERNAL:
raise CommandError(name=key)
cmd = self.Command[name]
+ if not isinstance(cmd, frontend.Local):
+ self.create_context()
kw = self.parse(cmd, argv)
if self.env.interactive:
self.prompt_interactively(cmd, kw)