ipaclient: implement thin client

Dynamically create plugin package for the remote server with modules and
commands based on the API schema when client API is finalizes. For in-tree
API instances, use ipalib.plugins directly.

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

Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
Jan Cholasta
2016-06-02 10:12:26 +02:00
parent f5fd2b8750
commit ec841e5d7a
9 changed files with 352 additions and 9 deletions

View File

@@ -524,7 +524,7 @@ class API(ReadOnly):
)
self.log.debug("importing all plugin modules in %s...", package_name)
modules = find_modules_in_dir(package_dir)
modules = getattr(package, 'modules', find_modules_in_dir(package_dir))
modules = ['.'.join((package_name, name)) for name in modules]
for name in modules: