)]}'
{"devstack/lib/ovn":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"833c94639e1a1fabc65d2c065ecd89e18b47bacc","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_144420b7","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"updated":"2019-11-22 20:50:40.000000000","message":"heh, I think that a potentially better way of doing this would be to set REQUIREMENTS_DIR after this is merged:\nhttps://review.opendev.org/#/c/693164/\n\nAnd the value for that may just point to a url, like what\nis shown here:\nREQUIREMENTS_DIR\u003d\u0027https://opendev.org/openstack/requirements/raw/branch/master\u0027\n\nhttps://review.opendev.org/#/c/692096/21/networking_ovn/tests/contrib/gate_hook.sh","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"19ecb14cea1fb256450f9944c9a44c5d7aed7efe","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_511fff6e","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"in_reply_to":"3fa7e38b_144420b7","updated":"2019-11-25 10:35:08.000000000","message":"The downback of doing it is a developer cannot test a local change of requirements repository locally with networking OVN. DevStack plugin are not only intended to be used upstream and typically they are also used locally to test changes on more than repository on the same time on a local machine. Picking a remote http URL would break such feature of DevStack. I hope I understood well your suggestion.\n\nWhat I could do here is pointing requirements dir to a local directory I got from upstream as I doing it. In the case requirements dir is there, it should use it as it is. Of course if use sets this directory as a remote URL then I should simply use it as you suggest (thanks for it).\n\nBut I repeat the usual way is to look at the $DEST (/opt/stack) folder for all source code so that developers (and zuul) could provision code of arbitrary version to DevStack scripts.","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"88ed56fad5f69fb69763da381b652f2bcc766af0","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_52ee1e21","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"in_reply_to":"3fa7e38b_511fff6e","updated":"2019-11-26 10:03:04.000000000","message":"Typically the _compile_ovs function is used by functional tests, the only requirement for the suite is devstack. I\u0027d suggest to keep in mind this fact and to rather make the change working with configure_func_for_testing script than assuming developer is gonna install the whole allinone openstack environment.","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"ff641ef427f27852a8624df2efd870b5e15e881a","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_b89733eb","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"in_reply_to":"3fa7e38b_511fff6e","updated":"2019-11-25 14:35:07.000000000","message":"ack. I agree. https://review.opendev.org/#/c/693164/ should help then.","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ad6fc3c009fc1e0a7c4c01be1ef5fea8ad741117","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_a7c14451","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"in_reply_to":"3fa7e38b_52ee1e21","updated":"2019-11-26 10:04:01.000000000","message":"Ignore this, it remained here from old review that I didn\u0027t send and now I commented elsewhere and gerrit sent it here too.","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"b6c7bec047e849bf9ebf535d701c098ee90b4c4c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    # Ensure requirements ${REQUIREMENTS_DIR} is fetch before"},{"line_number":115,"context_line":"    # calling pip_install"},{"line_number":116,"context_line":"    clone_repository \"${REQUIREMENTS_REPO}\" \"${REQUIREMENTS_BRANCH}\""},{"line_number":117,"context_line":"    pip_install six"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _prepare_for_ovs_compilation $build_modules"},{"line_number":120,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"3fa7e38b_2a70bba4","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":19},"in_reply_to":"3fa7e38b_b89733eb","updated":"2019-11-26 10:50:43.000000000","message":"I added support for REQUIREMENTS_DIR as an URL. On such case git clone is not called.","commit_id":"0efd50107b65a4e9de4dd8b8baf01abb0d7c247d"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"b1fbe9d31a88f0a3b8ed34d1da2393dd1be3482c","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"function _install_ovn_compilation_requirements {"},{"line_number":180,"context_line":"    # Ensures build requirements are installed"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    # Install distro packages"},{"line_number":183,"context_line":"    install_package autoconf automake libtool gcc patch make"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    # Must checkout ${REQUIREMENTS_DIR} before pip_install function is used"},{"line_number":186,"context_line":"    if _is_local_path \"${REQUIREMENTS_DIR}\" \u0026\u0026 ! [ -d \"${REQUIREMENTS_DIR}\" ]; then"},{"line_number":187,"context_line":"        # Checkout files to a temporary directory to avoid user permission"},{"line_number":188,"context_line":"        # problems"},{"line_number":189,"context_line":"        local temp_dir\u003d$(mktemp -d)/$(basename \"${REQUIREMENTS_DIR}\")"},{"line_number":190,"context_line":"        git_timed clone \"${REQUIREMENTS_REPO}\" \"${temp_dir}\" --branch \"${REQUIREMENTS_BRANCH}\""},{"line_number":191,"context_line":"        sudo mv \"${temp_dir}\" $(dirname \"${REQUIREMENTS_DIR}\")"},{"line_number":192,"context_line":"        rm -fR $(dirname \"${temp_dir}\")"},{"line_number":193,"context_line":"    fi"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    # Install Python packages"},{"line_number":196,"context_line":"    pip_install six"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"3fa7e38b_80881c6b","line":193,"range":{"start_line":180,"start_character":0,"end_line":193,"end_character":6},"updated":"2019-12-06 13:36:58.000000000","message":"Now that https://review.opendev.org/#/c/693164/ is merged, do we still need this? It may be so, but I wonder if getting \n${REQUIREMENTS_DIR} deployed somewhere else, or using an url is a better approach than cloning the whole repo on demand.","commit_id":"8593ff0956d47145f00fa85f90d8b062908fc91d"}]}
