IPADiscovery is not available in PyPI packages because the packages do not include ipaclient.install subpackage. The tool is useful outside of installers. It does not depend on any other install helper, too. Let's move the module to the ipaclient package and provide an alias under its old name.
ipaclient.install
Original ticket:
pypi packages missing components https://pypi.org/project/ipaclient/ lacks the install and IPADiscovery components, perhaps > others are missing too. This is most likely a packaging issue and not as much a code defect.
pypi packages missing components
https://pypi.org/project/ipaclient/ lacks the install and IPADiscovery components, perhaps > others are missing too. This is most likely a packaging issue and not as much a code defect.
The ipaclient.install subpackage is not packaged in the PyPI packages. The same is true for ipalib.install and ipapython.install. They aren't shipped because the PyPI packages don't support installation of a client. You need to use OS packages if you need installation.
ipalib.install
ipapython.install
https://github.com/freeipa/freeipa/blob/1dc2287a8e76a11968a0e9e4ef2f984157bc9c19/ipasetup.py.in#L23-L59
Well, I don't really need a PyPi package to install a client, I just wanted to re-use IPADiscovery. But since that is scoped to ipaclient.install it can't be used unless that is also included.
To generify this issue: it's not that people need to use pypi as a glorified package repository to install and manage FreeIPA itself, it's that a lot of the components are very useful when building FreeIPA integrations. One of the main things that is super handy to have is standardised discovery; if one was to talk to the FreeIPA REST API, it's a very safe option to discover a working server at runtime based on a preset realm or IPA domain stead of pointing to a single server.
Are you only interested in IPADiscovery or are there more features that you miss? There is a simpler solution in case it's only IPADiscovery. We could move ipaclient.install.ipadiscovery to ipaclient.discovery and provide an alias for the old name.
ipaclient.install.ipadiscovery
ipaclient.discovery
That would be very helpful. I've noticed it depends on a number of other IPA libs, but those seem to be available just fine.
Metadata Update from @cheimes: - Issue assigned to cheimes
Metadata Update from @cheimes: - Issue priority set to: normal - Issue set to the milestone: FreeIPA 4.8
Metadata Update from @cheimes: - Issue tagged with: easyfix
Metadata Update from @cheimes: - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/2871
master:
Metadata Update from @cheimes: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.