Make env and plugins commands local again

During thin client refactoring, LocalOrRemote class implementation of `run`
method was overriden by default Command implementation during instantiation of
client plugins from schema. This caused these commands to always forward this
request to IPA master.

This patch restores the original behavior: unless `--server` option was
specified, the commands will always print out local config.

https://fedorahosted.org/freeipa/ticket/6490

Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
This commit is contained in:
Martin Babinsky
2016-11-28 14:50:57 +01:00
parent 42307ae2dc
commit 0ae7bebb76
3 changed files with 133 additions and 121 deletions

View File

@@ -2,14 +2,15 @@
# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
#
from ipaclient.frontend import CommandOverride
from ipalib.misc import env as _env
from ipalib.misc import plugins as _plugins
from ipalib.plugable import Registry
register = Registry()
@register(override=True, no_fail=True)
class env(CommandOverride):
class env(_env):
def output_for_cli(self, textui, output, *args, **options):
output = dict(output)
output.pop('count', None)
@@ -20,7 +21,7 @@ class env(CommandOverride):
@register(override=True, no_fail=True)
class plugins(CommandOverride):
class plugins(_plugins):
def output_for_cli(self, textui, output, *args, **options):
options['all'] = True
return super(plugins, self).output_for_cli(textui, output,