)]}'
{"functions-common":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9bb5aa954c61857a48347492b4cb860a78beaae3","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        DISTRO\u003d\"opensuse-$os_RELEASE\""},{"line_number":376,"context_line":"        # Tumbleweed uses \"n/a\" as a codename, and the release is a datestring"},{"line_number":377,"context_line":"        # like 20180218, so not very useful. Leap however uses a release"},{"line_number":378,"context_line":"        # with a \"dot\", so for example 15.0"},{"line_number":379,"context_line":"        [ \"$os_CODENAME\" \u003d \"n/a\" -a \"$os_RELEASE\" \u003d \"${os_RELEASE/\\./}\" ] \u0026\u0026 \\"},{"line_number":380,"context_line":"            DISTRO\u003d\"opensuse-tumbleweed\""},{"line_number":381,"context_line":"    elif [[ \"$os_VENDOR\" \u003d~ (SUSE LINUX) ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"3f79a3b5_acfb0546","line":378,"updated":"2018-09-28 01:59:12.000000000","message":"so Leap still uses \"n/a\", but if the os_RELEASE has a \".\" in it, then it\u0027s tumbleweed, otherwise ignore it ... geez it gets confusing","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d028b5280df4e9afa4eca0e4297466ea0585cb5b","unresolved":false,"context_lines":[{"line_number":1378,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\""},{"line_number":1379,"context_line":"    $sudo http_proxy\u003d\"${http_proxy:-}\" https_proxy\u003d\"${https_proxy:-}\" \\"},{"line_number":1380,"context_line":"        no_proxy\u003d\"${no_proxy:-}\" \\"},{"line_number":1381,"context_line":"        zypper --non-interactive install --auto-agree-with-licenses --no-recommends \"$@\""},{"line_number":1382,"context_line":"}"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"function write_user_unit_file {"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"3f79a3b5_b1f9404f","line":1381,"range":{"start_line":1381,"start_character":67,"end_line":1381,"end_character":84},"updated":"2018-09-26 17:02:12.000000000","message":"Why do we need to specify this option here?\nI cannot get the reason from the commit message.","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":1378,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\""},{"line_number":1379,"context_line":"    $sudo http_proxy\u003d\"${http_proxy:-}\" https_proxy\u003d\"${https_proxy:-}\" \\"},{"line_number":1380,"context_line":"        no_proxy\u003d\"${no_proxy:-}\" \\"},{"line_number":1381,"context_line":"        zypper --non-interactive install --auto-agree-with-licenses --no-recommends \"$@\""},{"line_number":1382,"context_line":"}"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"function write_user_unit_file {"}],"source_content_type":"application/x-shellscript","patch_set":18,"id":"3f79a3b5_9f30c208","line":1381,"range":{"start_line":1381,"start_character":67,"end_line":1381,"end_character":84},"in_reply_to":"3f79a3b5_b1f9404f","updated":"2018-09-27 06:56:41.000000000","message":"I\u0027m not the author but I guess that\u0027s to avoid to download unnecessary packages, a good explanation about recommends in openSUSE here https://www.reddit.com/r/openSUSE/comments/6puc7k/recommended_packages/","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"}],"stack.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ca4a91b2f0262fdedec36d1dac97ae4a9b840e8c","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"if [ -x /usr/sbin/aa-enabled ] \u0026\u0026 sudo /usr/sbin/aa-enabled -q; then"},{"line_number":133,"context_line":"    set +o xtrace"},{"line_number":134,"context_line":"    echo \"DevStack should not be run with AppArmor enabled.\""},{"line_number":135,"context_line":"    echo \"\""},{"line_number":136,"context_line":"    echo \"Allowing you to continue for now, you have been warned\""},{"line_number":137,"context_line":"    # TODO(dmllr) Enable 2019/01"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_661d7061","line":134,"updated":"2018-09-24 07:20:09.000000000","message":"Is this just for suse or will this affect other platforms, too? In the latter case moving the apparmor stuff into a separate patch might be better.","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"if [ -x /usr/sbin/aa-enabled ] \u0026\u0026 sudo /usr/sbin/aa-enabled -q; then"},{"line_number":133,"context_line":"    set +o xtrace"},{"line_number":134,"context_line":"    echo \"DevStack should not be run with AppArmor enabled.\""},{"line_number":135,"context_line":"    echo \"\""},{"line_number":136,"context_line":"    echo \"Allowing you to continue for now, you have been warned\""},{"line_number":137,"context_line":"    # TODO(dmllr) Enable 2019/01"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_265bf855","line":134,"in_reply_to":"3f79a3b5_661d7061","updated":"2018-09-27 06:56:41.000000000","message":"https://review.openstack.org/#/c/604696","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ca4a91b2f0262fdedec36d1dac97ae4a9b840e8c","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"# Warn users who aren\u0027t on an explicitly supported distro, but allow them to"},{"line_number":232,"context_line":"# override check and attempt installation with ``FORCE\u003dyes ./stack``"},{"line_number":233,"context_line":"if [[ ! ${DISTRO} \u003d~ (xenial|artful|bionic|stretch|jessie|f27|f28|opensuse-42.3|opensuse-15.0|opensuse-tumbleweed|rhel7) ]]; then"},{"line_number":234,"context_line":"    echo \"WARNING: this script has not been tested on $DISTRO\""},{"line_number":235,"context_line":"    if [[ \"$FORCE\" !\u003d \"yes\" ]]; then"},{"line_number":236,"context_line":"        die $LINENO \"If you wish to run this script anyway run with FORCE\u003dyes\""}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_6046b77e","line":233,"updated":"2018-09-24 07:20:09.000000000","message":"Can we drop opensuse-42.3 at this point, then?","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"# Warn users who aren\u0027t on an explicitly supported distro, but allow them to"},{"line_number":232,"context_line":"# override check and attempt installation with ``FORCE\u003dyes ./stack``"},{"line_number":233,"context_line":"if [[ ! ${DISTRO} \u003d~ (xenial|artful|bionic|stretch|jessie|f27|f28|opensuse-42.3|opensuse-15.0|opensuse-tumbleweed|rhel7) ]]; then"},{"line_number":234,"context_line":"    echo \"WARNING: this script has not been tested on $DISTRO\""},{"line_number":235,"context_line":"    if [[ \"$FORCE\" !\u003d \"yes\" ]]; then"},{"line_number":236,"context_line":"        die $LINENO \"If you wish to run this script anyway run with FORCE\u003dyes\""}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_06527c36","line":233,"in_reply_to":"3f79a3b5_6046b77e","updated":"2018-09-27 06:56:41.000000000","message":"to allow a smooth migration, if possible, we would like to have both for some time.","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ca4a91b2f0262fdedec36d1dac97ae4a9b840e8c","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"if is_service_enabled neutron; then"},{"line_number":1146,"context_line":"    echo_summary \"Configuring Neutron\""},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"    # If apparmor is used, unchain haproxy"},{"line_number":1149,"context_line":"    if [ -e /etc/apparmor.d/usr.sbin.haproxy ]; then"},{"line_number":1150,"context_line":"        install_package apparmor-utils"},{"line_number":1151,"context_line":"        sudo /usr/sbin/aa-disable /usr/sbin/haproxy || :"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_40361b05","line":1148,"updated":"2018-09-24 07:20:09.000000000","message":"I\u0027m not convinced that this is directly related to neutron, can we move it to a more generic place?\n\nAlso wrap it in a \"if is_suse\" block?","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"if is_service_enabled neutron; then"},{"line_number":1146,"context_line":"    echo_summary \"Configuring Neutron\""},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"    # If apparmor is used, unchain haproxy"},{"line_number":1149,"context_line":"    if [ -e /etc/apparmor.d/usr.sbin.haproxy ]; then"},{"line_number":1150,"context_line":"        install_package apparmor-utils"},{"line_number":1151,"context_line":"        sudo /usr/sbin/aa-disable /usr/sbin/haproxy || :"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_a62ce8b2","line":1148,"in_reply_to":"3f79a3b5_40361b05","updated":"2018-09-27 06:56:41.000000000","message":"https://review.openstack.org/#/c/604696","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ca4a91b2f0262fdedec36d1dac97ae4a9b840e8c","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"        sudo ps h -o pid,ppid -C dnsmasq | grep -v $netman_pid | awk \u0027{print $1}\u0027 | sudo xargs kill || true"},{"line_number":1172,"context_line":"    fi"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"    # If apparmor is used, unchain dnsmasq"},{"line_number":1175,"context_line":"    if [ -e /etc/apparmor.d/usr.sbin.dnsmasq ]; then"},{"line_number":1176,"context_line":"        install_package apparmor-utils"},{"line_number":1177,"context_line":"        sudo /usr/sbin/aa-disable /usr/sbin/dnsmasq || :"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_c029cb9c","line":1174,"updated":"2018-09-24 07:20:09.000000000","message":"dito","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"        sudo ps h -o pid,ppid -C dnsmasq | grep -v $netman_pid | awk \u0027{print $1}\u0027 | sudo xargs kill || true"},{"line_number":1172,"context_line":"    fi"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"    # If apparmor is used, unchain dnsmasq"},{"line_number":1175,"context_line":"    if [ -e /etc/apparmor.d/usr.sbin.dnsmasq ]; then"},{"line_number":1176,"context_line":"        install_package apparmor-utils"},{"line_number":1177,"context_line":"        sudo /usr/sbin/aa-disable /usr/sbin/dnsmasq || :"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_6636d005","line":1174,"in_reply_to":"3f79a3b5_c029cb9c","updated":"2018-09-27 06:56:41.000000000","message":"https://review.openstack.org/#/c/604696","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d028b5280df4e9afa4eca0e4297466ea0585cb5b","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"# Warn users who aren\u0027t on an explicitly supported distro, but allow them to"},{"line_number":245,"context_line":"# override check and attempt installation with ``FORCE\u003dyes ./stack``"},{"line_number":246,"context_line":"if [[ ! ${DISTRO} \u003d~ (xenial|artful|bionic|stretch|jessie|f27|f28|opensuse-42.3|opensuse-15.0|opensuse-tumbleweed|rhel7) ]]; then"},{"line_number":247,"context_line":"    echo \"WARNING: this script has not been tested on $DISTRO\""},{"line_number":248,"context_line":"    if [[ \"$FORCE\" !\u003d \"yes\" ]]; then"},{"line_number":249,"context_line":"        die $LINENO \"If you wish to run this script anyway run with FORCE\u003dyes\""}],"source_content_type":"text/x-sh","patch_set":18,"id":"3f79a3b5_f1d6d8c4","line":246,"range":{"start_line":246,"start_character":66,"end_line":246,"end_character":80},"updated":"2018-09-26 17:02:12.000000000","message":"Why do we need to keep this 42.3 still?","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"# Warn users who aren\u0027t on an explicitly supported distro, but allow them to"},{"line_number":245,"context_line":"# override check and attempt installation with ``FORCE\u003dyes ./stack``"},{"line_number":246,"context_line":"if [[ ! ${DISTRO} \u003d~ (xenial|artful|bionic|stretch|jessie|f27|f28|opensuse-42.3|opensuse-15.0|opensuse-tumbleweed|rhel7) ]]; then"},{"line_number":247,"context_line":"    echo \"WARNING: this script has not been tested on $DISTRO\""},{"line_number":248,"context_line":"    if [[ \"$FORCE\" !\u003d \"yes\" ]]; then"},{"line_number":249,"context_line":"        die $LINENO \"If you wish to run this script anyway run with FORCE\u003dyes\""}],"source_content_type":"text/x-sh","patch_set":18,"id":"3f79a3b5_ff09b631","line":246,"range":{"start_line":246,"start_character":66,"end_line":246,"end_character":80},"in_reply_to":"3f79a3b5_f1d6d8c4","updated":"2018-09-27 06:56:41.000000000","message":"in order to have a smooth transition, during some time both distros will be running in parallel","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d028b5280df4e9afa4eca0e4297466ea0585cb5b","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"    echo_summary \"Configuring Neutron\""},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"    configure_neutron"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"    # Run init_neutron only on the node hosting the Neutron API server"},{"line_number":1164,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled neutron; then"},{"line_number":1165,"context_line":"        init_neutron"}],"source_content_type":"text/x-sh","patch_set":18,"id":"3f79a3b5_b1e06099","line":1162,"updated":"2018-09-26 17:02:12.000000000","message":"nit: unrelated change.","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"    echo_summary \"Configuring Neutron\""},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"    configure_neutron"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"    # Run init_neutron only on the node hosting the Neutron API server"},{"line_number":1164,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled neutron; then"},{"line_number":1165,"context_line":"        init_neutron"}],"source_content_type":"text/x-sh","patch_set":18,"id":"3f79a3b5_ba182c76","line":1162,"in_reply_to":"3f79a3b5_b1e06099","updated":"2018-09-27 06:56:41.000000000","message":"leftover after splitting the original patch into 3 patches, however, I think that adding one blank line is more coherent with the rest of the script","commit_id":"f11bbce1317ff9d2a038eb56dd3da5fa7b142db5"}],"tools/fixup_stuff.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ca4a91b2f0262fdedec36d1dac97ae4a9b840e8c","unresolved":false,"context_lines":[{"line_number":228,"context_line":"# [2] https://bugzilla.redhat.com/show_bug.cgi?id\u003d1477823"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"function fixup_virtualenv {"},{"line_number":231,"context_line":"    if [[ $USE_PYTHON3 !\u003d \"True\" ]]; then"},{"line_number":232,"context_line":"        if [[ ! -f /etc/ci/mirror_info.sh ]]; then"},{"line_number":233,"context_line":"            install_package python-virtualenv"},{"line_number":234,"context_line":"            pip_install -U --force-reinstall virtualenv"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_260e9833","line":231,"updated":"2018-09-24 07:20:09.000000000","message":"It is not clear to me how this is suse-related. If this is a generic fix, we\u0027d probably want it in a separate patch.","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"},{"author":{"_account_id":19307,"name":"Antonio Ojea","email":"antonio.ojea.garcia@gmail.com","username":"itsuugo"},"change_message_id":"31541c29ffef03127768771bc3124f7865f32f2a","unresolved":false,"context_lines":[{"line_number":228,"context_line":"# [2] https://bugzilla.redhat.com/show_bug.cgi?id\u003d1477823"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"function fixup_virtualenv {"},{"line_number":231,"context_line":"    if [[ $USE_PYTHON3 !\u003d \"True\" ]]; then"},{"line_number":232,"context_line":"        if [[ ! -f /etc/ci/mirror_info.sh ]]; then"},{"line_number":233,"context_line":"            install_package python-virtualenv"},{"line_number":234,"context_line":"            pip_install -U --force-reinstall virtualenv"}],"source_content_type":"text/x-sh","patch_set":16,"id":"3f79a3b5_0627dcc9","line":231,"in_reply_to":"3f79a3b5_260e9833","updated":"2018-09-27 06:56:41.000000000","message":"Done","commit_id":"95ee87b5ca40849eb5ba61aa0269e3aa359fd9fd"}]}
