New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: API for reporting PKINIT status #790
Conversation
bac2e2e
to
0b96daf
Compare
In order to achieve the task, the following changes were required: * vectorize the base class for server attributes * add a child class that enforces single-value attributes. It still accepts/returns single-value lists in order to not break Liskov substitution principle * Existing attributes inherit from the child class https://pagure.io/freeipa/issue/6937
The `config` object now hosts a generic method for updating the config entry for desired server role configuration (if not empty). The duplicated code in dns/trust/vaultconfig commands was replaced by a call to a common method. https://pagure.io/freeipa/issue/6937
A new multi-valued server attribute `pkinit_server` was added which reports IPA masters that have PKINIT configuration usable by clients. The existing tests were modified to allow for testing the new attribute. https://pagure.io/freeipa/issue/6937
This command is a more streamlined reporting tool for PKINIT feature status in the FreeIPA topology. It prints out whether PKINIT is enabled or disabled on individual masters in a topology. If a`--server` is specified, it reports status for an individual server. If `--status` is specified, it searches for all servers that have PKINIT enabled or disabled. https://pagure.io/freeipa/issue/6937
The test fixture haphazardly intermixed MockLDAP and ldap2 calls in setup and teardown code, greatly hampering extension of the code and also porting efforts to Python 3. Get rid of MockLDAP and use ldap2 for all LDAP operations. https://pagure.io/freeipa/issue/6937
0b96daf
to
c8a14e9
Compare
|
LGTM. |
|
@HonzaCholasta thanks for looking on API, anyone for functional review? |
|
I'll do it. |
|
Run on replica: |
|
The above error is not related to this PR. |
|
Tested like this: and |
|
Well the command is intended to be used either by administrators or by hosts themselves so I have no problem with unprivileged users not seeing anything. We can fix it in a separate PR if the need arises anyway. |
|
ipa-4-5:
master:
|
This PR implements easily-consumable API that reports PKINIT status on masters
based on the presence of pkinitEnabled value in KDC entry's ipaConfigString
attribute.
https://pagure.io/freeipa/issue/6937