Steve,

On to, 19 tammi 2017, Steve Huston wrote:
I'm running a RHEL derivative (Springdale Linux) and discovered that
between 7.2 and 7.3 there were quite a few changes, one of which was
the version of FreeIPA installed.  Fortunately my server is still in
the testing phase, and I hadn't finished things for deployment yet.  I
discovered that plugins changed drastically some time in 4.4.x, and
seemed to have found how to modify the plugin I wrote to function
again:

  http://www.astro.princeton.edu/~huston/astrocustom/

The basics are that we add puppetvar and owner to hosts, and the
majority of changes are rebranding existing attributes to fit our
environment better for the AAs that will have access to add stage
users.  So far, that is all working fine - on the add stage user
pop-up, everything looks as expected, and on the mod stageuser page
everything works there as well.  However, I am trying to copy some of
these changes to the regular user page, and finding they're not
working at all; for example, the "manager" field works fine on the
adduser pop-up, but on the moduser page it is blank and errors for not
having a proper value set when trying to save changes.  Interestingly
the "employee type" (renamed "User tier") shows up fine, and it too
was basically a copy from the mod stageuser section so I'm not sure
why one works and one doesn't.

It also seems most of the documentation I'd found previously to talk
about writing plugins hasn't been updated for the new systems - I did
find the pages at https://github.com/abbra/freeipa-desktop-profile/
but I wasn't able to follow them well or figure out how/if they
applied to my case.

In short, FreeIPA 4.2 -> 4.4 change was by splitting server and client
side plugins into different paths (ipaserver/plugins and
ipaclient/plugins instead of being common in ipalib/plugins). The client
code was also changed to always read metadata about API from the server
side. This means the client can adopt to any server version that
supports API metadata.

In my sample external plugin you referenced above you can see that I
have client-side change that replaces an input string by a file
reference so that a file can supplied instead of typing the content of
the file on the command line. This is one of most used patterns for
client side plugins.

We haven't yet qualified FreeIPA Python API for plugins as supported
one. One of reasons is that we continue shaping it up and we still lack
proper documentation for them.

--
/ Alexander Bokovoy

--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Reply via email to