Eu estou olhando para adicionar campos na definição do usuário no FreeIPA 4.4.
Agora eu tenho modificou o esquema do usuário e adicionou os campos na interface do usuário da Web para edições.
Agora, gostaria de poder alterar os novos campos adicionados (código do país c
e nome do país co
) por meio da API JSON e, portanto, por meio da ferramenta CLI. Isso exigirá alterações já existentes na API, como user_add
, user_show
etc.
Eu encontrei exemplos de tais plugins, mas para o FreeIPA 3, e parece que a API do python mudou desde então, porque eles não estão funcionando quando eu os adaptei com o bom nome de campo. Eu recebo o seguinte erro:
$ ipa
ipa: ERROR: ImportError: No module named plugins
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ipalib/cli.py", line 1348, in run
api.finalize()
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 707, in finalize
self.__do_if_not_done('load_plugins')
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 422, in __do_if_not_done
getattr(self, name)()
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 586, in load_plugins
self.add_package(package)
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 613, in add_package
module = importlib.import_module(name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/lib/python2.7/site-packages/ipaclient/plugins/country.py", line 1, in <module>
from ipalib.plugins import user
ImportError: No module named plugins
ipa: ERROR: an internal error has occurred
Existe um exemplo mínimo em algum lugar on-line de adição de um ou dois novos atributos a um usuário para o FreeIPA 4.4?
Pequena precisão, conheço pelo menos um exemplo de plug-in completo que adiciona um novo tipo de objeto , mas, tanto quanto eu conseguir tudo lá, não é aplicável no caso de adicionar novos campos para um objeto já existente.