)]}'
{"specs/mitaka/remove-wsme.rst":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Since that choice there have been changes which mean that WSME is no"},{"line_number":20,"context_line":"longer a good choice as a web framework:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* XML responses are no longer required in the OpenStack environment."},{"line_number":23,"context_line":"* Only a small number of projects in OpenStack have chosen to use"},{"line_number":24,"context_line":"  WSME."},{"line_number":25,"context_line":"* According to the WSME project core team, WSME has poor support for"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_94648b49","line":22,"updated":"2015-08-28 14:45:11.000000000","message":"whereas XML requests are required?\n\nJust joking - pre-bankholiday friday afternoon fun!","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* According to the WSME project core team, WSME has poor support for"},{"line_number":26,"context_line":"  HTTP (notably in its status code handling and content-type"},{"line_number":27,"context_line":"  handling), a difficult to maintain architecture and is itself not an"},{"line_number":28,"context_line":"  active and growing project."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Therefore it is proposed that WSME be removed from ceilometer and"},{"line_number":31,"context_line":"aodh to be replaced with a framework which is more correct in its"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_94f24b6e","line":28,"updated":"2015-08-28 14:45:11.000000000","message":"Do you have a reference to that? Pretty much this would sound to me as if the developers themselves invite people to not use it.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"18bc63b9117766008976a02be1f5061334f17d8a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* According to the WSME project core team, WSME has poor support for"},{"line_number":26,"context_line":"  HTTP (notably in its status code handling and content-type"},{"line_number":27,"context_line":"  handling), a difficult to maintain architecture and is itself not an"},{"line_number":28,"context_line":"  active and growing project."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Therefore it is proposed that WSME be removed from ceilometer and"},{"line_number":31,"context_line":"aodh to be replaced with a framework which is more correct in its"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_5c6bf11f","line":28,"in_reply_to":"da20952f_94f24b6e","updated":"2015-09-08 09:43:06.000000000","message":"I\u0027m one of the two active cores on WSME so yes, the developers themselves invite people to not use it :)\n\nThe people who used to be core were no longer maintaining it so the people who were reporting the most bugs were pressed into services as cores.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"13485da3bc8a274cb1fcf456e47253e990994b7b","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Therefore it is proposed that WSME be removed from ceilometer and"},{"line_number":31,"context_line":"aodh to be replaced with a framework which is more correct in its"},{"line_number":32,"context_line":"use of HTTP and has a thriving community."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Problem description"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_49518861","line":32,"updated":"2015-08-28 09:44:04.000000000","message":"maybe there will be some API usage difference if we switch to other framewok ;)","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Therefore it is proposed that WSME be removed from ceilometer and"},{"line_number":31,"context_line":"aodh to be replaced with a framework which is more correct in its"},{"line_number":32,"context_line":"use of HTTP and has a thriving community."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Problem description"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_b482ef92","line":32,"in_reply_to":"da20952f_49518861","updated":"2015-08-28 14:45:11.000000000","message":"Would it be a possibility to remove WSME and just be good with it.\nIn Neutron we\u0027re replacing the whole homegrown WSGI framework with Pecan - we\u0027re 90% functionally equivalent at the moment, and it works like a charm.\n\nWhen I looked at WSME + Pecan, the added value from WSME was mostly in handling different content-types; it also provides some simplification around routing, but isn\u0027t Pecan already simple enough?","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"framework."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The most obvious choice is probably to use the Pecan plus"},{"line_number":46,"context_line":"`Voluptuous`_ in a similar way to what gnocchi is doing. Pecan"},{"line_number":47,"context_line":"provides object dispatch routing and Voluptuous provides validation"},{"line_number":48,"context_line":"of input."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_779c59c0","line":46,"updated":"2015-08-28 14:45:11.000000000","message":"For Neutron I am considering either something like this or use oslo.versioned_objects and do the validation there.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"13485da3bc8a274cb1fcf456e47253e990994b7b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The most obvious choice is probably to use the Pecan plus"},{"line_number":46,"context_line":"`Voluptuous`_ in a similar way to what gnocchi is doing. Pecan"},{"line_number":47,"context_line":"provides object dispatch routing and Voluptuous provides validation"},{"line_number":48,"context_line":"of input."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Pecan has some disadvantages that should be considered:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_e6c52b3c","line":47,"updated":"2015-08-28 09:44:04.000000000","message":"it seems some other projects(Nova) switch to use json schema for validation, should we think about it?","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"df4a5eb3c073eda4c6d7169242ca726cc3b17d51","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The most obvious choice is probably to use the Pecan plus"},{"line_number":46,"context_line":"`Voluptuous`_ in a similar way to what gnocchi is doing. Pecan"},{"line_number":47,"context_line":"provides object dispatch routing and Voluptuous provides validation"},{"line_number":48,"context_line":"of input."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Pecan has some disadvantages that should be considered:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_f7a4e9a6","line":47,"in_reply_to":"da20952f_e6c52b3c","updated":"2015-08-28 14:48:12.000000000","message":"jsonschema is quite flexible. This is what we use in some parts of Zaqar to compensate the lack of internal support for content validation in Falcon.\n\nI personally like the fact that jsonschema and Flacon are separate and each of them solve a different problem.\n\nHowever, community wise, I\u0027d probably take a look at oslo.versionedobjects too as a validation \"framework\"","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"18bc63b9117766008976a02be1f5061334f17d8a","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The most obvious choice is probably to use the Pecan plus"},{"line_number":46,"context_line":"`Voluptuous`_ in a similar way to what gnocchi is doing. Pecan"},{"line_number":47,"context_line":"provides object dispatch routing and Voluptuous provides validation"},{"line_number":48,"context_line":"of input."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Pecan has some disadvantages that should be considered:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_3c495db8","line":47,"in_reply_to":"da20952f_f7a4e9a6","updated":"2015-09-08 09:43:06.000000000","message":"From the mailing list discussion it seems that jsonschema has quite a bit of support because it is consumable by the client and there is an emerging consensus that publishing the jsonschema for consumption by clients is a good thing™.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Object dispatch is an implicit form of routing. There is no"},{"line_number":53,"context_line":"  explicit declaration that associates URLs with methods. This leads"},{"line_number":54,"context_line":"  to considerable confusion when doing maintenance, especially for"},{"line_number":55,"context_line":"  individuals new to the project."},{"line_number":56,"context_line":"* [Others]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_97032d0d","line":55,"updated":"2015-08-28 14:45:11.000000000","message":"This is something you can solve with devref docs.\nAlso, Pecan now also supports explicit routing (before it was a bit weird as all your route element had to be valid python identifiers)","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* [Others]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* `Falcon`_ is a small framework that uses explicit mapping between"},{"line_number":62,"context_line":"  URLs and handlers. It has been discussed as potential framework"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_17cb9d73","line":59,"updated":"2015-08-28 14:45:11.000000000","message":"This is a nice can of worm to open...\nI think you\u0027re aware of this mailing list thread already:\n1) http://lists.openstack.org/pipermail/openstack-dev/2014-March/030385.html\n2) http://lists.openstack.org/pipermail/openstack-dev/2015-May/063116.html","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"df4a5eb3c073eda4c6d7169242ca726cc3b17d51","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* `Falcon`_ is a small framework that uses explicit mapping between"},{"line_number":62,"context_line":"  URLs and handlers. It has been discussed as potential framework"},{"line_number":63,"context_line":"  for APIs in OpenStack but does not have a huge community. It is"},{"line_number":64,"context_line":"  already in global-requirements."},{"line_number":65,"context_line":"* `Flask`_ is, to at least some, the de-facto hackers web framework."},{"line_number":66,"context_line":"  It has a huge community and is actively maintained. It is already"},{"line_number":67,"context_line":"  in global-requirements."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_97d7ad22","line":64,"updated":"2015-08-28 14:48:12.000000000","message":"It\u0027s used in Zaqar and the team is very happy with it. It doesn\u0027t have a huge community but the few folks behind it are active and responsive.\n\nWhat I personally like about Falcon is its minimalist design.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"88b56a579cf5a22c5eab748589cbb39580f00609","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  already in global-requirements."},{"line_number":65,"context_line":"* `Flask`_ is, to at least some, the de-facto hackers web framework."},{"line_number":66,"context_line":"  It has a huge community and is actively maintained. It is already"},{"line_number":67,"context_line":"  in global-requirements."},{"line_number":68,"context_line":"* Zero-Framework: Use individual tools (e.g. `selector`_ plus `WebOb`_)"},{"line_number":69,"context_line":"  to make visible WSGI-based request handlers."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_377d816e","line":67,"updated":"2015-08-28 14:41:21.000000000","message":"FWIW it is used in ironic-inspector","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"df4a5eb3c073eda4c6d7169242ca726cc3b17d51","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  already in global-requirements."},{"line_number":65,"context_line":"* `Flask`_ is, to at least some, the de-facto hackers web framework."},{"line_number":66,"context_line":"  It has a huge community and is actively maintained. It is already"},{"line_number":67,"context_line":"  in global-requirements."},{"line_number":68,"context_line":"* Zero-Framework: Use individual tools (e.g. `selector`_ plus `WebOb`_)"},{"line_number":69,"context_line":"  to make visible WSGI-based request handlers."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_77a219b0","line":67,"in_reply_to":"da20952f_377d816e","updated":"2015-08-28 14:48:12.000000000","message":"This is probably a safer option in terms of ecosystem and community. I know Keystone has chosen to move to `Flask` so, picking it would be also a good community choice.","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"de4dec86e36d64ca17d8fe3ae389ea021650b21c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  already in global-requirements."},{"line_number":65,"context_line":"* `Flask`_ is, to at least some, the de-facto hackers web framework."},{"line_number":66,"context_line":"  It has a huge community and is actively maintained. It is already"},{"line_number":67,"context_line":"  in global-requirements."},{"line_number":68,"context_line":"* Zero-Framework: Use individual tools (e.g. `selector`_ plus `WebOb`_)"},{"line_number":69,"context_line":"  to make visible WSGI-based request handlers."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_4a9dc1ba","line":67,"in_reply_to":"da20952f_77a219b0","updated":"2016-01-05 20:26:18.000000000","message":"I agree Flask is a good choice, it also allows customizing the JSON parser http://flask.pocoo.org/snippets/119/","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"df4a5eb3c073eda4c6d7169242ca726cc3b17d51","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  It has a huge community and is actively maintained. It is already"},{"line_number":67,"context_line":"  in global-requirements."},{"line_number":68,"context_line":"* Zero-Framework: Use individual tools (e.g. `selector`_ plus `WebOb`_)"},{"line_number":69,"context_line":"  to make visible WSGI-based request handlers."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"In the early versions of this spec the hope is that people will"},{"line_number":72,"context_line":"suggest others and provide input on pros and cons of the various"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_f796294b","line":69,"updated":"2015-08-28 14:48:12.000000000","message":"please, don\u0027t. :)","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"96f2ca6940838e2a96faf31d7f1ca2f23004894d","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"As the ceilometer and aodh APIs will continue to be WSGI"},{"line_number":111,"context_line":"applications deployment will remain the same. The only difference"},{"line_number":112,"context_line":"will be in the required Python library to support the framework."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"},{"line_number":115,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_37834106","line":112,"updated":"2015-08-28 14:45:11.000000000","message":"Could there be impact, for instance if a deployer is using apache or uwsgi?","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"18bc63b9117766008976a02be1f5061334f17d8a","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"As the ceilometer and aodh APIs will continue to be WSGI"},{"line_number":111,"context_line":"applications deployment will remain the same. The only difference"},{"line_number":112,"context_line":"will be in the required Python library to support the framework."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"},{"line_number":115,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_fc9765e9","line":112,"in_reply_to":"da20952f_37834106","updated":"2015-09-08 09:43:06.000000000","message":"If there is then the wsgi app is broken and should be fixed. It\u0027s not WSGI if it doesn\u0027t work properly on multiple WSGI servers...","commit_id":"73885df2e1dae11c03f97242525bb224103ccb61"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"ef8778a0bb5f3e041535231aa7bb32f97a2347b4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  HTTP (notably in its status code handling and content-type"},{"line_number":27,"context_line":"  handling), a difficult to maintain architecture and is itself not an"},{"line_number":28,"context_line":"  active and growing project."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Therefore it is proposed that WSME be removed from ceilometer and"},{"line_number":31,"context_line":"aodh to be replaced with a framework which is more correct in its"},{"line_number":32,"context_line":"use of HTTP and has a thriving community."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aed3d3a_ceb56bd1","line":29,"updated":"2016-02-25 18:12:25.000000000","message":"One more point:\n\n* WSME looks like abandonware, there were no real changes since Aug 2015: https://github.com/openstack/wsme/commits/master","commit_id":"994b6b955a86939bc531b13674a3896f2c79a646"}]}
