Files
freeipa/ipaclient/remote_plugins/__init__.py
T
Jan Cholasta 2cf7c7b4ac client: add support for pre-schema servers
Bundle remote plugin interface definitions for servers which lack API
schema support. These server API versions are included:
* 2.49: IPA 3.1.0 on RHEL/CentOS 6.5+,
* 2.114: IPA 4.1.4 on Fedora 22,
* 2.156: IPA 4.2.0 on RHEL/CentOS 7.2 and IPA 4.2.4 on Fedora 23,
* 2.164: IPA 4.3.1 on Fedora 23.

For servers with other API versions, the closest lower API version is used.

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

Reviewed-By: David Kupka <dkupka@redhat.com>
2016-07-01 09:40:04 +02:00

25 lines
585 B
Python

#
# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
#
from . import compat
from . import schema
from ipaclient.plugins.rpcclient import rpcclient
def get_package(api):
if api.env.in_tree:
from ipaserver import plugins
else:
client = rpcclient(api)
client.finalize()
try:
plugins = schema.get_package(api, client)
except schema.NotAvailable:
plugins = compat.get_package(api, client)
finally:
if client.isconnected():
client.disconnect()
return plugins