)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"7d370ef4a87bd8c8b23802b57387fe1c192f55eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0a2d386c_b44af20a","updated":"2025-05-21 17:25:53.000000000","message":"@jjasek@redhat.com hello, please close this MR.","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"239f135cc3280c3e53afdafe56e7f1b223ed27bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3c1505a9_60c08c35","updated":"2023-08-29 18:47:12.000000000","message":"Could you please explain why this change is required?","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5e39074dfd1f5641657563b7fd0957e9da28c088","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e18ee5bd_d860ad24","updated":"2023-10-01 11:07:05.000000000","message":"Please find my comment inline. I don\u0027t vote neither +2 nor -1.\nI am okay with this proposal (reason of not -1), but I would like to see some appropriate comment on why we have it here (reason of not +2).","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"}],"requirements.txt":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"239f135cc3280c3e53afdafe56e7f1b223ed27bf","unresolved":true,"context_lines":[{"line_number":37,"context_line":"python-cinderclient\u003e\u003d8.0.0 # Apache-2.0"},{"line_number":38,"context_line":"python-glanceclient\u003e\u003d2.8.0 # Apache-2.0"},{"line_number":39,"context_line":"python-keystoneclient\u003e\u003d3.22.0 # Apache-2.0"},{"line_number":40,"context_line":"python-memcached\u003d\u003d1.59 # MemCached 1.59"},{"line_number":41,"context_line":"python-neutronclient\u003e\u003d8.1.0 # Apache-2.0"},{"line_number":42,"context_line":"python-novaclient\u003e\u003d9.1.0 # Apache-2.0"},{"line_number":43,"context_line":"python-swiftclient\u003e\u003d3.2.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"4defac7c_a19653ec","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":39},"updated":"2023-08-29 18:47:12.000000000","message":"If I look at ``test-requirements.txt`` file PSF is used for python-memcached [1].\n[1] https://github.com/openstack/horizon/blob/master/test-requirements.txt#L15","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"},{"author":{"_account_id":36274,"name":"Elyas Ebrahimpour","display_name":"Elyas Ebrahimpour","email":"eliasebrahimpour@gmail.com","username":"eliasebrahimpour"},"change_message_id":"95974b4a087e3d14d309398ae26a74c78d960816","unresolved":false,"context_lines":[{"line_number":37,"context_line":"python-cinderclient\u003e\u003d8.0.0 # Apache-2.0"},{"line_number":38,"context_line":"python-glanceclient\u003e\u003d2.8.0 # Apache-2.0"},{"line_number":39,"context_line":"python-keystoneclient\u003e\u003d3.22.0 # Apache-2.0"},{"line_number":40,"context_line":"python-memcached\u003d\u003d1.59 # MemCached 1.59"},{"line_number":41,"context_line":"python-neutronclient\u003e\u003d8.1.0 # Apache-2.0"},{"line_number":42,"context_line":"python-novaclient\u003e\u003d9.1.0 # Apache-2.0"},{"line_number":43,"context_line":"python-swiftclient\u003e\u003d3.2.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"aa901eaa_04b1445e","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":39},"in_reply_to":"4defac7c_a19653ec","updated":"2023-08-30 22:52:03.000000000","message":"Do you mean Python Memcached isn\u0027t used in the project but merely for tests?!","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5e39074dfd1f5641657563b7fd0957e9da28c088","unresolved":false,"context_lines":[{"line_number":37,"context_line":"python-cinderclient\u003e\u003d8.0.0 # Apache-2.0"},{"line_number":38,"context_line":"python-glanceclient\u003e\u003d2.8.0 # Apache-2.0"},{"line_number":39,"context_line":"python-keystoneclient\u003e\u003d3.22.0 # Apache-2.0"},{"line_number":40,"context_line":"python-memcached\u003d\u003d1.59 # MemCached 1.59"},{"line_number":41,"context_line":"python-neutronclient\u003e\u003d8.1.0 # Apache-2.0"},{"line_number":42,"context_line":"python-novaclient\u003e\u003d9.1.0 # Apache-2.0"},{"line_number":43,"context_line":"python-swiftclient\u003e\u003d3.2.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"0eb77ab6_2e2eb06d","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":39},"in_reply_to":"aa901eaa_04b1445e","updated":"2023-10-01 11:07:05.000000000","message":"The reason we have python-memcached in test-requirements.txt now is that it depends on Django cache configuration in your deployment. It is not required if Django cache is not confingured to use memcached.\n\nI know most (all?) deployments use memcached with horizon and horizon team considers memcached as the default Djnago cache backend. Considering this, IMHO it is reasonable to add python-memcached to requirements.txt.\nThis is what oslo.messaging does [1].\n\nIf we go to this route, some appropriate comment should be added as oslo.messaging requirements.txt does.\n\n[1] https://opendev.org/openstack/oslo.messaging/src/branch/master/requirements.txt#L24-L27","commit_id":"2977239d573acce9ae74b638a209c9e6d145fcb6"}]}
