On 08/18/2015 03:06 PM, Martin Basti wrote:



On 08/18/2015 11:32 AM, thierry bordaz wrote:
On 08/18/2015 10:02 AM, Martin Basti wrote:


On 08/18/2015 09:59 AM, thierry bordaz wrote:
On 08/18/2015 09:55 AM, Martin Basti wrote:


On 08/18/2015 09:50 AM, thierry bordaz wrote:
On 08/17/2015 08:33 PM, Martin Basti wrote:
Hello,

the 'user-stage' command replaces 'stageuser-add --from-delete' command.
https://fedorahosted.org/freeipa/ticket/5041

Thierry can you check If I don't break everything, it works for me, but the one never knows.

Honza can you please check the framework side? I use self.api.Object.stageuser.add.* in user command, I'm not sure if this is right way, but it works.

Patch attached. I created it in hurry, I'm expecting NACK :D


Just question at the end: should I implement way Active user -> stageuser? IMHO it would be implemented internally by calling 'user-del --preserve' inside 'user-stage'.



Hi Martin,

There is a small failure with VERSION (edewata pushed his patch first ;-) )

    git apply -v
    /tmp/freeipa-mbasti-0297-Add-user-stage-command.patch
    Checking patch API.txt...
    Checking patch VERSION...
    error: while searching for:
    # #
    ########################################################
    IPA_API_VERSION_MAJOR=2
    IPA_API_VERSION_MINOR=148
    # Last change: ftweedal - add --out option to user-show

    error: patch failed: VERSION:90
    error: VERSION: patch does not apply
    Checking patch ipalib/plugins/stageuser.py...
    Checking patch ipalib/plugins/user.py...


There is many pending patches that may change VERSION number, I will change it to right one before push.

Does code looks good for you?
Hi Martin,

Just a question, there is no additional permission. Did you test being 'admin' ?

thanks
theirry
No I didn't,.

I preserver all permission, the original permissions should work.

Martin
Hi Martin,

Running a test script, I have an issue with

    ipa stageuser-add --first=t --last=b tb1
    ipa: ERROR: an internal error has occurred


    [Tue Aug 18 11:16:56.440658 2015] [wsgi:error] [pid 10486] ipa:
    INFO: [jsonserver_kerb] stage...@abc.idm.lab.eng.brq.redhat.com:
    stageuser_add(u'tb1', givenname=u't', sn=u'b', cn=u't b',
    displayname=u't b', initials=u'tb', gecos=u't b',
    krbprincipalname=u't...@abc.idm.lab.eng.brq.redhat.com',
    random=False, all=False, raw=False, version=u'2.149',
    no_members=False): AttributeError
    [Tue Aug 18 11:21:25.198021 2015] [wsgi:error] [pid 10485] ipa:
    ERROR: non-public: AttributeError: 'DN' object has no attribute
    'setdefault'
    [Tue Aug 18 11:21:25.198053 2015] [wsgi:error] [pid 10485]
    Traceback (most recent call last):
    [Tue Aug 18 11:21:25.198058 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipaserver/rpcserver.py", line
    347, in wsgi_execute
[Tue Aug 18 11:21:25.198062 2015] [wsgi:error] [pid 10485] result = self.Command[name](*args, **options)
    [Tue Aug 18 11:21:25.198066 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 443,
    in __call__
[Tue Aug 18 11:21:25.198070 2015] [wsgi:error] [pid 10485] ret = self.run(*args, **options)
    [Tue Aug 18 11:21:25.198081 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 760,
    in run
[Tue Aug 18 11:21:25.198133 2015] [wsgi:error] [pid 10485] return self.execute(*args, **options)
    [Tue Aug 18 11:21:25.198139 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipalib/plugins/baseldap.py",
    line 1227, in execute
[Tue Aug 18 11:21:25.198144 2015] [wsgi:error] [pid 10485] *keys, **options)
    [Tue Aug 18 11:21:25.198147 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipalib/plugins/stageuser.py",
    line 373, in pre_callback
[Tue Aug 18 11:21:25.198151 2015] [wsgi:error] [pid 10485] attrs_list, *keys, **options)
    [Tue Aug 18 11:21:25.198155 2015] [wsgi:error] [pid 10485]   File
    "/usr/lib/python2.7/site-packages/ipalib/plugins/stageuser.py",
    line 277, in set_default_values_pre_callback
[Tue Aug 18 11:21:25.198159 2015] [wsgi:error] [pid 10485] entry_attrs.setdefault('description', [])
    [Tue Aug 18 11:21:25.198163 2015] [wsgi:error] [pid 10485]
    AttributeError: 'DN' object has no attribute 'setdefault'
    [Tue Aug 18 11:21:25.199276 2015] [wsgi:error] [pid 10485] ipa:
    INFO: [jsonserver_session]
    stage...@abc.idm.lab.eng.brq.redhat.com: stageuser_add(u'tb1',
    givenname=u't', sn=u'b', cn=u't b', displayname=u't b',
    initials=u'tb', gecos=u't b',
    krbprincipalname=u't...@abc.idm.lab.eng.brq.redhat.com',
    random=False, all=False, raw=False, version=u'2.149',
    no_members=False): AttributeError


The new set_default_values_pre_callback, can not use the set_default function. It is not clear why. entry_attrs is one of pre_callback parameter.
Should set_default_values_pre_callback be a subfonction of pre_callback ?


thanks
thierry

Thank you,

updated patch attached.

So far, tests are ok.
Just one comment, the 'user-stage' command description is wrong, as it moves an active user into the staged area

user-stage                             Move deleted user into staged area
-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to