)]}'
{"lib/dstat":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7a1de9ab67f41d0620bdebf8c24ede7a368dd37c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3fa7e38b_65906b42","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":26},"updated":"2020-01-24 11:06:18.000000000","message":"we should probably run some requirements.txt for it with some pinning to upper constraints","commit_id":"92bdb5d78327469f6a658102969191575bf75e40"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"6a80db838e4d3a3e58fcb96b0699f26cbef6de90","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3fa7e38b_bbf0c267","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":26},"in_reply_to":"3fa7e38b_40df5d37","updated":"2020-01-24 13:49:56.000000000","message":"Done","commit_id":"92bdb5d78327469f6a658102969191575bf75e40"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"e461843f4dbc916e1c1a7ff17ebdb148b69aa856","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3fa7e38b_65f70b90","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":26},"in_reply_to":"3fa7e38b_65906b42","updated":"2020-01-24 11:19:09.000000000","message":"Is there any example to copy from here in DevStack repository?","commit_id":"92bdb5d78327469f6a658102969191575bf75e40"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b8a6dd969eb095d86b928d763ee2ac410e663d32","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3fa7e38b_e53f7b20","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":26},"in_reply_to":"3fa7e38b_65f70b90","updated":"2020-01-24 11:29:00.000000000","message":"I\u0027m not sure how to best do this. psutil is a requirement for a couple of projects, so we need to make sure to use the same upper constraints and avoid installing conflicting version. Or maybe we should use a venv. Like expand the use of the bindep-venv and make it a devstack-venv and use it for this tool, too?","commit_id":"92bdb5d78327469f6a658102969191575bf75e40"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"e7f5547bc5b752d6acbdec12f5fbe95d6aab0ef2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3fa7e38b_40df5d37","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":26},"in_reply_to":"3fa7e38b_e53f7b20","updated":"2020-01-24 13:37:08.000000000","message":"I thin upper-constraints.txt file is always used here:\n https://github.com/openstack/devstack/blob/b9dfa46f0a84015183311f51fab3b026f4596792/inc/python#L180","commit_id":"92bdb5d78327469f6a658102969191575bf75e40"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ddc7ff5c7783f7c533f399d16e4f59a8fc507bb2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_bc6199d6","line":24,"range":{"start_line":24,"start_character":8,"end_line":24,"end_character":22},"updated":"2020-01-24 15:28:38.000000000","message":"pip_install is better (it consults u-c, not g-c) so you used the right one previously. I meant we really shouldn\u0027t drop raw installs around and instead put in requirements.txt in a proper place. Sorry for the confusion.","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"1ccb77a6397886195838349d993a705fb3c68396","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_9f3dafbd","line":24,"range":{"start_line":24,"start_character":8,"end_line":24,"end_character":22},"in_reply_to":"3fa7e38b_7cfb2115","updated":"2020-01-24 16:45:58.000000000","message":"I believe it\u0027s an obsolete way now, need someone to confirm though. Anyways, this works either way!","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"9349aab83f8a2272628961f55bfc01d56dba27fb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_7cfb2115","line":24,"range":{"start_line":24,"start_character":8,"end_line":24,"end_character":22},"in_reply_to":"3fa7e38b_bc6199d6","updated":"2020-01-24 16:40:25.000000000","message":"I saw other services using pip_install_gr probably because it gets pinned version from requirements/requirements.txt and also uses requirements/upper-requirements.txt as constraint file. Isn\u0027t how other project dependencies are installed?","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ddc7ff5c7783f7c533f399d16e4f59a8fc507bb2","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_3c4da970","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":13},"updated":"2020-01-24 15:28:38.000000000","message":"btw, why break here?","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"9349aab83f8a2272628961f55bfc01d56dba27fb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_9c213db8","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":13},"in_reply_to":"3fa7e38b_3c4da970","updated":"2020-01-24 16:40:25.000000000","message":"It is a mistake! :-(","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"254152e2edefe7d31c75213684bb3a6b318ad0c0","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"        break"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3fa7e38b_ff04e314","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":13},"in_reply_to":"3fa7e38b_9c213db8","updated":"2020-01-24 16:41:09.000000000","message":"Done","commit_id":"656c000ea07c1d90f0f7747219a90cf9e5c757e1"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"c5df1d5a352c459e774e5d70236e7895301d2ce6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"    fi"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_b8bd0c04","line":24,"updated":"2020-01-27 21:29:52.000000000","message":"i saw the previous comments on pip_install_gr and i think this looks ok, but i\u0027m open to suggestions :)","commit_id":"19e4d972884e422d691c4cc1fe9e7ed3a03a2c01"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c508ac3abb5ffdaa4b6e386f7ff77e2d01f6ce9b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function install_dstat {"},{"line_number":22,"context_line":"    if is_service_enabled memory_tracker; then"},{"line_number":23,"context_line":"        # Install python libraries required by tools/mlock_report.py"},{"line_number":24,"context_line":"        pip_install_gr psutil"},{"line_number":25,"context_line":"    fi"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_bf764e91","line":24,"in_reply_to":"3fa7e38b_b8bd0c04","updated":"2020-01-28 07:49:10.000000000","message":"by the looks of it, it is now functionally irrelevant which function is used as both install the same psutil","commit_id":"19e4d972884e422d691c4cc1fe9e7ed3a03a2c01"}],"stack.sh":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4ee9db5270ba71041fb5ce29a076df581156e0ac","unresolved":false,"context_lines":[{"line_number":871,"context_line":"# -----"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"# Install dstat services prerequisites"},{"line_number":874,"context_line":"install_dstat"},{"line_number":875,"context_line":""},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"# Check Out and Install Source"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_cb54b458","line":874,"updated":"2020-01-27 23:13:13.000000000","message":"nit: i would have put the if_service_enabled check here, but how you did it works","commit_id":"19e4d972884e422d691c4cc1fe9e7ed3a03a2c01"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c508ac3abb5ffdaa4b6e386f7ff77e2d01f6ce9b","unresolved":false,"context_lines":[{"line_number":871,"context_line":"# -----"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"# Install dstat services prerequisites"},{"line_number":874,"context_line":"install_dstat"},{"line_number":875,"context_line":""},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"# Check Out and Install Source"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_3f8a5e64","line":874,"in_reply_to":"3fa7e38b_cb54b458","updated":"2020-01-28 07:49:10.000000000","message":"valid comment, could be followup - psutil is installed anyway by cinder and does not bother anyone in fact","commit_id":"19e4d972884e422d691c4cc1fe9e7ed3a03a2c01"}]}
