)]}'
{"functions-common":[{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":"function _ensure_lsb_release {"},{"line_number":284,"context_line":"    # can\u0027t use generic install_package* because they depend on this"},{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_dae5f937","line":285,"updated":"2015-12-03 10:00:09.000000000","message":"The following logic determines the package name from the presence of a particular installer tool. However, the typical installer tools are available for many distributions, beyond just those distributions that use them by default. For example, the standard Ubuntu repository contains yum. So on a system where more than one installer is present, this logic may break. I don\u0027t want to defend the idea to have multiple installers, but if the standard repo of a distribution provides an additional installer, it is a pretty safe bet that it is being used by someone. Maybe it is just installed but its repos are not set up correctly.\n\nInstead of this logic, I suggest the following:\n- For determining the package name for the lsb_release command, first determine the distribution via the /etc/*release files, and then set the package name  according to that distribution.\n- For installing the package, it is somehow a neat idea to check for the presence of installer tools, but I would have a better feeling if the default installer tool for a distribution would get precedence.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":"function _ensure_lsb_release {"},{"line_number":284,"context_line":"    # can\u0027t use generic install_package* because they depend on this"},{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_dc9364a2","line":285,"in_reply_to":"9a8ffd7b_dae5f937","updated":"2015-12-03 23:06:54.000000000","message":"devstack has to find a trade-off between being everything to everyone and actually being maintained.  i agree this should probably cover zypper since we have all the suse paths","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":283,"context_line":"function _ensure_lsb_release {"},{"line_number":284,"context_line":"    # can\u0027t use generic install_package* because they depend on this"},{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_97074cc9","line":286,"updated":"2015-12-03 10:00:09.000000000","message":"The check for apt-get should be done based upon path search (like the check for lsb_release), just in case some distribution puts it into a different tree.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":283,"context_line":"function _ensure_lsb_release {"},{"line_number":284,"context_line":"    # can\u0027t use generic install_package* because they depend on this"},{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_3ce9481b","line":286,"in_reply_to":"9a8ffd7b_97074cc9","updated":"2015-12-03 23:06:54.000000000","message":"Done","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""},{"line_number":290,"context_line":"            local lsb_pkg\u003dlsb"},{"line_number":291,"context_line":"            if [ -f /etc/redhat-release ]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_7710a800","line":288,"updated":"2015-12-03 10:00:09.000000000","message":"The check for yum should be done based upon path search (like the check for lsb_release), just in case some distribution puts it into a different tree.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    if [[ ! -x $(which lsb_release 2\u003e/dev/null) ]]; then"},{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""},{"line_number":290,"context_line":"            local lsb_pkg\u003dlsb"},{"line_number":291,"context_line":"            if [ -f /etc/redhat-release ]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_5cee9423","line":288,"in_reply_to":"9a8ffd7b_7710a800","updated":"2015-12-03 23:06:54.000000000","message":"Done","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""},{"line_number":290,"context_line":"            local lsb_pkg\u003dlsb"},{"line_number":291,"context_line":"            if [ -f /etc/redhat-release ]; then"},{"line_number":292,"context_line":"                # all rh patforms (fedora, centos, rhel) have this pkg"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_5724845e","line":289,"updated":"2015-12-03 10:00:09.000000000","message":"SUSE does not have yum, but instead zypper.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        if [ -x /usr/bin/apt-get ]; then"},{"line_number":287,"context_line":"            sudo apt-get install -y lsb-release"},{"line_number":288,"context_line":"        elif [ -x /usr/bin/yum ]; then"},{"line_number":289,"context_line":"            # suse calls it just \"lsb\""},{"line_number":290,"context_line":"            local lsb_pkg\u003dlsb"},{"line_number":291,"context_line":"            if [ -f /etc/redhat-release ]; then"},{"line_number":292,"context_line":"                # all rh patforms (fedora, centos, rhel) have this pkg"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_fcf2e005","line":289,"in_reply_to":"9a8ffd7b_5724845e","updated":"2015-12-03 23:06:54.000000000","message":"Done","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"0193313a63074aec5cdc7b2322103a24407a7a31","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    fi"},{"line_number":300,"context_line":"}"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"function _get_version_osx {"},{"line_number":303,"context_line":"    os_VENDOR\u003d$(sw_vers -productName)"},{"line_number":304,"context_line":"    os_RELEASE\u003d$(sw_vers -productVersion)"},{"line_number":305,"context_line":"    os_PACKAGE\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_d42e2542","line":302,"updated":"2015-12-03 12:38:02.000000000","message":"we 100% don\u0027t care about this, so if we are refactoring, we should dump this.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"95ac1ab613bc15a1639105c97d0e2f78bdff5156","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    fi"},{"line_number":300,"context_line":"}"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"function _get_version_osx {"},{"line_number":303,"context_line":"    os_VENDOR\u003d$(sw_vers -productName)"},{"line_number":304,"context_line":"    os_RELEASE\u003d$(sw_vers -productVersion)"},{"line_number":305,"context_line":"    os_PACKAGE\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_bd3f8bd5","line":302,"in_reply_to":"9a8ffd7b_d42e2542","updated":"2015-12-03 16:22:43.000000000","message":"Sure.  We long ago lost the ability to run the DevStack tests on OS/X, which is primarily why this survived as long as it did.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"95ac1ab613bc15a1639105c97d0e2f78bdff5156","unresolved":false,"context_lines":[{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    # for linux-based distros, we only rely on lsb_release rather than"},{"line_number":337,"context_line":"    # parsing individual release files, etc, which has proven to be"},{"line_number":338,"context_line":"    # unreliable"},{"line_number":339,"context_line":"    _ensure_lsb_release"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    os_RELEASE\u003d$(lsb_release -r -s)"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_5db0e78b","line":338,"updated":"2015-12-03 16:22:43.000000000","message":"I\u0027m not sure I agree with this statement.\n\nDo any of the distros that do not assume LSB is installed have another supported way to reliably determine which release/version is installed?  At the time I wrote this (before DevStack BTW) the release files/LSB _was_ the way to do that.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    # for linux-based distros, we only rely on lsb_release rather than"},{"line_number":337,"context_line":"    # parsing individual release files, etc, which has proven to be"},{"line_number":338,"context_line":"    # unreliable"},{"line_number":339,"context_line":"    _ensure_lsb_release"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    os_RELEASE\u003d$(lsb_release -r -s)"},{"line_number":342,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_1d6b7bb8","line":339,"updated":"2015-12-03 10:00:09.000000000","message":"You assume there is lsb_release for every distribution. That is not the case. The current code covers only a small subset of Linux distributions.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    # for linux-based distros, we only rely on lsb_release rather than"},{"line_number":337,"context_line":"    # parsing individual release files, etc, which has proven to be"},{"line_number":338,"context_line":"    # unreliable"},{"line_number":339,"context_line":"    _ensure_lsb_release"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    os_RELEASE\u003d$(lsb_release -r -s)"},{"line_number":342,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_bc68d8bb","line":339,"in_reply_to":"9a8ffd7b_1d6b7bb8","updated":"2015-12-03 23:06:54.000000000","message":"devstack only supports a small subset of linux distributions.  ubuntu, fedora/centos \u0026 maybe suse, although i suspect that\u0027s in semi-permanent bitrot","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    os_VENDOR\u003d$(lsb_release -i -s)"},{"line_number":345,"context_line":"    if [[ \"SUSE LINUX\" \u003d~ $os_VENDOR ]]; then"},{"line_number":346,"context_line":"        if lsb_release -d -s | grep -q openSUSE ; then"},{"line_number":347,"context_line":"            os_VENDOR\u003d\"openSUSE\""},{"line_number":348,"context_line":"        fi"},{"line_number":349,"context_line":"    elif [[ $os_VENDOR \u003d\u003d \"openSUSE project\" ]]; then"},{"line_number":350,"context_line":"        os_VENDOR\u003d\"openSUSE\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_9d39aba6","line":347,"updated":"2015-12-03 10:00:09.000000000","message":"Why do you not trust that lsb_release returns something meaningful for the vendor?","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    os_VENDOR\u003d$(lsb_release -i -s)"},{"line_number":345,"context_line":"    if [[ \"SUSE LINUX\" \u003d~ $os_VENDOR ]]; then"},{"line_number":346,"context_line":"        if lsb_release -d -s | grep -q openSUSE ; then"},{"line_number":347,"context_line":"            os_VENDOR\u003d\"openSUSE\""},{"line_number":348,"context_line":"        fi"},{"line_number":349,"context_line":"    elif [[ $os_VENDOR \u003d\u003d \"openSUSE project\" ]]; then"},{"line_number":350,"context_line":"        os_VENDOR\u003d\"openSUSE\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_fc08a02a","line":347,"in_reply_to":"9a8ffd7b_9d39aba6","updated":"2015-12-03 23:06:54.000000000","message":"I don\u0027t know, it was like that when I got here.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        if lsb_release -d -s | grep -q openSUSE ; then"},{"line_number":347,"context_line":"            os_VENDOR\u003d\"openSUSE\""},{"line_number":348,"context_line":"        fi"},{"line_number":349,"context_line":"    elif [[ $os_VENDOR \u003d\u003d \"openSUSE project\" ]]; then"},{"line_number":350,"context_line":"        os_VENDOR\u003d\"openSUSE\""},{"line_number":351,"context_line":"    elif [[ $os_VENDOR \u003d~ Red.*Hat ]]; then"},{"line_number":352,"context_line":"        os_VENDOR\u003d\"Red Hat\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_7d42c710","line":349,"updated":"2015-12-03 10:00:09.000000000","message":"Why do you not trust that lsb_release returns something meaningful for the vendor?","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        fi"},{"line_number":349,"context_line":"    elif [[ $os_VENDOR \u003d\u003d \"openSUSE project\" ]]; then"},{"line_number":350,"context_line":"        os_VENDOR\u003d\"openSUSE\""},{"line_number":351,"context_line":"    elif [[ $os_VENDOR \u003d~ Red.*Hat ]]; then"},{"line_number":352,"context_line":"        os_VENDOR\u003d\"Red Hat\""},{"line_number":353,"context_line":"    fi"},{"line_number":354,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_3d499f31","line":351,"updated":"2015-12-03 10:00:09.000000000","message":"Why do you not trust that lsb_release returns something meaningful for the vendor?","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    fi"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    if [[ $os_VENDOR \u003d~ (Debian|Ubuntu|LinuxMint) ]]; then"},{"line_number":356,"context_line":"        os_PACKAGE\u003d\"deb\""},{"line_number":357,"context_line":"    else"},{"line_number":358,"context_line":"        os_PACKAGE\u003d\"rpm\""},{"line_number":359,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_9d2e8b41","line":356,"updated":"2015-12-03 10:00:09.000000000","message":"That way of determining deb vs rpm is inconsistent with the approach to check for the installer tool.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (openSUSE) ]]; then"},{"line_number":377,"context_line":"        DISTRO\u003d\"opensuse-$os_RELEASE\""},{"line_number":378,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":379,"context_line":"        DISTRO\u003d\"sle${os_RELEASE}\""},{"line_number":380,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"},{"line_number":381,"context_line":"        \"$os_VENDOR\" \u003d~ (CentOS) || \\"},{"line_number":382,"context_line":"        \"$os_VENDOR\" \u003d~ (OracleLinux) ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_7ae96d7e","line":379,"updated":"2015-12-03 10:00:09.000000000","message":"Removing the service pack from this value is an incompatible change. Did you check with all users of the function?\nAlso, neither RedHat nor SUSE guarantee that point releases or service packs are compatible.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (openSUSE) ]]; then"},{"line_number":377,"context_line":"        DISTRO\u003d\"opensuse-$os_RELEASE\""},{"line_number":378,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":379,"context_line":"        DISTRO\u003d\"sle${os_RELEASE}\""},{"line_number":380,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"},{"line_number":381,"context_line":"        \"$os_VENDOR\" \u003d~ (CentOS) || \\"},{"line_number":382,"context_line":"        \"$os_VENDOR\" \u003d~ (OracleLinux) ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_5936a604","line":379,"in_reply_to":"9a8ffd7b_7ae96d7e","updated":"2015-12-03 23:06:54.000000000","message":"Nobody could be using it, because it was set to blank with the \"lsb_release\" path of this code.  \n\nIf someone wants to check the minor versions, they should write a specific function that just parses os_RELEASE.  Why would we assume that every distro uses MAJOR.MINOR anyway?  e.g. centos which has MAJOR.MINOR-DATE.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"2f21a77056878adf049b7f2d543bbda6c5d0d63b","unresolved":false,"context_lines":[{"line_number":385,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (XenServer) ]]; then"},{"line_number":386,"context_line":"        DISTRO\u003d\"xs$os_RELEASE\""},{"line_number":387,"context_line":"    else"},{"line_number":388,"context_line":"        die $LINENO \"Unable to determine DISTRO\""},{"line_number":389,"context_line":"    fi"},{"line_number":390,"context_line":"    export DISTRO"},{"line_number":391,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a8ffd7b_fdb23748","line":388,"updated":"2015-12-03 10:00:09.000000000","message":"The old code generically returns the os_* values as determined by GetOSVersion. I don\u0027t think there is anything wrong with that. You have reduced the set of distributions unnecessarily with this.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"3472b205e903275e3da13c3bdd813dd82ad54279","unresolved":false,"context_lines":[{"line_number":385,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (XenServer) ]]; then"},{"line_number":386,"context_line":"        DISTRO\u003d\"xs$os_RELEASE\""},{"line_number":387,"context_line":"    else"},{"line_number":388,"context_line":"        die $LINENO \"Unable to determine DISTRO\""},{"line_number":389,"context_line":"    fi"},{"line_number":390,"context_line":"    export DISTRO"},{"line_number":391,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_b90c6a43","line":388,"in_reply_to":"7a740942_483103ec","updated":"2015-12-03 23:06:54.000000000","message":"This is highly unlikely because *all* CI running via devstack-gate has had lsb_release pre-installed so this path is never hit.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"95ac1ab613bc15a1639105c97d0e2f78bdff5156","unresolved":false,"context_lines":[{"line_number":385,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (XenServer) ]]; then"},{"line_number":386,"context_line":"        DISTRO\u003d\"xs$os_RELEASE\""},{"line_number":387,"context_line":"    else"},{"line_number":388,"context_line":"        die $LINENO \"Unable to determine DISTRO\""},{"line_number":389,"context_line":"    fi"},{"line_number":390,"context_line":"    export DISTRO"},{"line_number":391,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7a740942_483103ec","line":388,"in_reply_to":"9a8ffd7b_fdb23748","updated":"2015-12-03 16:22:43.000000000","message":"Agreed, there are likely assumptions about that scattered about the code.","commit_id":"7e962d5143841deed1c2f233700a0befa6a5a110"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"3a7ea8fa5374ed046f2964d89b01d9bfbceb7293","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Fedora) ]]; then"},{"line_number":355,"context_line":"        # For Fedora, just use \u0027f\u0027 and the release"},{"line_number":356,"context_line":"        DISTRO\u003d\"f$os_RELEASE\""},{"line_number":357,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":358,"context_line":"        # just use major release"},{"line_number":359,"context_line":"        DISTRO\u003d\"sle${os_RELEASE%.*}\""},{"line_number":360,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7a740942_64b82ec9","line":357,"updated":"2015-12-07 12:41:06.000000000","message":"Might cause the same issue as described in my comment on line 360.  I suggest to double check on SLES and openSUSE.","commit_id":"3055dbb64b480f6121abc15af6889d8ad3cf08d2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b36b6c040be9a3dfd4269b86dfb80f7d01a5e429","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Fedora) ]]; then"},{"line_number":355,"context_line":"        # For Fedora, just use \u0027f\u0027 and the release"},{"line_number":356,"context_line":"        DISTRO\u003d\"f$os_RELEASE\""},{"line_number":357,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":358,"context_line":"        # just use major release"},{"line_number":359,"context_line":"        DISTRO\u003d\"sle${os_RELEASE%.*}\""},{"line_number":360,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7a740942_d8eafe73","line":357,"in_reply_to":"7a740942_64b82ec9","updated":"2015-12-08 04:25:06.000000000","message":"We\u0027ve only ever carried some DISTRO matching for \"slesXX\" in the package installs in all the time i\u0027ve known devstack (thankfully gone now that we install more from pip)\n\nit seems opensuse has been replaced as a distro with \"leap\"\n\nSo I think it\u0027s safe to say we don\u0027t support openSUSE.  But I should also remove the other references to it and call it out in the change log","commit_id":"3055dbb64b480f6121abc15af6889d8ad3cf08d2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7eb1f70078d945a1a7aa9f42c6d9d4f001cd04cf","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Fedora) ]]; then"},{"line_number":355,"context_line":"        # For Fedora, just use \u0027f\u0027 and the release"},{"line_number":356,"context_line":"        DISTRO\u003d\"f$os_RELEASE\""},{"line_number":357,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":358,"context_line":"        # just use major release"},{"line_number":359,"context_line":"        DISTRO\u003d\"sle${os_RELEASE%.*}\""},{"line_number":360,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7a740942_b8b37299","line":357,"in_reply_to":"7a740942_d8eafe73","updated":"2015-12-08 04:27:40.000000000","message":"actually, i take that back, seems there are some opensuses, and they use the full release.  can put that back in","commit_id":"3055dbb64b480f6121abc15af6889d8ad3cf08d2"},{"author":{"_account_id":11351,"name":"Andreas Maier","email":"maiera@de.ibm.com","username":"maiera"},"change_message_id":"3a7ea8fa5374ed046f2964d89b01d9bfbceb7293","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":358,"context_line":"        # just use major release"},{"line_number":359,"context_line":"        DISTRO\u003d\"sle${os_RELEASE%.*}\""},{"line_number":360,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"},{"line_number":361,"context_line":"        \"$os_VENDOR\" \u003d~ (CentOS) || \\"},{"line_number":362,"context_line":"        \"$os_VENDOR\" \u003d~ (OracleLinux) ]]; then"},{"line_number":363,"context_line":"        # Drop the . release as we assume it\u0027s compatible"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7a740942_c471e245","line":360,"updated":"2015-12-07 12:41:06.000000000","message":"I suggest to double check this on a number of different RedHat-based platforms. For example, on RHEL 6.7, os_VENDOR is \"RedHatEnterpriseWorkstation\", because it does not have an /etc/lsb-release file and then constructs the ID from the distro name in /etc/redhat-release, removing any blanks (and, as it seems, the word \"Linux\"). That value would not match the expression in the line above (line 360).","commit_id":"3055dbb64b480f6121abc15af6889d8ad3cf08d2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b36b6c040be9a3dfd4269b86dfb80f7d01a5e429","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"},{"line_number":358,"context_line":"        # just use major release"},{"line_number":359,"context_line":"        DISTRO\u003d\"sle${os_RELEASE%.*}\""},{"line_number":360,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (Red Hat) || \\"},{"line_number":361,"context_line":"        \"$os_VENDOR\" \u003d~ (CentOS) || \\"},{"line_number":362,"context_line":"        \"$os_VENDOR\" \u003d~ (OracleLinux) ]]; then"},{"line_number":363,"context_line":"        # Drop the . release as we assume it\u0027s compatible"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7a740942_f82c9a03","line":360,"in_reply_to":"7a740942_c471e245","updated":"2015-12-08 04:25:06.000000000","message":"You\u0027re right, this should be Red.*Hat which will match","commit_id":"3055dbb64b480f6121abc15af6889d8ad3cf08d2"}]}
