)]}'
{"devstack/lib/opae":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"ed9f49cb78c6623043e3faca2354121d4e34fe53","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_c37e47e1","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"updated":"2018-11-21 07:58:42.000000000","message":"There is already a real_install_package function in devstack.\nI wonder can we leverage this function? \npros: it can setup proxy, and have a timeout. \n\nfunction real_install_package {\n    if is_ubuntu; then\n        apt_get install \"$@\"\n    elif is_fedora; then\n        yum_install \"$@\"\n    elif is_suse; then\n        zypper_install \"$@\"\n    else\n        exit_distro_not_supported \"installing packages\"\n    fi\n}","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_78feae07","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"in_reply_to":"3f79a3b5_1894a541","updated":"2018-11-27 04:37:01.000000000","message":"Folks, OPAE SDK libraries are not yet in any distro repo, so we can\u0027t use yum or apt. Only OPAE kernel driver is in epel-release.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e67cfad7887749c1f48319120f5a7a2bebb52bfc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_5bffe5fe","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"in_reply_to":"3f79a3b5_33d610c3","updated":"2018-11-29 22:31:32.000000000","message":"Yup, this code does use yum/apt/.. with file paths, if you notice. The original question was about using install_package. Anyways, bottom \nline: we have to download first and install later. Updated the patch to use install_package.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"83960840843aa9a62613b4c4acca301c3f136291","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_37bc7507","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"in_reply_to":"3f79a3b5_78feae07","updated":"2018-11-30 07:54:37.000000000","message":"OK. \nBut I wonder whether the OPAE team plan to maintain a distro repo?  Or have you suggested them to maintain a distro?","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de37737bc09d5bb0a8bb4f865f98517ba8734638","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_33d610c3","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"in_reply_to":"3f79a3b5_78feae07","updated":"2018-11-27 12:13:39.000000000","message":"you can pass the path to a file to install_package and it will install it with apt/yum directly instead of going to the  package repos just so you know.\n\nzypper, yum dnf and apt all have this behavior","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edb42d250030b2e9154b2797adf272e9837cc6d1","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"},{"line_number":17,"context_line":"# from devstack/functions-common"},{"line_number":18,"context_line":"function setup_distro_vars {"},{"line_number":19,"context_line":"    PKG_EXT\u003d\"\""},{"line_number":20,"context_line":"    PKG_INSTALL\u003d\"\""},{"line_number":21,"context_line":"    PKG_UNINSTALL\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_1894a541","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":26},"in_reply_to":"3f79a3b5_c37e47e1","updated":"2018-11-21 13:11:43.000000000","message":"there is also an install_package function that you should use. i belive real_install_package is not ment to be called directly.\n\n\nreal_install_package is called by install_package\nif the package fails to be found install package will update the repo and try again\n\nhttps://github.com/openstack-dev/devstack/blob/master/functions-common#L1268-L1287","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de37737bc09d5bb0a8bb4f865f98517ba8734638","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    if is_fedora ; then"},{"line_number":23,"context_line":"        PKG_EXT\u003d\"rpm\""},{"line_number":24,"context_line":"        YUMEXE\u003d\"$(which yum)\""},{"line_number":25,"context_line":"        PKG_INSTALL\u003d\"sudo $YUMEXE -y install\""},{"line_number":26,"context_line":"        PKG_UNINSTALL\u003d\"sudo $YUMEXE -y remove\""},{"line_number":27,"context_line":"    elif is_ubuntu ; then"},{"line_number":28,"context_line":"        # Includes Debian and LinuxMint."}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_f360980e","line":25,"range":{"start_line":25,"start_character":21,"end_line":25,"end_character":26},"updated":"2018-11-27 12:13:39.000000000","message":"because you do not have -EH here this will not work behaind a \nproxy if the opae package depends on any packages in the distro package manager unless you have hardcoded proxy info into you apt/yum/dnf config","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"ed9f49cb78c6623043e3faca2354121d4e34fe53","unresolved":false,"context_lines":[{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":"setup_distro_vars"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"function download_opae_packages {"},{"line_number":43,"context_line":"    local lib_status\u003d-1"},{"line_number":44,"context_line":"    local devel_status\u003d-1"},{"line_number":45,"context_line":"    local CURL\u003d\"curl -sSfL\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_a3b0eb8e","line":42,"range":{"start_line":42,"start_character":9,"end_line":42,"end_character":31},"updated":"2018-11-21 07:58:42.000000000","message":"can we configure the yum or apt repo.\ninstead of curl directly?","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":"setup_distro_vars"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"function download_opae_packages {"},{"line_number":43,"context_line":"    local lib_status\u003d-1"},{"line_number":44,"context_line":"    local devel_status\u003d-1"},{"line_number":45,"context_line":"    local CURL\u003d\"curl -sSfL\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_be02ef05","line":42,"range":{"start_line":42,"start_character":9,"end_line":42,"end_character":31},"in_reply_to":"3f79a3b5_a3b0eb8e","updated":"2018-11-27 04:37:01.000000000","message":"No, please see above.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"55b4205371fa104367c3aafee3fb26b18ebea054","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    fi"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function install_opae_packages {"},{"line_number":62,"context_line":"    if [[ \"$PKG_INSTALL\" !\u003d \"\" ]]; then"},{"line_number":63,"context_line":"        $PKG_INSTALL \"/tmp/$OPAE_LIBS.$PKG_EXT\""},{"line_number":64,"context_line":"        $PKG_INSTALL \"/tmp/$OPAE_DEVEL.$PKG_EXT\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_aa04291a","line":61,"range":{"start_line":61,"start_character":9,"end_line":61,"end_character":30},"updated":"2018-11-22 10:08:41.000000000","message":"this function should have a return value if you wanna use it as a determine statements.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    fi"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function install_opae_packages {"},{"line_number":62,"context_line":"    if [[ \"$PKG_INSTALL\" !\u003d \"\" ]]; then"},{"line_number":63,"context_line":"        $PKG_INSTALL \"/tmp/$OPAE_LIBS.$PKG_EXT\""},{"line_number":64,"context_line":"        $PKG_INSTALL \"/tmp/$OPAE_DEVEL.$PKG_EXT\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_d81a627e","line":61,"range":{"start_line":61,"start_character":9,"end_line":61,"end_character":30},"in_reply_to":"3f79a3b5_aa04291a","updated":"2018-11-27 04:37:01.000000000","message":"Done","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":28221,"name":"Rodrigo Rojo","email":"rodrigo.rojo@intel.com","username":"rrojo"},"change_message_id":"c0dc7562f186acd62a95e7360ec79e65a8fda76c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    else"},{"line_number":66,"context_line":"        echo_summary \"WARNING: Could not install OPAE libraries\""},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":"}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"function uninstall_opae_packages {"},{"line_number":71,"context_line":"    if [[ \"$PKG_UNINSTALL\" !\u003d \"\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_e157c658","line":68,"updated":"2018-11-20 19:20:13.000000000","message":"This doesn\u0027t return a value in either case (success/failure)","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    else"},{"line_number":66,"context_line":"        echo_summary \"WARNING: Could not install OPAE libraries\""},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":"}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"function uninstall_opae_packages {"},{"line_number":71,"context_line":"    if [[ \"$PKG_UNINSTALL\" !\u003d \"\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3f79a3b5_78254ebf","line":68,"in_reply_to":"3f79a3b5_e157c658","updated":"2018-11-27 04:37:01.000000000","message":"Done","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"b1ff63df1f871ff3fd4e474d6f6e752708131574","unresolved":false,"context_lines":[{"line_number":10,"context_line":"[[ -z \"$_OPAE_PKG_FNS\" ]] || return 0"},{"line_number":11,"context_line":"declare -r -g _OPAE_PKG_FNS\u003d1"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"source $DEST/devstack/functions-common"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_b7fba5c3","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":38},"updated":"2018-11-30 08:17:27.000000000","message":"seems this does not need to source.\n\nThis is a cyborg devstack plugin. \nThe devstack will source functions-common itself, and then call this devstack/lib/opae automatically.","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"c2782680d9fa8537fda544a9e9a11017f0f549c6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"[[ -z \"$_OPAE_PKG_FNS\" ]] || return 0"},{"line_number":11,"context_line":"declare -r -g _OPAE_PKG_FNS\u003d1"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"source $DEST/devstack/functions-common"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# NOTE(Sundar): After OPAE libraries become part of the distro repos,"},{"line_number":16,"context_line":"# we can start using install_package() and uninstall_package()"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_42436798","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":38},"in_reply_to":"3f79a3b5_b7fba5c3","updated":"2018-11-30 18:26:04.000000000","message":"Done","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":28221,"name":"Rodrigo Rojo","email":"rodrigo.rojo@intel.com","username":"rrojo"},"change_message_id":"b32236ef586e1b393aba2116b2b461ff40c34157","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # NOTE(Sundar): OPAE packages depend on libjson0, which is"},{"line_number":24,"context_line":"        #   not available after Ubuntu 16.04. After OPAE packages are"},{"line_number":25,"context_line":"        #   updated, this check can be removed."},{"line_number":26,"context_line":"        [[ $os_RELEASE \u003d\u003d \"16.04\" ]] \u0026\u0026 PKG_EXT\u003d\"deb\""},{"line_number":27,"context_line":"    fi"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":"setup_distro_vars"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_db121557","line":26,"updated":"2018-11-29 22:33:28.000000000","message":"Should there be two equal signs?\nPKG_EXT\u003d\u003d\"deb\" ?","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":28221,"name":"Rodrigo Rojo","email":"rodrigo.rojo@intel.com","username":"rrojo"},"change_message_id":"6a345cdb078a89e8e1b0c891f7ac7f581536e89a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # NOTE(Sundar): OPAE packages depend on libjson0, which is"},{"line_number":24,"context_line":"        #   not available after Ubuntu 16.04. After OPAE packages are"},{"line_number":25,"context_line":"        #   updated, this check can be removed."},{"line_number":26,"context_line":"        [[ $os_RELEASE \u003d\u003d \"16.04\" ]] \u0026\u0026 PKG_EXT\u003d\"deb\""},{"line_number":27,"context_line":"    fi"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":"setup_distro_vars"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_b0a653bf","line":26,"in_reply_to":"3f79a3b5_2d0f50d5","updated":"2018-11-30 01:20:05.000000000","message":"So the intended behavior is to leave PKG_EXT as empty string (\"\") if Ubuntu release !\u003d 16.04 and cause the download step to fail?","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"5ba18b6857920476f90c32b497698316328213aa","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # NOTE(Sundar): OPAE packages depend on libjson0, which is"},{"line_number":24,"context_line":"        #   not available after Ubuntu 16.04. After OPAE packages are"},{"line_number":25,"context_line":"        #   updated, this check can be removed."},{"line_number":26,"context_line":"        [[ $os_RELEASE \u003d\u003d \"16.04\" ]] \u0026\u0026 PKG_EXT\u003d\"deb\""},{"line_number":27,"context_line":"    fi"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":"setup_distro_vars"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_a1092784","line":26,"in_reply_to":"3f79a3b5_b0a653bf","updated":"2018-11-30 05:49:39.000000000","message":"Yes, for the reason stated in line 23.","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"aebeb53aa3f93edb88e1849658f4ce454442edb9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        # NOTE(Sundar): OPAE packages depend on libjson0, which is"},{"line_number":24,"context_line":"        #   not available after Ubuntu 16.04. After OPAE packages are"},{"line_number":25,"context_line":"        #   updated, this check can be removed."},{"line_number":26,"context_line":"        [[ $os_RELEASE \u003d\u003d \"16.04\" ]] \u0026\u0026 PKG_EXT\u003d\"deb\""},{"line_number":27,"context_line":"    fi"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":"setup_distro_vars"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_2d0f50d5","line":26,"in_reply_to":"3f79a3b5_db121557","updated":"2018-11-30 00:07:30.000000000","message":"This should be a single \u003d, because it sets PKG_EXT variable to value \u0027deb\u0027 if the condition were true.\n\nThis is a shell-ism and used elsewhere in devstack e.g.\nhttps://github.com/openstack-dev/devstack/blob/master/functions-common#L379","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"b1ff63df1f871ff3fd4e474d6f6e752708131574","unresolved":false,"context_lines":[{"line_number":29,"context_line":"setup_distro_vars"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"function download_opae_packages {"},{"line_number":32,"context_line":"    local CURL\u003d\"curl -sSfL\""},{"line_number":33,"context_line":"    local tmp_libs\u003d\"/tmp/$OPAE_LIBS.$PKG_EXT\""},{"line_number":34,"context_line":"    local tmp_devel\u003d\"/tmp/$OPAE_DEVEL.$PKG_EXT\""},{"line_number":35,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_17bdb9d0","line":32,"range":{"start_line":32,"start_character":10,"end_line":32,"end_character":27},"updated":"2018-11-30 08:17:27.000000000","message":"suggest to add a retry for curl? \nref: https://curl.haxx.se/docs/manpage.html","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"b1ff63df1f871ff3fd4e474d6f6e752708131574","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if [[ \"$PKG_EXT\" !\u003d \"\" ]]; then"},{"line_number":37,"context_line":"        $CURL -o $tmp_libs \"$OPAE_GITHUB/$OPAE_LIBS.$PKG_EXT\""},{"line_number":38,"context_line":"        if [[ $? -eq 0 ]]; then"},{"line_number":39,"context_line":"            $CURL -o $tmp_devel \"$OPAE_GITHUB/$OPAE_DEVEL.$PKG_EXT\""},{"line_number":40,"context_line":"            [[ $? -eq 0 ]] \u0026\u0026 return 0"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"    fi"},{"line_number":43,"context_line":"    echo \"WARNING: Could not download OPAE libraries\""},{"line_number":44,"context_line":"    return 1"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_77a8ad73","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":10},"updated":"2018-11-30 08:17:27.000000000","message":"nit, how about:\n\n $CURL -o $tmp_libs \"$OPAE_GITHUB/$OPAE_LIBS.$PKG_EXT\"\n [[ $? -ne 0 ]] \u0026\u0026 return $?\n $CURL -o $tmp_devel \"$OPAE_GITHUB/$OPAE_DEVEL.$PKG_EXT\"\n return $?","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"c2782680d9fa8537fda544a9e9a11017f0f549c6","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if [[ \"$PKG_EXT\" !\u003d \"\" ]]; then"},{"line_number":37,"context_line":"        $CURL -o $tmp_libs \"$OPAE_GITHUB/$OPAE_LIBS.$PKG_EXT\""},{"line_number":38,"context_line":"        if [[ $? -eq 0 ]]; then"},{"line_number":39,"context_line":"            $CURL -o $tmp_devel \"$OPAE_GITHUB/$OPAE_DEVEL.$PKG_EXT\""},{"line_number":40,"context_line":"            [[ $? -eq 0 ]] \u0026\u0026 return 0"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"    fi"},{"line_number":43,"context_line":"    echo \"WARNING: Could not download OPAE libraries\""},{"line_number":44,"context_line":"    return 1"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f79a3b5_82ce5f28","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":10},"in_reply_to":"3f79a3b5_77a8ad73","updated":"2018-11-30 18:26:04.000000000","message":"I\u0027d like to give a specific message like \u0027download failed\u0027 before quitting.","commit_id":"5c5f8b7bae87fe558c2119be8edd8967c65e12ac"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a41827e8743e9f912778271d88af379348e928e8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"           install_package $tmpfile; retval\u003d$?"},{"line_number":39,"context_line":"           [[ $? -ne 0 ]] \u0026\u0026 echo \"WARNING: Could not install $pkg\""},{"line_number":40,"context_line":"       else"},{"line_number":41,"context_line":"           echo \"WARNING: Could not download $url\""},{"line_number":42,"context_line":"       fi"},{"line_number":43,"context_line":"       /bin/rm -f $tmpfile"},{"line_number":44,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f79a3b5_7bfb9a15","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":50},"updated":"2018-12-03 05:32:01.000000000","message":"IMHO, we can exit and stop devstack.","commit_id":"e4264635dcbb7467c64d532c547f4c95370bace9"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"d6229a7d3316a6ea91517454c1bb4e3e0c6bdfc2","unresolved":false,"context_lines":[{"line_number":38,"context_line":"           install_package $tmpfile; retval\u003d$?"},{"line_number":39,"context_line":"           [[ $? -ne 0 ]] \u0026\u0026 echo \"WARNING: Could not install $pkg\""},{"line_number":40,"context_line":"       else"},{"line_number":41,"context_line":"           echo \"WARNING: Could not download $url\""},{"line_number":42,"context_line":"       fi"},{"line_number":43,"context_line":"       /bin/rm -f $tmpfile"},{"line_number":44,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f79a3b5_b9705011","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":50},"in_reply_to":"3f79a3b5_7bfb9a15","updated":"2018-12-03 16:16:48.000000000","message":"Thanks for your reviews, Shaohe. Failure to install a Cyborg driver should not break Cyborg install, IMHO, because there could be a large number of drivers.","commit_id":"e4264635dcbb7467c64d532c547f4c95370bace9"}],"devstack/plugin.sh":[{"author":{"_account_id":28221,"name":"Rodrigo Rojo","email":"rodrigo.rojo@intel.com","username":"rrojo"},"change_message_id":"c0dc7562f186acd62a95e7360ec79e65a8fda76c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_a149ceb9","line":19,"updated":"2018-11-20 19:20:13.000000000","message":"`download_opae_packages` returns 0 on success while `install_opae_packages` currently does not return anything. If it is changed to return 0 on success, shouldn\u0027t this condition use `||` instead of `\u0026\u0026` to test if either call fails?","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edb42d250030b2e9154b2797adf272e9837cc6d1","unresolved":false,"context_lines":[{"line_number":11,"context_line":"if is_service_enabled cyborg-api cyborg-cond; then"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    if [[ \"$1\" \u003d\u003d \"stack\" ]]; then"},{"line_number":14,"context_line":"\tif [[ \"$2\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":15,"context_line":"\t# stack/pre-install - Called after (OS) setup is complete and before"},{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_78991969","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":1},"updated":"2018-11-21 13:11:43.000000000","message":"need to fix tabs","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":11,"context_line":"if is_service_enabled cyborg-api cyborg-cond; then"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    if [[ \"$1\" \u003d\u003d \"stack\" ]]; then"},{"line_number":14,"context_line":"\tif [[ \"$2\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":15,"context_line":"\t# stack/pre-install - Called after (OS) setup is complete and before"},{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_7850ee2d","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":1},"in_reply_to":"3f79a3b5_78991969","updated":"2018-11-27 04:37:01.000000000","message":"Done","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_d8558220","line":19,"in_reply_to":"3f79a3b5_a149ceb9","updated":"2018-11-27 04:37:01.000000000","message":"Exit code of 0 indicates success; so \u0027cmd1 \u0026\u0026 cmd2\u0027 in bash test checks to see if both return 0. This may be counter-intuitive: see https://unix.stackexchange.com/questions/24684/confusing-use-of-and-operators\n\nWill change install_opae to return 0 on success.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edb42d250030b2e9154b2797adf272e9837cc6d1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_b893314d","line":19,"in_reply_to":"3f79a3b5_a149ceb9","updated":"2018-11-21 13:11:43.000000000","message":"by not retruning explcitly the retrun code of the last invoked command will be evaluated instead.\n\nnot sure if that was intentional but \u0026\u0026 will work and it will only evaluate to true if the last command in install_opae_packages returns success i.e. 0","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\t# project source is installed"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"            echo_summary \"Installing additional packages\""},{"line_number":19,"context_line":"\t    if download_opae_packages \u0026\u0026 install_opae_packages ; then"},{"line_number":20,"context_line":"               echo_summary \"WARNING: Failed to install additional packages\""},{"line_number":21,"context_line":"            fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_fe25c7ad","line":19,"in_reply_to":"3f79a3b5_b893314d","updated":"2018-11-27 04:37:01.000000000","message":"Will make it explicit.","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edb42d250030b2e9154b2797adf272e9837cc6d1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    # clean - Called by clean.sh before other services are cleaned, but after"},{"line_number":65,"context_line":"    # unstack.sh has been called."},{"line_number":66,"context_line":"        cleanup_cyborg"},{"line_number":67,"context_line":"\tuninstall_opae_packages"},{"line_number":68,"context_line":"    fi"},{"line_number":69,"context_line":"fi"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_389f214f","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":1},"updated":"2018-11-21 13:11:43.000000000","message":"tab","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f9e71c4fd4604756908a56a18cf5079c87575540","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    # clean - Called by clean.sh before other services are cleaned, but after"},{"line_number":65,"context_line":"    # unstack.sh has been called."},{"line_number":66,"context_line":"        cleanup_cyborg"},{"line_number":67,"context_line":"\tuninstall_opae_packages"},{"line_number":68,"context_line":"    fi"},{"line_number":69,"context_line":"fi"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_f8315e0a","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":1},"in_reply_to":"3f79a3b5_389f214f","updated":"2018-11-27 04:37:01.000000000","message":"Done","commit_id":"e991172cd5f37ca26478252e0448335f14cfae66"}]}
