On 05/27/2016 10:33 AM, Petr Spacek wrote:
On 27.5.2016 09:26, Martin Basti wrote:

On 27.05.2016 07:49, Jan Cholasta wrote:
On 26.5.2016 18:43, Martin Basti wrote:

On 26.05.2016 11:21, Martin Basti wrote:

On 26.05.2016 07:15, Jan Cholasta wrote:
On 25.5.2016 18:17, Martin Basti wrote:

On 25.05.2016 16:07, Jan Cholasta wrote:
On 25.5.2016 15:03, David Kupka wrote:
On 18/05/16 08:01, Jan Cholasta wrote:
On 16.5.2016 16:35, Martin Basti wrote:

On 09.05.2016 14:07, Jan Cholasta wrote:
On 6.5.2016 14:32, Martin Basti wrote:

On 28.04.2016 14:45, Jan Cholasta wrote:
Hi,

I have pushed my thin client WIP branch to GitHub:
<https://github.com/jcholast/freeipa/tree/trac-4739>.

All commits up to "ipalib: use relative imports for cross-plugin
imports" should be good for review. The rest is subject to
change
(WARNING: I will force push into this branch).

Honza

I did not test it yet, I just checked the code

* automount: do not inherit automountlocation_tofiles from
LDAPQuery *
LGTM

* dns: move all dnsrecord code called on client to a single
class *
LGTM

* dns: do not rely on server data structures in code called on
client *
1)
you forgot to increment VERSION
This was deliberate, as it will no longer be necessary to bump
VERSION
for backward compatible changes after this whole patchset is
merged.
But we're not there yet, so fixed.

How we should handle VERSION after your patches?
Otherwise LGTM

* otptoken: fix import of DN *
ACK

* otptoken_yubikey: fix otptoken_add_yubikey arguments *
1)
you forgot to increment VERSION
Fixed.

2)
Did you find out why this was issue?
-        del answer['value']    # Why does this cause an error if
omitted?
  -        del answer['summary']  # Why does this cause an
error if
omitted?
The command definition was not complete, it was missing
has_output.

Otherwise LGTM

* vault: move client-side code to the module level *
LGTM

* vault: copy arguments of client commands from server
counterparts *
1)
you forgot to increment Version
Fixed.

* ipalib: use relative imports for cross-plugin imports *
1) Missing explanation for future generations why this change is
needed
in commit message
Fixed.

The other commits I will check later.
Martin^2

Okay. Thanks.

* frontend: remove the unused Command.soft_validate method
LGTM

* frontend: perform argument value validation only on server
LGTM

* frontend: do not forward argument defaults to server
I'm not a fan of returning  None in promt_param function, but I
havent
found anything better to use.
It always returned None for unset params.

LGTM

* ipalib: optimize API.txt
this contains a lot of black magic, but because this is mainly
copy of
current to proper places, LGTM
It's actually mostly cut-n-paste.

* makeaci: load additional plugins using API.add_module
Looks good, but I miss explanation why is this change needed
The next change would be impossible without this.

* plugable: replace API.import_plugins with new API.add_package
LGTM


* ipalib, ipaserver: migrate all plugins to Registry-based
registration
ACK

* ipalib, ipaserver: fix incorrect API.register calls in docstrings
LGTM


* plugable: remove the unused deprecated API.register method
LGTM


* plugable: switch API to Registry-based plugin discovery
LGTM

* frontend: merge baseldap.CallbackRegistry into Command
LGTM

*frontend: move the interactive_prompt callback type to Command
  LGTM

Martin^2



Hello,
first batch of 30 patches from Honza's trac-4739 branch
(https://github.com/jcholast/freeipa/commits/trac-4739) is ready
to be
pushed into master.
All upto "frontend: allow commands to have an argument named
`name`" got
over numerous test&fix cycles in last week+ and is working as
expected
now, ACK.
Thanks for the review.

Honzo, please rebase and push them, thanks!

Attaching the patches for reference.

Pushed to master: 2b50fc617024f18a81e97f30f75ed1b9221c4055

Guys, you forgot to test it with newer pylint.
I don't see any "BuildRequires: newer pylint" in the spec file.

Patch attached.
LGTM, although the commit message is wrong - this is not related to
thin client at all, PublicError and PublicMessage had .kw since forever.

updated commit message





Can I push that fix for pylint?
Sure, ACK.
Pushed to master: aa4123d852d81b908cd18208577bb509fff08c5b


I found something suspicious in tests, did anything in IPA messages
change? I suspect that this is related to client_patches.
Yes, 'data' is a dict which contains structured message data. I did not see
these specific failures before, though. Just add it to expected results
where missing.

E               AssertionError: assert_deepequal: dict keys mismatch.
E                 0026: permission_find: Search for u'testperm' with a
limit of 1 (truncated) with members
E                 missing keys = []
E                 extra keys = [u'data']
E                 expected = {'message': u'Search result has been
truncated: Configured size limit exceeded', 'code': 13017, 'type':
u'warning', 'name': u'SearchResultTruncated'}
E                 got = {u'data': {u'reason': u'Configured size limit
exceeded'}, u'message': u'Search result has been truncated: Configured
size limit exceeded', u'code': 13017, u'type': u'warning', u'name':
u'SearchResultTruncated'}
E                 path = ('messages', 0)



E               AssertionError: assert_deepequal: dict keys mismatch.
E                 0024: permission_find: Search for u'testperm' with a
limit of 1 (truncated) with members
E                 missing keys = []
E                 extra keys = [u'data']
E                 expected = {'message': u'Search result has been
truncated: Configured size limit exceeded', 'code': 13017, 'type':
u'warning', 'name': u'SearchResultTruncated'}
E                 got = {u'data': {u'reason': u'Configured size limit
exceeded'}, u'message': u'Search result has been truncated: Configured
size limit exceeded', u'code': 13017, u'type': u'warning', u'name':
u'SearchResultTruncated'}
E                 path = ('messages', 0)

It is even worse that tests.

If I call command 'ipa' or 'ipa help' it blows up. I'm attaching debug log
from 'ipa -d' invocation.



Hi Honza,

I installed FreeIPA from rpms built from the current master branch and after restarting httpd service I got Internal Server Error in WebUI. I guess that it has something in common with Thin Client, so the stack trace from /var/log/httpd/error_log is in attached file.



    [Fri May 27 20:14:22.066711 2016] [wsgi:error] [pid 34945] ipa: INFO: *** PROCESS START ***
    [Fri May 27 20:14:22.112807 2016] [wsgi:error] [pid 34946] ipa: INFO: *** PROCESS START ***
    [Fri May 27 20:14:25.985756 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: i18n_messages(): SUCCESS
    [Fri May 27 20:14:26.315079 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: config_show(): SUCCESS
    [Fri May 27 20:14:26.326505 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: user_find(None, whoami=True, all=True): SUCCESS
    [Fri May 27 20:14:26.327143 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: env(None): SUCCESS
    [Fri May 27 20:14:26.328514 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: dns_is_enabled(): SUCCESS
    [Fri May 27 20:14:26.330039 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: trustconfig_show(): NotFound
    [Fri May 27 20:14:26.331575 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: domainlevel_get(): SUCCESS
    [Fri May 27 20:14:26.333437 2016] [wsgi:error] [pid 34946] ipa: INFO: ad...@abc.idm.lab.eng.brq.redhat.com: batch: ca_is_enabled(): SUCCESS
    [Fri May 27 20:14:26.333671 2016] [wsgi:error] [pid 34946] ipa: INFO: [jsonserver_session] ad...@abc.idm.lab.eng.brq.redhat.com: batch(({u'params': ((), {}), u'method': u'i18n_messages'}, {u'params': ((), {}), u'method': u'config_show'}, {u'params': ((), {u'all': True, u'whoami': True}), u'method': u'user_find'}, {u'params': ((), {}), u'method': u'env'}, {u'params': ((), {}), u'method': u'dns_is_enabled'}, {u'params': ((), {}), u'method': u'trustconfig_show'}, {u'params': ((), {}), u'method': u'domainlevel_get'}, {u'params': ((), {}), u'method': u'ca_is_enabled'}), version=u'2.169'): SUCCESS
    [Fri May 27 20:14:26.376543 2016] [wsgi:error] [pid 34946] ipa: ERROR: non-public: TypeError: execute() takes exactly 3 arguments (1 given)
    [Fri May 27 20:14:26.376571 2016] [wsgi:error] [pid 34946] Traceback (most recent call last):
    [Fri May 27 20:14:26.376574 2016] [wsgi:error] [pid 34946]   File "/usr/lib/python2.7/site-packages/ipaserver/rpcserver.py", line 350, in wsgi_execute
    [Fri May 27 20:14:26.376576 2016] [wsgi:error] [pid 34946]     result = self.Command[name](*args, **options)
    [Fri May 27 20:14:26.376578 2016] [wsgi:error] [pid 34946]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 440, in __call__
    [Fri May 27 20:14:26.376580 2016] [wsgi:error] [pid 34946]     return self.__do_call(*args, **options)
    [Fri May 27 20:14:26.376582 2016] [wsgi:error] [pid 34946]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 468, in __do_call
    [Fri May 27 20:14:26.376584 2016] [wsgi:error] [pid 34946]     ret = self.run(*args, **options)
    [Fri May 27 20:14:26.376585 2016] [wsgi:error] [pid 34946]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 790, in run
    [Fri May 27 20:14:26.376587 2016] [wsgi:error] [pid 34946]     return self.execute(*args, **options)
    [Fri May 27 20:14:26.376599 2016] [wsgi:error] [pid 34946] TypeError: execute() takes exactly 3 arguments (1 given)
    [Fri May 27 20:14:26.376926 2016] [wsgi:error] [pid 34946] ipa: INFO: [jsonserver_session] ad...@abc.idm.lab.eng.brq.redhat.com: json_metadata(None, None, command=u'all', version=u'2.169'): TypeError
    [Fri May 27 20:14:26.380232 2016] [wsgi:error] [pid 34945] ipa: ERROR: non-public: TypeError: execute() takes exactly 3 arguments (1 given)
    [Fri May 27 20:14:26.380259 2016] [wsgi:error] [pid 34945] Traceback (most recent call last):
    [Fri May 27 20:14:26.380262 2016] [wsgi:error] [pid 34945]   File "/usr/lib/python2.7/site-packages/ipaserver/rpcserver.py", line 350, in wsgi_execute
    [Fri May 27 20:14:26.380264 2016] [wsgi:error] [pid 34945]     result = self.Command[name](*args, **options)
    [Fri May 27 20:14:26.380266 2016] [wsgi:error] [pid 34945]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 440, in __call__
    [Fri May 27 20:14:26.380268 2016] [wsgi:error] [pid 34945]     return self.__do_call(*args, **options)
    [Fri May 27 20:14:26.380269 2016] [wsgi:error] [pid 34945]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 468, in __do_call
    [Fri May 27 20:14:26.380271 2016] [wsgi:error] [pid 34945]     ret = self.run(*args, **options)
    [Fri May 27 20:14:26.380273 2016] [wsgi:error] [pid 34945]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 790, in run
    [Fri May 27 20:14:26.380274 2016] [wsgi:error] [pid 34945]     return self.execute(*args, **options)
    [Fri May 27 20:14:26.380276 2016] [wsgi:error] [pid 34945] TypeError: execute() takes exactly 3 arguments (1 given)
    [Fri May 27 20:14:26.380673 2016] [wsgi:error] [pid 34945] ipa: INFO: [jsonserver_session] ad...@abc.idm.lab.eng.brq.redhat.com: json_metadata(None, None, object=u'all', version=u'2.169'): TypeError

-- 
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