[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation MartinBasti commented: """ Fixed upstream master: https://fedorahosted.org/freeipa/changeset/ff6e701b0077d9c8e2aacdcaecf70f885018db92 """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-280061023 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation tiran commented: """ Example of a single request profile with new lite-server: ``` 127.0.0.1 - - [15/Feb/2017 12:55:20] "POST /ipa/session/json HTTP/1.1" 200 - ipa: INFO: [jsonserver_session] admin@IPA.EXAMPLE: json_metadata(None, None, command=u'all', version=u'2.218'): SUCCESS PATH: '/session/json' 6551240 function calls (4596653 primitive calls) in 1.869 seconds Ordered by: internal time, call count List reduced from 436 to 30 due to restriction <30> ncalls tottime percall cumtime percall filename:lineno(function) 2013370/4053700.3030.0000.4620.000 /usr/lib64/python2.7/json/encoder.py:341(_iterencode_dict) 17553040.2780.0000.2780.000 {isinstance} 35560.2010.0000.4460.000 /home/heimes/redhat/freeipa/ipalib/parameters.py:441(__init__) 187490/4460.1500.0000.9990.002 /home/heimes/redhat/freeipa/ipalib/util.py:58(json_serialize) 110038/10.1270.0000.2360.236 /home/heimes/redhat/freeipa/ipalib/rpc.py:277(json_encode_binary) 39990.0850.0000.2560.000 /home/heimes/redhat/freeipa/ipalib/parameters.py:954(__json__) 1735580.0750.0000.0750.000 {hasattr} 440062/3955180.0720.0000.2390.000 /usr/lib64/python2.7/json/encoder.py:288(_iterencode_list) 4053700.0570.0000.5200.000 /usr/lib64/python2.7/json/encoder.py:417(_iterencode) 143774/1437720.0520.0000.0520.000 /home/heimes/redhat/freeipa/ipalib/base.py:123(__setattr__) 1042000.0360.0000.0700.000 {setattr} 10.0350.0350.5600.560 /usr/lib64/python2.7/json/encoder.py:186(encode) 10.0290.0290.0290.029 {built-in method sasl_interactive_bind_s} 2348420.0260.0000.0260.000 {getattr} 4445/4460.0250.0000.4610.001 /home/heimes/redhat/freeipa/ipalib/util.py:62() 44490.0240.0000.0320.000 {sorted} 2344510.0190.0000.0190.000 {method 'get' of 'dict' objects} 10.0180.0180.0180.018 {method 'encode' of 'str' objects} 1330440.0160.0000.0160.000 {_json.encode_basestring_ascii} 249610.0110.0000.0110.000 {_codecs.utf_8_decode} 249610.0110.0000.0300.000 {method 'decode' of 'str' objects} 1077530.0100.0000.0100.000 /home/heimes/redhat/freeipa/ipalib/parameters.py:506() 35560.0100.0000.0100.000 /home/heimes/redhat/freeipa/ipalib/parameters.py:261(parse_param_spec) 133480.0080.0000.0080.000 {method 'items' of 'dict' objects} 71760.0080.0000.0120.000 /home/heimes/redhat/freeipa/ipalib/text.py:248(as_unicode) 918410.0070.0000.0070.000 /usr/lib64/python2.7/json/encoder.py:361() 249610.0070.0000.0180.000 /usr/lib64/python2.7/encodings/utf_8.py:15(decode) 19730.0070.0000.2740.000 /home/heimes/redhat/freeipa/ipalib/parameters.py:725(clone_retype) 73880.0060.0000.0060.000 {method 'match' of '_sre.SRE_Pattern' objects} 775230.0060.0000.0060.000 {method 'pop' of 'dict' objects} ``` """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-279992368 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation tiran commented: """ PR #314 has landed. I have rebased the branch and made the lite-server even more convenient to use. You can now run it with ```make lite-server``` or ```make lite-server PYTHON=python3```. It tells you how to set up a Kerberos ccache, too. With the help of the lite-server, I found issue https://github.com/pyldap/pyldap/issues/84 within ten seconds. """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-279965820 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation tiran commented: """ PR #314 has landed. I have rebased the branch and made the lite-server even more convenient to use. You can now run it with ```make lite-server``` or ```make lite-server PYTHON=python3```. It tells you how to set up a Kerberos ccache, too. With the help of the lite-server, I found issue https://github.com/pyldap/pyldap/issues/84 within ten seconds. """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-279965820 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation pvoborni commented: """ Maybe the lite-server approach is great and other people would appreciate that. I shouldn't be the one to judge it. What about demonstrating it to the rest of the team and showing the value? """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274869463 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation tiran commented: """ I put some effort into the dev server because I find it very useful during development. The werkzeug WSGI adds some useful features, e.g. auto-reloader and through-the-web debugger (soon). I can maintain a copy of the dev server for me personally but I'd rather have a copy in the source tree. It doesn't have to be ```/lite-server.py```. How about ```contrib/dev-server```? """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274834789 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation pvoborni commented: """ When I was still developing server-side then I used lsyncd to rsync files from my local laptop working git repo to their location on vm in a lab. So the process for me was just: * change file * restart httpd * test Lite sever covers only API changes. Solution above covered also installs and updates (to some extend). So it was much more usable because API changes is only a small part of FreeIPA development. For Web UI, there is older /install/ui/util/sync.sh which does similar thing. Build system refactoring enabled to use `make install` method ``` $ mkdir /tmp/vm $ sshfs -o transform_symlinks root@:/ /tmp/vm $ make install DESTDIR=/tmp/vm ``` This covers all use cases. So it might be better to talk if we should rather promote this method with e.g. containerized IPA instance. I.e. Before we ACK or NACK this PR. I'd rather have a conversation, what is the issue and what is the right solution. How we can make the whole process better. And then update http://www.freeipa.org/page/Contribute/Code which is rather obsolete and doesn't describe any method. """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274826574 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation rcritten commented: """ Right, and IMHO that development process is inefficient and prone to error. Rather than copying bits around and doing full installs over and over you can run the server in-tree and have vastly improved debugging available. Certainly a "final" test of a full server install loop is necessary but for initial development and testing the lite-server is far easier and efficient. At one time the tests were also run almost exclusively in-tree (which was faster at the time). """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274803025 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation martbab commented: """ @rcritten AFAIK most of us develop plugins locally, then build RPMs which we sync to a VM, install IPA server and use ipa-run-tests to test the new plugin. I personally used lite-server only once or twice when I started out with my contribution. We had some discussion earlier in which we concluded that lite-server is not used anymore and should be removed (this is probably what @pvoborni is referring to). If you can provide compelling arguments against this decision then we can reconsider. """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274738523 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation rcritten commented: """ I always found the lite-server to be incredibly helpful for server-side plugin development. If it isn't being used any more then I'd wonder what is being used instead. """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274550653 -- 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
[Freeipa-devel] [freeipa PR#407][comment] New lite-server implementation
URL: https://github.com/freeipa/freeipa/pull/407 Title: #407: New lite-server implementation pvoborni commented: """ Shouldn't we rather remove lite sever completely? """ See the full comment at https://github.com/freeipa/freeipa/pull/407#issuecomment-274538664 -- 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