)]}'
{"devstack/lib/ironic":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1dc72e669bee3d371b6ed2d5edf61a7ab0088c56","unresolved":false,"context_lines":[{"line_number":24,"context_line":"_XTRACE_IRONIC\u003d$(set +o | grep xtrace)"},{"line_number":25,"context_line":"_PIPEFAIL_IRONIC\u003d$(set +o | grep pipefail)"},{"line_number":26,"context_line":"set +o xtrace"},{"line_number":27,"context_line":"set +o pipefail"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Defaults"},{"line_number":30,"context_line":"# --------"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_9f01b908","line":27,"updated":"2016-02-12 15:24:44.000000000","message":"I thought this pipefail bit is supposed to fix it..","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"b37055249eeccea290059cbec7cff8ec607a9365","unresolved":false,"context_lines":[{"line_number":24,"context_line":"_XTRACE_IRONIC\u003d$(set +o | grep xtrace)"},{"line_number":25,"context_line":"_PIPEFAIL_IRONIC\u003d$(set +o | grep pipefail)"},{"line_number":26,"context_line":"set +o xtrace"},{"line_number":27,"context_line":"set +o pipefail"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Defaults"},{"line_number":30,"context_line":"# --------"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_a6857fcf","line":27,"in_reply_to":"3a57f1b5_9f01b908","updated":"2016-02-12 21:10:00.000000000","message":"It seems like pipefail just allows you to find out the error code if any command in the pipe did fail.\n\nFrom bash manpage:\n\nThe return status of a pipeline is the exit status of the last command, unless\nthe pipefail option is enabled.  If pipefail is enabled, the pipeline\u0027s return\nstatus is the value of the last  (right‐ most) command to exit with a non-zero\nstatus, or zero if all commands exit successfully.  If the reserved word !\nprecedes a pipeline, the exit status of that pipeline is the logical negation\nof the exit status as described above.  The shell waits for all commands in the\npipeline to terminate before returning a value.","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cfcf1fc3011072b1ec00837669973a90ad7e12a3","unresolved":false,"context_lines":[{"line_number":523,"context_line":""},{"line_number":524,"context_line":"function create_ovs_taps {"},{"line_number":525,"context_line":"    local ironic_net_id"},{"line_number":526,"context_line":"    ironic_net_id\u003d$(neutron net-list | grep private | get_field 1)"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"    # Work around: No netns exists on host until a Neutron port is created.  We"},{"line_number":529,"context_line":"    # need to create one in Neutron to know what netns to tap into prior to the"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_27f53056","line":526,"updated":"2016-02-12 10:22:48.000000000","message":"here","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cfcf1fc3011072b1ec00837669973a90ad7e12a3","unresolved":false,"context_lines":[{"line_number":529,"context_line":"    # need to create one in Neutron to know what netns to tap into prior to the"},{"line_number":530,"context_line":"    # first node booting."},{"line_number":531,"context_line":"    local port_id"},{"line_number":532,"context_line":"    port_id\u003d$(neutron port-create private | grep \" id \" | get_field 2)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    # intentional sleep to make sure the tag has been set to port"},{"line_number":535,"context_line":"    sleep 10"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_c7e53ca4","line":532,"updated":"2016-02-12 10:22:48.000000000","message":"here","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cfcf1fc3011072b1ec00837669973a90ad7e12a3","unresolved":false,"context_lines":[{"line_number":535,"context_line":"    sleep 10"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    local tapdev"},{"line_number":538,"context_line":"    tapdev\u003d$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep \" tap\" | cut -d\u0027:\u0027 -f2 | cut -d\u0027@\u0027 -f1 | cut -b2-)"},{"line_number":539,"context_line":"    local tag_id"},{"line_number":540,"context_line":"    tag_id\u003d$(sudo ovs-vsctl show |grep ${tapdev} -A1 -m1 | grep tag | cut -d\u0027:\u0027 -f2 | cut -b2-)"},{"line_number":541,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_47faac44","line":538,"updated":"2016-02-12 10:22:48.000000000","message":"here","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cfcf1fc3011072b1ec00837669973a90ad7e12a3","unresolved":false,"context_lines":[{"line_number":537,"context_line":"    local tapdev"},{"line_number":538,"context_line":"    tapdev\u003d$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep \" tap\" | cut -d\u0027:\u0027 -f2 | cut -d\u0027@\u0027 -f1 | cut -b2-)"},{"line_number":539,"context_line":"    local tag_id"},{"line_number":540,"context_line":"    tag_id\u003d$(sudo ovs-vsctl show |grep ${tapdev} -A1 -m1 | grep tag | cut -d\u0027:\u0027 -f2 | cut -b2-)"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"    # make sure veth pair is not existing, otherwise delete its links"},{"line_number":543,"context_line":"    sudo ip link show ovs-tap1 \u0026\u0026 sudo ip link delete ovs-tap1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_279c500e","line":540,"updated":"2016-02-12 10:22:48.000000000","message":"here","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cfcf1fc3011072b1ec00837669973a90ad7e12a3","unresolved":false,"context_lines":[{"line_number":869,"context_line":"        --public --disk-format\u003daki \\"},{"line_number":870,"context_line":"        --container-format\u003daki \\"},{"line_number":871,"context_line":"        \u003c $IRONIC_DEPLOY_KERNEL_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":872,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_KERNEL_ID \"Failed to image create kernel\""},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"    IRONIC_DEPLOY_RAMDISK_ID\u003d$(openstack \\"},{"line_number":875,"context_line":"        --os-token $token \\"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_a70b6029","line":872,"updated":"2016-02-12 10:22:48.000000000","message":"Hi John,\n\nDo we have a bug ticket for this problem? I see that we use subshell in many parts of this code (I added a comment \"here\" on some of them). \n\nI\u0027m not sure if I\u0027m totally convinced that an error in the subshell won\u0027t cause the script to exit (perhaps we should use set -e? If it\u0027s not set).","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"b37055249eeccea290059cbec7cff8ec607a9365","unresolved":false,"context_lines":[{"line_number":869,"context_line":"        --public --disk-format\u003daki \\"},{"line_number":870,"context_line":"        --container-format\u003daki \\"},{"line_number":871,"context_line":"        \u003c $IRONIC_DEPLOY_KERNEL_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":872,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_KERNEL_ID \"Failed to image create kernel\""},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"    IRONIC_DEPLOY_RAMDISK_ID\u003d$(openstack \\"},{"line_number":875,"context_line":"        --os-token $token \\"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a57f1b5_262aef90","line":872,"in_reply_to":"3a57f1b5_a70b6029","updated":"2016-02-12 21:10:00.000000000","message":"I\u0027ll work on a bug. I ran into this issue while testing stable/liberty. Still haven\u0027t quite figured out why I am getting an error. But thought I would propose a change here.","commit_id":"d5f63dea7b283921f434603a996ebec1859026e6"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"7821e8cb658a7c9b958af6fea09dfe00a4cce100","unresolved":false,"context_lines":[{"line_number":873,"context_line":"        --public --disk-format\u003daki \\"},{"line_number":874,"context_line":"        --container-format\u003daki \\"},{"line_number":875,"context_line":"        \u003c $IRONIC_DEPLOY_KERNEL_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":876,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_KERNEL_ID \"Failed to image create kernel\""},{"line_number":877,"context_line":""},{"line_number":878,"context_line":"    IRONIC_DEPLOY_RAMDISK_ID\u003d$(openstack \\"},{"line_number":879,"context_line":"        --os-token $token \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"bae84128_e0a4f04b","line":876,"range":{"start_line":876,"start_character":52,"end_line":876,"end_character":81},"updated":"2016-02-24 05:13:34.000000000","message":"nit: how about \"Failed to load kernel image into glance\"?","commit_id":"7a6ea096b21cae54014085e3bf2848376ca0b0a2"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6355d8cba6bb40e47650c414042ccaebb81ecce1","unresolved":false,"context_lines":[{"line_number":873,"context_line":"        --public --disk-format\u003daki \\"},{"line_number":874,"context_line":"        --container-format\u003daki \\"},{"line_number":875,"context_line":"        \u003c $IRONIC_DEPLOY_KERNEL_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":876,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_KERNEL_ID \"Failed to image create kernel\""},{"line_number":877,"context_line":""},{"line_number":878,"context_line":"    IRONIC_DEPLOY_RAMDISK_ID\u003d$(openstack \\"},{"line_number":879,"context_line":"        --os-token $token \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"bae84128_4377a69f","line":876,"range":{"start_line":876,"start_character":52,"end_line":876,"end_character":81},"in_reply_to":"bae84128_e0a4f04b","updated":"2016-02-24 05:20:18.000000000","message":"Done","commit_id":"7a6ea096b21cae54014085e3bf2848376ca0b0a2"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"7821e8cb658a7c9b958af6fea09dfe00a4cce100","unresolved":false,"context_lines":[{"line_number":883,"context_line":"        --public --disk-format\u003dari \\"},{"line_number":884,"context_line":"        --container-format\u003dari \\"},{"line_number":885,"context_line":"        \u003c $IRONIC_DEPLOY_RAMDISK_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":886,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_RAMDISK_ID \"Failed to image create ramdisk\""},{"line_number":887,"context_line":"}"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"function prepare_baremetal_basic_ops {"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"bae84128_606f40fc","line":886,"range":{"start_line":886,"start_character":53,"end_line":886,"end_character":83},"updated":"2016-02-24 05:13:34.000000000","message":"nit: how about \"Failed to load  ramdisk image into glance\"?","commit_id":"7a6ea096b21cae54014085e3bf2848376ca0b0a2"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6355d8cba6bb40e47650c414042ccaebb81ecce1","unresolved":false,"context_lines":[{"line_number":883,"context_line":"        --public --disk-format\u003dari \\"},{"line_number":884,"context_line":"        --container-format\u003dari \\"},{"line_number":885,"context_line":"        \u003c $IRONIC_DEPLOY_RAMDISK_PATH  | grep \u0027 id \u0027 | get_field 2)"},{"line_number":886,"context_line":"    die_if_not_set $LINENO IRONIC_DEPLOY_RAMDISK_ID \"Failed to image create ramdisk\""},{"line_number":887,"context_line":"}"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"function prepare_baremetal_basic_ops {"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"bae84128_237a6288","line":886,"range":{"start_line":886,"start_character":53,"end_line":886,"end_character":83},"in_reply_to":"bae84128_606f40fc","updated":"2016-02-24 05:20:18.000000000","message":"Done","commit_id":"7a6ea096b21cae54014085e3bf2848376ca0b0a2"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"421c2bee0af69b571407a4dba05c3095da0c754a","unresolved":false,"context_lines":[{"line_number":450,"context_line":"function init_ironic {"},{"line_number":451,"context_line":"    # Save private network as cleaning network"},{"line_number":452,"context_line":"    local cleaning_network_uuid"},{"line_number":453,"context_line":"    cleaning_network_uuid\u003d$(neutron net-list | grep private | get_field 1)"},{"line_number":454,"context_line":"    iniset $IRONIC_CONF_FILE neutron cleaning_network_uuid ${cleaning_network_uuid}"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"    # (Re)create  ironic database"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"bae84128_297c03eb","line":453,"range":{"start_line":453,"start_character":4,"end_line":453,"end_character":74},"updated":"2016-02-24 06:52:37.000000000","message":"should add die_if_not_set here as well like L527.","commit_id":"5984f2ef1d37bf4c68d939fbc50ff24c75adc3a5"}]}
