mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
add option to skip client API version check
This can be either set in IPA config file or specified as 'ipa --skip-version-check [COMMAND]'. part of https://fedorahosted.org/freeipa/ticket/4768 Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
committed by
Tomas Babej
parent
1d9bdb2409
commit
ea7f392bb9
4
VERSION
4
VERSION
@@ -90,5 +90,5 @@ IPA_DATA_VERSION=20100614120000
|
||||
# #
|
||||
########################################################
|
||||
IPA_API_VERSION_MAJOR=2
|
||||
IPA_API_VERSION_MINOR=141
|
||||
# Last change: ftweedal: add certprofile-mod --file option
|
||||
IPA_API_VERSION_MINOR=142
|
||||
# Last change: mbabinsk: Add option to skip client API version check
|
||||
|
||||
@@ -1082,7 +1082,6 @@ class cli(backend.Executioner):
|
||||
else:
|
||||
for callback in callbacks:
|
||||
callback(cmd, kw)
|
||||
kw['version'] = API_VERSION
|
||||
self.load_files(cmd, kw)
|
||||
return kw
|
||||
|
||||
|
||||
@@ -188,6 +188,10 @@ DEFAULT_CONFIG = (
|
||||
# Used when verifying that the API hasn't changed. Not for production.
|
||||
('validate_api', False),
|
||||
|
||||
# Skip client vs. server API version checking. Can lead to errors/strange
|
||||
# behavior when newer clients talk to older servers. Use with caution.
|
||||
('skip_version_check', False),
|
||||
|
||||
# ********************************************************
|
||||
# The remaining keys are never set from the values here!
|
||||
# ********************************************************
|
||||
|
||||
@@ -423,7 +423,7 @@ class Command(HasParam):
|
||||
version_provided = 'version' in options
|
||||
if version_provided:
|
||||
self.verify_client_version(unicode(options['version']))
|
||||
else:
|
||||
elif self.api.env.in_server or not self.api.env.skip_version_check:
|
||||
options['version'] = API_VERSION
|
||||
params = self.args_options_2_params(*args, **options)
|
||||
self.debug(
|
||||
@@ -451,7 +451,7 @@ class Command(HasParam):
|
||||
):
|
||||
ret['summary'] = self.get_summary_default(ret)
|
||||
if self.use_output_validation and (self.output or ret is not None):
|
||||
self.validate_output(ret, options['version'])
|
||||
self.validate_output(ret, options.get('version', API_VERSION))
|
||||
return ret
|
||||
|
||||
def soft_validate(self, values):
|
||||
|
||||
@@ -484,6 +484,12 @@ class API(ReadOnly):
|
||||
dest='fallback',
|
||||
help='Only use the server configured in /etc/ipa/default.conf'
|
||||
)
|
||||
parser.add_option(
|
||||
'--skip-version-check',
|
||||
action='store_true',
|
||||
dest='skip_version_check',
|
||||
help=optparse.SUPPRESS_HELP
|
||||
)
|
||||
|
||||
return parser
|
||||
|
||||
@@ -503,7 +509,7 @@ class API(ReadOnly):
|
||||
pass
|
||||
overrides[str(key.strip())] = value.strip()
|
||||
for key in ('conf', 'debug', 'verbose', 'prompt_all', 'interactive',
|
||||
'fallback', 'delegate'):
|
||||
'fallback', 'delegate', 'skip_version_check'):
|
||||
value = getattr(options, key, None)
|
||||
if value is not None:
|
||||
overrides[key] = value
|
||||
|
||||
Reference in New Issue
Block a user