)]}'
{"exercises/neutron-adv-test.sh":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b0c5cab38efb8b35f6b4f5a4473878e8ffd508aa","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba5da102_aa47061c","line":159,"updated":"2016-11-04 18:03:24.000000000","message":"this shows ResourceNotFound: No Network found for \u003cfoo\u003e when the network is not present, whereas before it returned an empty string. Is that what we want?","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"ce3a92820286f1349a6e4826d710252fed08f42e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a629dbe_fcb51831","line":159,"in_reply_to":"9a629dbe_61a32550","updated":"2016-11-08 15:53:10.000000000","message":"I don\u0027t really agree :) Using list to get all the networks followed by a grep is not elegant because we know in advance the network we are looking for. That\u0027s why I think \"show\" is better.\n\nI agree it\u0027s not consistent with the rest of the code but it\u0027s more efficient.","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"975fddca1dd0058e981dab4819ebe421597a7622","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a629dbe_0c2ae32c","line":159,"in_reply_to":"9a629dbe_b71c9b14","updated":"2016-11-14 00:47:00.000000000","message":"++ I like the idea of dropping the awk; that seems to use openstackclient more in the way it\u0027s intended","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"097d9c517ba03a2c2e7285de27fe19d570c87cfd","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a629dbe_b71c9b14","line":159,"in_reply_to":"9a629dbe_fcb51831","updated":"2016-11-08 16:12:49.000000000","message":"The error message, which is shown in case the network is not found, appears on stderr, so the result should still be the empty string.\n\nIf you want to be really elegant, you could use \"openstack network show -f value -c id $NETWORK_NAME\" and skip the \"| awk\" completely. That would also be more safe in case someone chose to call their network or availability_zone \"id\".","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"990eb61a0bc4bc9fe7e29fb6dabc9f0d3779b8ea","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a629dbe_61a32550","line":159,"in_reply_to":"ba5da102_3a2a5de8","updated":"2016-11-08 15:47:53.000000000","message":"OK. IMO we should keep these semantically equivalent; instead here we are switching a \u0027list\u0027 with a \u0027show\u0027, whereas everywhere else we\u0027re still using \u0027list\u0027. Mine was not an oversight. When I switched to using the openstack client from neutron, I did this intentionally.","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"666aa3528e36f258ddcf3b2813b4b4fe6a900a1c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"function get_network_id {"},{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show $NETWORK_NAME | awk \u0027/ id /{print $4}\u0027`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba5da102_3a2a5de8","line":159,"in_reply_to":"ba5da102_aa47061c","updated":"2016-11-04 23:31:08.000000000","message":"I think that\u0027s what we want. This function is called in functions that can\u0027t proceed happily if network_id is an empty string.\n\nAlso, are you sure about your comment ? I mean the \"awk\" part should return an empty string even if the network doesn\u0027t exist. (note that this script is not executed with set -o pipefail)","commit_id":"93fc312ce7cf0a806206f8f4acd40093fb90e828"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"2059a77678d6c9f702fe711a1979444d7efdee69","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show -f value -c id $NETWORK_NAME`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"function get_flavor_id {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_f66f43c1","line":160,"updated":"2016-11-20 22:46:10.000000000","message":"this seems to be doing nothing over just calling it inline","commit_id":"d038b60e65dcf6916445a03fe87a11a39c6516c8"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b571f272b29904b93fb9faf3e37018d592e153ae","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    local NETWORK_NAME\u003d\"$1\""},{"line_number":158,"context_line":"    local NETWORK_ID"},{"line_number":159,"context_line":"    NETWORK_ID\u003d`openstack network show -f value -c id $NETWORK_NAME`"},{"line_number":160,"context_line":"    echo $NETWORK_ID"},{"line_number":161,"context_line":"}"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"function get_flavor_id {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_ab10f9ac","line":160,"in_reply_to":"7a77a97e_f66f43c1","updated":"2016-11-21 09:52:58.000000000","message":"Indeed. It looks like it lacks a \"die_if_not_set\" statement, comparing with the get_user_id and get_flavor_id functions. I may consider a follow up patch.","commit_id":"d038b60e65dcf6916445a03fe87a11a39c6516c8"}],"tools/ping_neutron.sh":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"f1795beb0585e63ec2e053127def6bb748e9f30b","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# BUG: with duplicate network names, this fails pretty hard."},{"line_number":57,"context_line":"NET_ID\u003d$(openstack network show -f value -c id \"$NET_NAME\")"},{"line_number":58,"context_line":"PROBE_ID\u003d$(neutron-debug probe-list -c id -c network_id | grep \"$NET_ID\" | awk \u0027{print $2}\u0027 | head -n 1)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# This runs a command inside the specific netns"},{"line_number":61,"context_line":"NET_NS_CMD\u003d\"ip netns exec qprobe-$PROBE_ID\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"5a74a57a_efbeafac","line":58,"updated":"2016-11-28 20:59:59.000000000","message":"I don\u0027t believe we actually create the probe anymore, so maybe something we should remove soon.","commit_id":"d038b60e65dcf6916445a03fe87a11a39c6516c8"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"2059a77678d6c9f702fe711a1979444d7efdee69","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"# BUG: with duplicate network names, this fails pretty hard."},{"line_number":57,"context_line":"NET_ID\u003d$(openstack network show -f value -c id \"$NET_NAME\")"},{"line_number":58,"context_line":"PROBE_ID\u003d$(neutron-debug probe-list -c id -c network_id | grep \"$NET_ID\" | awk \u0027{print $2}\u0027 | head -n 1)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# This runs a command inside the specific netns"},{"line_number":61,"context_line":"NET_NS_CMD\u003d\"ip netns exec qprobe-$PROBE_ID\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_765c1319","line":58,"updated":"2016-11-20 22:46:10.000000000","message":"i also thought neturon-debug was deprecated, so there\u0027s probably better ways to do this too","commit_id":"d038b60e65dcf6916445a03fe87a11a39c6516c8"}]}
