[Freeipa-devel] Asking for help to add new options
thierry bordaz
tbordaz at redhat.com
Wed May 14 11:54:41 UTC 2014
On 05/14/2014 12:32 PM, Petr Viktorin wrote:
> On 05/14/2014 12:27 PM, thierry bordaz wrote:
>> On 05/14/2014 12:01 PM, Petr Viktorin wrote:
>>> On 05/14/2014 11:21 AM, thierry bordaz wrote:
>>>> Hello,
>>>>
>>>> Quite beginner in freeipa land, I am trying to add options to
>>>> 'user-add' sub-command but desperately failing to make it work.
>>>> I did the following modification:
>>>>
>>>> diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py
>>>> index 9b21200..0c36e35 100644
>>>> --- a/ipalib/plugins/user.py
>>>> +++ b/ipalib/plugins/user.py
>>>> @@ -365,6 +365,20 @@ class user(LDAPObject):
>>>> csv=True,
>>>> flags=['no_search'],
>>>> ),
>>>> + Flag('tostage?',
>>>> + doc=_('Create user in staging container'),
>>>> + flags=('no_search', 'virtual_attribute'),
>>>> + cli_name='to_stage',
>>>> + default=False,
>>>> + ),
>>>> + Str('uidstaged?',
>>>> +
>>>> pattern='^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,252}[a-zA-Z0-9_.$-]?$',
>>>> + pattern_errmsg='may only include letters,
>>>> numbers,
>>>> _, -, . and $',
>>>> + maxlength=255,
>>>> + cli_name='from_staged',
>>>> + label=_('Activate the User currently in the
>>>> staging
>>>> container'),
>>>> + normalizer=lambda value: value.lower(),
>>>> + ),
>>>> )
>>>>
>>>> def _normalize_and_validate_email(self, email,
>>>> config=None):
>>>> @@ -436,12 +450,16 @@ class user_add(LDAPCreate):
>>>> msg_summary = _('Added user "%(value)s"')
>>>>
>>>> has_output_params = LDAPCreate.has_output_params +
>>>> user_output_params
>>>> +
>>>> + #internal_options = ['tostage', 'uidstaged']
>>>>
>>>> takes_options = LDAPCreate.takes_options + (
>>>> Flag('noprivate',
>>>> cli_name='noprivate',
>>>> doc=_('Don\'t create user private group'),
>>>> ),
>>>> +
>>>> +
>>>> )
>>>>
>>>>
>>>> The command 'ipa user-add --help' succeeds giving me the correct
>>>> help message. But when I try to add the user it fails:
>>>>
>>>> ipa user-add foo --to-stage --first=foo --last=foo
>>>> ipa: ERROR: Unknown option: tostage
>>>>
>>>>
>>>> This seems to occur because the frontend find this is a
>>>> 'remaining'
>>>> option.. but what does it means ?
>>>> I tried to add the new options as internal options, or with
>>>> different names, but it gives the same results.
>>>> I know it is a very novice question, but I have really no idea I
>>>> should fix it. Anyone know what I am missing ?
>>>>
>>>> regards
>>>> thierry
>>>
>>> Hi,
>>> Adding these options works for me; I think the most likely reason is
>>> you're still using the old version. Did you install the changed file
>>> properly? If you're just copying the .py file to /usr/lib, remember to
>>> restart Apache.
>>>
>> Hi Petr,
>>
>> Thanks for the info.
>> I am using the cli, not the web interface and I installed just
>> copying user.py to
>> /usr/lib/python2.7/site-packages/ipalib/plugins/user.py.
>> I believe I am using the new version as the '--help' option shows
>> the new added options '--to-stage' and '--from-stage'.
>
> The CLI talks to the server, and the options are validated again at
> the server. The --help shows only the client part of the picture.
> Do try restarting Apache (`sudo apachectl graceful`).
Thanks Petr, I missed that and now it is working fine. I found it
described in your presentation
http://www.freeipa.org/images/d/d8/FreeIPA33-server-and-client.pdf :-)
Thanks for your precious help.
>
>> Did you succeed to add a user with something like: ipa user-add foo
>> --to-stage --first=foo --last=foo ?
>
> Yes.
>
>> may be something bad with my deployment I am using freeipa 3.3. Did
>> you test on master ?
>
> Yes, I tested on master, but I don't think that should be an issue.
>
>
More information about the Freeipa-devel
mailing list