mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
client: ignore override errors in command overrides
This fixes API initialization errors when the remote server does not have the overriden command. https://fedorahosted.org/freeipa/ticket/4739 Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
parent
390fd3d305
commit
c1d8c710e7
@ -25,7 +25,7 @@ from ipalib.text import _
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class automember_add_condition(MethodOverride):
|
||||
has_output_params = (
|
||||
Str('failed',
|
||||
|
@ -39,7 +39,7 @@ DEFAULT_MAPS = (u'auto.direct', )
|
||||
DEFAULT_KEYS = (u'/-', )
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class automountlocation_tofiles(MethodOverride):
|
||||
def output_for_cli(self, textui, result, *keys, **options):
|
||||
maps = result['result']['maps']
|
||||
|
@ -30,7 +30,7 @@ from ipalib.text import _
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class cert_request(MethodOverride):
|
||||
def get_args(self):
|
||||
for arg in super(cert_request, self).get_args():
|
||||
@ -39,7 +39,7 @@ class cert_request(MethodOverride):
|
||||
yield arg
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class cert_show(MethodOverride):
|
||||
def forward(self, *keys, **options):
|
||||
if 'out' in options:
|
||||
@ -54,7 +54,7 @@ class cert_show(MethodOverride):
|
||||
return super(cert_show, self).forward(*keys, **options)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class cert_remove_hold(MethodOverride):
|
||||
has_output_params = (
|
||||
Flag('unrevoked',
|
||||
@ -66,7 +66,7 @@ class cert_remove_hold(MethodOverride):
|
||||
)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class cert_find(MethodOverride):
|
||||
takes_options = (
|
||||
File(
|
||||
|
@ -11,7 +11,7 @@ from ipalib.text import _
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class certprofile_show(MethodOverride):
|
||||
def forward(self, *keys, **options):
|
||||
if 'out' in options:
|
||||
@ -29,7 +29,7 @@ class certprofile_show(MethodOverride):
|
||||
return result
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class certprofile_import(MethodOverride):
|
||||
def get_options(self):
|
||||
for option in super(certprofile_import, self).get_options():
|
||||
@ -38,7 +38,7 @@ class certprofile_import(MethodOverride):
|
||||
yield option
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class certprofile_mod(MethodOverride):
|
||||
def get_options(self):
|
||||
for option in super(certprofile_mod, self).get_options():
|
||||
|
@ -109,17 +109,17 @@ class DNSZoneMethodOverride(MethodOverride):
|
||||
yield option
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnszone_add(DNSZoneMethodOverride):
|
||||
pass
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnszone_mod(DNSZoneMethodOverride):
|
||||
pass
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsrecord_add(MethodOverride):
|
||||
no_option_msg = 'No options to add a specific record provided.\n' \
|
||||
"Command help may be consulted for all supported record types."
|
||||
@ -194,7 +194,7 @@ class dnsrecord_add(MethodOverride):
|
||||
kw.update(user_options)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsrecord_mod(MethodOverride):
|
||||
no_option_msg = 'No options to modify a specific record provided.'
|
||||
|
||||
@ -252,7 +252,7 @@ class dnsrecord_mod(MethodOverride):
|
||||
break
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsrecord_del(MethodOverride):
|
||||
no_option_msg = _('Neither --del-all nor options to delete a specific record provided.\n'\
|
||||
"Command help may be consulted for all supported record types.")
|
||||
@ -309,7 +309,7 @@ class dnsrecord_del(MethodOverride):
|
||||
kw[param.name] = tuple(deleted_values)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsconfig_mod(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
|
||||
@ -322,7 +322,7 @@ class dnsconfig_mod(MethodOverride):
|
||||
_("This may take some time, please wait ..."))
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsforwardzone_add(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
# show informative message on client side
|
||||
@ -334,7 +334,7 @@ class dnsforwardzone_add(MethodOverride):
|
||||
_("This may take some time, please wait ..."))
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dnsforwardzone_mod(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
# show informative message on client side
|
||||
@ -346,7 +346,7 @@ class dnsforwardzone_mod(MethodOverride):
|
||||
_("This may take some time, please wait ..."))
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class dns_update_system_records(MethodOverride):
|
||||
def output_for_cli(self, textui, output, *args, **options):
|
||||
output_super = copy.deepcopy(output)
|
||||
|
@ -28,7 +28,7 @@ if six.PY3:
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class hbactest(CommandOverride):
|
||||
def output_for_cli(self, textui, output, *args, **options):
|
||||
"""
|
||||
|
@ -27,7 +27,7 @@ from ipalib import x509
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class host_show(MethodOverride):
|
||||
def forward(self, *keys, **options):
|
||||
if 'out' in options:
|
||||
|
@ -24,7 +24,7 @@ from ipalib import api
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class idrange_add(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
"""
|
||||
|
@ -30,13 +30,13 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class json_metadata(CommandOverride):
|
||||
def output_for_cli(self, textui, result, *args, **options):
|
||||
print(json.dumps(result, default=json_serialize))
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class i18n_messages(CommandOverride):
|
||||
def output_for_cli(self, textui, result, *args, **options):
|
||||
print(json.dumps(result, default=json_serialize))
|
||||
|
@ -10,7 +10,7 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class location_show(MethodOverride):
|
||||
def output_for_cli(self, textui, output, *keys, **options):
|
||||
rv = super(location_show, self).output_for_cli(
|
||||
|
@ -30,7 +30,7 @@ if six.PY3:
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class migrate_ds(CommandOverride):
|
||||
migrate_order = ('user', 'group')
|
||||
|
||||
|
@ -8,7 +8,7 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class env(CommandOverride):
|
||||
def output_for_cli(self, textui, output, *args, **options):
|
||||
output = dict(output)
|
||||
@ -19,7 +19,7 @@ class env(CommandOverride):
|
||||
*args, **options)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class plugins(CommandOverride):
|
||||
def output_for_cli(self, textui, output, *args, **options):
|
||||
options['all'] = True
|
||||
|
@ -43,7 +43,7 @@ if six.PY3:
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class otptoken_add(MethodOverride):
|
||||
def _get_qrcode(self, output, uri, version):
|
||||
# Print QR code to terminal if specified
|
||||
|
@ -8,7 +8,7 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class passwd(CommandOverride):
|
||||
def get_args(self):
|
||||
for arg in super(passwd, self).get_args():
|
||||
|
@ -16,16 +16,16 @@ class PermissionMethodOverride(MethodOverride):
|
||||
yield option
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class permission_add(PermissionMethodOverride):
|
||||
pass
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class permission_mod(PermissionMethodOverride):
|
||||
pass
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class permission_find(PermissionMethodOverride):
|
||||
pass
|
||||
|
@ -9,7 +9,7 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class server_del(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
self.api.Backend.textui.print_plain(
|
||||
|
@ -29,7 +29,7 @@ from ipalib import util
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class service_show(MethodOverride):
|
||||
def forward(self, *keys, **options):
|
||||
if 'out' in options:
|
||||
|
@ -24,19 +24,19 @@ from ipalib import _
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class sudorule_enable(MethodOverride):
|
||||
def output_for_cli(self, textui, result, cn, **options):
|
||||
textui.print_dashed(_('Enabled Sudo Rule "%s"') % cn)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class sudorule_disable(MethodOverride):
|
||||
def output_for_cli(self, textui, result, cn, **options):
|
||||
textui.print_dashed(_('Disabled Sudo Rule "%s"') % cn)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class sudorule_add_option(MethodOverride):
|
||||
def output_for_cli(self, textui, result, cn, **options):
|
||||
textui.print_dashed(
|
||||
@ -47,7 +47,7 @@ class sudorule_add_option(MethodOverride):
|
||||
**options)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class sudorule_remove_option(MethodOverride):
|
||||
def output_for_cli(self, textui, result, cn, **options):
|
||||
textui.print_dashed(
|
||||
|
@ -14,7 +14,7 @@ if six.PY3:
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class topologysuffix_verify(MethodOverride):
|
||||
def output_for_cli(self, textui, output, *args, **options):
|
||||
|
||||
|
@ -24,7 +24,7 @@ from ipalib.plugable import Registry
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class trust_add(MethodOverride):
|
||||
def interactive_prompt_callback(self, kw):
|
||||
"""
|
||||
|
@ -29,7 +29,7 @@ from ipalib import x509
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class user_del(MethodOverride):
|
||||
def get_options(self):
|
||||
for option in super(user_del, self).get_options():
|
||||
@ -60,7 +60,7 @@ class user_del(MethodOverride):
|
||||
return super(user_del, self).forward(*keys, **options)
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class user_show(MethodOverride):
|
||||
def forward(self, *keys, **options):
|
||||
if 'out' in options:
|
||||
|
@ -493,7 +493,7 @@ class vault_mod(Local):
|
||||
return response
|
||||
|
||||
|
||||
@register(override=True)
|
||||
@register(override=True, no_fail=True)
|
||||
class vaultconfig_show(MethodOverride):
|
||||
def forward(self, *args, **options):
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user