)]}'
{"devstack/lib/ironic":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2bb0e1bab1f3a76a9c436e975278a34e857ed733","unresolved":false,"context_lines":[{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1335,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1336,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts \\"},{"line_number":1337,"context_line":"            -p $vbmc_port -o $pdu_outlet -f $IRONIC_VM_SPECS_DISK_FORMAT $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1338,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1339,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ba2be162_497616a5","line":1336,"range":{"start_line":1336,"start_character":41,"end_line":1336,"end_character":43},"updated":"2017-03-02 20:59:49.000000000","message":"s/-b $IRONIC_VM_NETWORK_BRIDGE/-t $tapif ?","commit_id":"e86c7951a25c1b893bd1b71f2fd4ede5c8ee9fe4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"9b7e9cc9e56aa73a224d7e1cc670330b055f4ee0","unresolved":false,"context_lines":[{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1335,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1336,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts \\"},{"line_number":1337,"context_line":"            -p $vbmc_port -o $pdu_outlet -f $IRONIC_VM_SPECS_DISK_FORMAT $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1338,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1339,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ba2be162_dba8f08e","line":1336,"range":{"start_line":1336,"start_character":41,"end_line":1336,"end_character":43},"in_reply_to":"ba2be162_497616a5","updated":"2017-03-03 12:31:54.000000000","message":"whoops missed that part from the split! Done.","commit_id":"e86c7951a25c1b893bd1b71f2fd4ede5c8ee9fe4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6db8d77cc771c44d44a196868a6f6cb0b9fce0c4","unresolved":false,"context_lines":[{"line_number":1473,"context_line":"                local switch_id"},{"line_number":1474,"context_line":"                local port_id"},{"line_number":1475,"context_line":""},{"line_number":1476,"context_line":"                switch_info\u003d$(echo $hardware_info |awk \u0027{print $4}\u0027)"},{"line_number":1477,"context_line":"                switch_id\u003d$(echo $hardware_info |awk \u0027{print $5}\u0027)"},{"line_number":1478,"context_line":"                port_id\u003d$(echo $hardware_info |awk \u0027{print $6}\u0027)"},{"line_number":1479,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"ba2be162_6ca825dc","line":1476,"range":{"start_line":1476,"start_character":16,"end_line":1476,"end_character":27},"updated":"2017-03-03 14:54:33.000000000","message":"this field is incorrectly set, it should be OVS bridge name, not interface\nthe same is for port_id\n\nhttp://logs.openstack.org/19/440719/2/check/gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode-ubuntu-xenial/a31ebb8/logs/devstacklog.txt.gz#_2017-03-03_13_59_17_862\n\n\n{u\u0027switch_info\u0027: u\u0027tap-node-0\u0027, u\u0027port_id\u0027: u\u0027brbm\u0027 ...\n\nshould be \n\n{u\u0027switch_info\u0027: u\u0027brbm\u0027, u\u0027port_id\u0027: u\u0027tap-node-0\u0027","commit_id":"0b93bb8d27ee1d2ff1505eff8b79872cfd4d5980"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82f03162de44b3fd34ef27408d997b172e230725","unresolved":false,"context_lines":[{"line_number":1473,"context_line":"                local switch_id"},{"line_number":1474,"context_line":"                local port_id"},{"line_number":1475,"context_line":""},{"line_number":1476,"context_line":"                switch_info\u003d$(echo $hardware_info |awk \u0027{print $4}\u0027)"},{"line_number":1477,"context_line":"                switch_id\u003d$(echo $hardware_info |awk \u0027{print $5}\u0027)"},{"line_number":1478,"context_line":"                port_id\u003d$(echo $hardware_info |awk \u0027{print $6}\u0027)"},{"line_number":1479,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"ba2be162_b8df700b","line":1476,"range":{"start_line":1476,"start_character":16,"end_line":1476,"end_character":27},"in_reply_to":"ba2be162_6ca825dc","updated":"2017-03-06 13:57:26.000000000","message":"Done","commit_id":"0b93bb8d27ee1d2ff1505eff8b79872cfd4d5980"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c2b8d271f4c350d6ffb03d2d5ff4d40cfda4dcdd","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"    bridge_mac\u003d$(ip link show dev $IRONIC_VM_NETWORK_BRIDGE | egrep -o \"ether [A-Za-z0-9:]+\"|sed \"s/ether\\ //\")"},{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1377,"context_line":"        echo \"$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1378,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1379,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1380,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg) \\"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ffe62b97_2df14f6c","line":1377,"updated":"2017-03-27 15:49:12.000000000","message":"So there are two double quotes on this line. I think that is causing the error.\n\n2017-03-27 14:00:38.445 | /opt/stack/new/ironic/devstack/lib/ironic: line 1377: unexpected EOF while looking for matching `)\u0027","commit_id":"4abd0b734a574f2efa7c0a8fd2887c82a52fef5c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d91480f3232d1bd9d045939d59b823ad5d4ffb64","unresolved":false,"context_lines":[{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    local create_cmd_result"},{"line_number":1377,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1378,"context_line":"        create_cmd_result\u003d$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\")"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ffe62b97_95f5f6ef","line":1378,"updated":"2017-03-27 20:01:26.000000000","message":"don\u0027t understand why it doesn\u0027t work at CI. It works locally and some job passed like pxe_snmp","commit_id":"6202225c6cb42de6ebea5ac304152943066f5df7"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5855e906230ca68434e82259923c265343b41eeb","unresolved":false,"context_lines":[{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    local create_cmd_result"},{"line_number":1377,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1378,"context_line":"        create_cmd_result\u003d$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\")"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ffe62b97_a6db207a","line":1378,"in_reply_to":"ffe62b97_2c45bf43","updated":"2017-03-28 06:51:09.000000000","message":"it strange because it works for me locally and passed on pxe_snmp job.\n\nhttp://logs.openstack.org/19/440719/9/check/gate-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa-ubuntu-xenial-nv/344f4a1/","commit_id":"6202225c6cb42de6ebea5ac304152943066f5df7"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"0e356c5cf88ad405a0691eaa554c2a0d9d82b156","unresolved":false,"context_lines":[{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    local create_cmd_result"},{"line_number":1377,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1378,"context_line":"        create_cmd_result\u003d$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\")"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ffe62b97_cc1f7359","line":1378,"in_reply_to":"ffe62b97_95f5f6ef","updated":"2017-03-27 22:11:16.000000000","message":"I wonder if it is because there is a TON of output being returned by create-node.sh.\n\nBecause of xtrace being on.","commit_id":"6202225c6cb42de6ebea5ac304152943066f5df7"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"1efcf5d1e9407e6e5460e8e21b330f09ddf58a7b","unresolved":false,"context_lines":[{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    local create_cmd_result"},{"line_number":1377,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1378,"context_line":"        create_cmd_result\u003d$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\")"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ffe62b97_18bf8faa","line":1378,"in_reply_to":"ffe62b97_a6db207a","updated":"2017-03-29 10:06:11.000000000","message":"This is the reason the code was written the way it was with the \" -- \u003canything else\u003e\", the create-node.sh script starts the vbmc instance for that node as a background process and even though that is a forking process you can\u0027t assign the output of a script that forks to a variable because it never \"finishes\".","commit_id":"6202225c6cb42de6ebea5ac304152943066f5df7"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"1ddbec3b0a826edb9bfc4491d77115d6cef8cd74","unresolved":false,"context_lines":[{"line_number":1375,"context_line":""},{"line_number":1376,"context_line":"    local create_cmd_result"},{"line_number":1377,"context_line":"    for vm_name in $(_ironic_bm_vm_names); do"},{"line_number":1378,"context_line":"        create_cmd_result\u003d$(sudo -E su $STACK_USER -c \"$IRONIC_SCRIPTS_DIR/create-node.sh -n $vm_name \\"},{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\")"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ffe62b97_2c45bf43","line":1378,"in_reply_to":"ffe62b97_cc1f7359","updated":"2017-03-27 22:12:27.000000000","message":"Though I guess that shouldn\u0027t be the reason. Since it worked before.","commit_id":"6202225c6cb42de6ebea5ac304152943066f5df7"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"cf97e21c84ebbe7d678db75dbe97ef052f0fca1f","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1380,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1381,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1382,"context_line":"        echo \"$create_cmd_result ${bridge_mac} $IRONIC_VM_NETWORK_BRIDGE\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1385,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"ffe62b97_a1167854","line":1382,"updated":"2017-03-27 22:09:08.000000000","message":"Won\u0027t this fail? As no more \u0027create_cmd_result\u0027","commit_id":"d417ed4d0e32121b8a22d1abfe31cda799121c00"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"817e73e8e8de0a5e12b678063d8cf79cab505d1c","unresolved":false,"context_lines":[{"line_number":1395,"context_line":""},{"line_number":1396,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1397,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"},{"line_number":1398,"context_line":"    done"},{"line_number":1399,"context_line":""},{"line_number":1400,"context_line":"    if [[ -z \"${IRONIC_PROVISION_NETWORK_NAME}\" ]]; then"},{"line_number":1401,"context_line":"        local ironic_net_id"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"ffe62b97_d18ed277","line":1398,"updated":"2017-03-28 12:16:29.000000000","message":"Might be interesting to cat the $IRONIC_VM_MACS_CSV_FILE to see what it looks like.","commit_id":"c598f4e9d66b7baa792ce35188e4336a8ff36359"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"4c1158630dec030d38e15eec2f613f4274a4e042","unresolved":false,"context_lines":[{"line_number":978,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":979,"context_line":"]"},{"line_number":980,"context_line":"EOF"},{"line_number":981,"context_line":"    restart_libvirt"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    fi"},{"line_number":984,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_5666092c","line":981,"range":{"start_line":981,"start_character":4,"end_line":981,"end_character":19},"updated":"2017-03-29 10:06:20.000000000","message":"Indentation error here","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"e2613add9138564064527375abb8dd2e7024112c","unresolved":false,"context_lines":[{"line_number":978,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":979,"context_line":"]"},{"line_number":980,"context_line":"EOF"},{"line_number":981,"context_line":"    restart_libvirt"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    fi"},{"line_number":984,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_1ea657ac","line":981,"range":{"start_line":981,"start_character":4,"end_line":981,"end_character":19},"in_reply_to":"ffe62b97_1b16694a","updated":"2017-03-29 10:46:55.000000000","message":"Even if its valid code because of the If ... fi block its still visually wrong or am I missing something?","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e04344918bddb1e598cfd93f8b3cac731f09ddbd","unresolved":false,"context_lines":[{"line_number":978,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":979,"context_line":"]"},{"line_number":980,"context_line":"EOF"},{"line_number":981,"context_line":"    restart_libvirt"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    fi"},{"line_number":984,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_1e289794","line":981,"range":{"start_line":981,"start_character":4,"end_line":981,"end_character":19},"in_reply_to":"ffe62b97_1ea657ac","updated":"2017-03-29 10:51:02.000000000","message":"ah, right, it is inside if :). Thanks!","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8c80c39f233de2707e0283c05eaf426ba2af2345","unresolved":false,"context_lines":[{"line_number":978,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":979,"context_line":"]"},{"line_number":980,"context_line":"EOF"},{"line_number":981,"context_line":"    restart_libvirt"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    fi"},{"line_number":984,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_1b16694a","line":981,"range":{"start_line":981,"start_character":4,"end_line":981,"end_character":19},"in_reply_to":"ffe62b97_5666092c","updated":"2017-03-29 10:27:45.000000000","message":"pep8 passed http://logs.openstack.org/19/440719/12/check/gate-ironic-pep8-ubuntu-xenial/bc1fefd/","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"4c1158630dec030d38e15eec2f613f4274a4e042","unresolved":false,"context_lines":[{"line_number":1391,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1392,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1393,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1394,"context_line":"        echo \" ${bridge_mac} $IRONIC_VM_NETWORK_BRIDGE\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1395,"context_line":""},{"line_number":1396,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1397,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_78dfbb68","line":1394,"range":{"start_line":1394,"start_character":0,"end_line":1394,"end_character":83},"updated":"2017-03-29 10:06:20.000000000","message":"The other reason I added the \"-- \u003canything else\u003e\" part to the create-node.sh script is to do this because echo\u0027s behaviour isn\u0027t consistent and often adds extra unwanted new lines to the file.","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8c80c39f233de2707e0283c05eaf426ba2af2345","unresolved":false,"context_lines":[{"line_number":1391,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1392,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1393,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1394,"context_line":"        echo \" ${bridge_mac} $IRONIC_VM_NETWORK_BRIDGE\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1395,"context_line":""},{"line_number":1396,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1397,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_7b58d586","line":1394,"range":{"start_line":1394,"start_character":0,"end_line":1394,"end_character":83},"in_reply_to":"ffe62b97_78dfbb68","updated":"2017-03-29 10:27:45.000000000","message":"I drop passing \"-- ....\" to the script as we do not use that variables inside the script, and just return them; and use in place where script was called. So I think appending needed params to the end of line should be done here. But can revert this behaviour back.","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"e2613add9138564064527375abb8dd2e7024112c","unresolved":false,"context_lines":[{"line_number":1391,"context_line":"            -c $IRONIC_VM_SPECS_CPU -m $IRONIC_VM_SPECS_RAM -d $IRONIC_VM_SPECS_DISK \\"},{"line_number":1392,"context_line":"            -a $IRONIC_VM_SPECS_CPU_ARCH -b $IRONIC_VM_NETWORK_BRIDGE $vm_opts -p $vbmc_port -o $pdu_outlet \\"},{"line_number":1393,"context_line":"            -i $IRONIC_VM_INTERFACE_COUNT -f $IRONIC_VM_SPECS_DISK_FORMAT  -M $PUBLIC_BRIDGE_MTU $log_arg\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1394,"context_line":"        echo \" ${bridge_mac} $IRONIC_VM_NETWORK_BRIDGE\" \u003e\u003e $IRONIC_VM_MACS_CSV_FILE"},{"line_number":1395,"context_line":""},{"line_number":1396,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1397,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_debd8fb7","line":1394,"range":{"start_line":1394,"start_character":0,"end_line":1394,"end_character":83},"in_reply_to":"ffe62b97_7b58d586","updated":"2017-03-29 10:46:55.000000000","message":"I tried to do it this way in one of the initial versions of the devstack rework patches and had problems with new lines being added to the CSV file when I used echo, maybe I wasn\u0027t doing it right :/","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"4c1158630dec030d38e15eec2f613f4274a4e042","unresolved":false,"context_lines":[{"line_number":1636,"context_line":"        # In case we using portgroups, we should API version that support them."},{"line_number":1637,"context_line":"        # Othervise API will return 406 ERROR"},{"line_number":1638,"context_line":"        # NOTE(vsaienko) interface_info is in the following format here:"},{"line_number":1639,"context_line":"        # mac1,ovs-port1;mac2,ovs-port2;...;macN,ovs-portN"},{"line_number":1640,"context_line":"        for info in ${interface_info//;/ }; do"},{"line_number":1641,"context_line":"            local mac_address\u003d\"\""},{"line_number":1642,"context_line":"            local port_id\u003d\"\""}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ffe62b97_98295f38","line":1639,"range":{"start_line":1639,"start_character":15,"end_line":1639,"end_character":18},"updated":"2017-03-29 10:06:20.000000000","message":"Nit: I\u0027d prefer it if we weren\u0027t so heavily tied to implementation in our comments. e.g. vswitch-port1 vs ovs-port1","commit_id":"063ed1a4a277e7744edc189f2b436970a9150eaf"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"c23d4081d461029f9a0e77d01466b40602850e7c","unresolved":false,"context_lines":[{"line_number":1643,"context_line":"            mac_address\u003d$(echo $info| awk -F \u0027,\u0027 \u0027{print $1}\u0027)"},{"line_number":1644,"context_line":"            port_id\u003d$(echo $info| awk -F \u0027,\u0027 \u0027{print $2}\u0027)"},{"line_number":1645,"context_line":"            if [[ \"${IRONIC_USE_LINK_LOCAL}\" \u003d\u003d \"True\" ]]; then"},{"line_number":1646,"context_line":"                llc_opts+\u003d\" -l port_id\u003d${port_id} \""},{"line_number":1647,"context_line":"            fi"},{"line_number":1648,"context_line":"            ironic $ironic_api_version port-create --address $mac_address --node $node_id $llc_opts"},{"line_number":1649,"context_line":"        done"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"ffe62b97_cd671f4d","line":1646,"updated":"2017-03-29 12:34:07.000000000","message":"this leads to situation when second port is added llc_opts from previous port are keept.\n\nhttp://logs.openstack.org/23/425123/15/check/gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode-ubuntu-xenial/e201504/logs/devstacklog.txt.gz","commit_id":"643a6c54df8ee8238cd1fca0b369608f87064c31"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"e5c2b5d11f177910be4c134c2e4e9b4e2faa048d","unresolved":false,"context_lines":[{"line_number":435,"context_line":"UEFI_NVRAM_PATH\u003d$IRONIC_UEFI_FILES_DIR/OVMF_VARS.fd"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"if [[ \"$IRONIC_NETWORK_INTERFACE\" !\u003d \"neutron\" \u0026\u0026 $IRONIC_VM_INTERFACE_COUNT -gt 1 ]]; then"},{"line_number":439,"context_line":"    die $LINENO \"Adding node with multiple interfaces: $IRONIC_VM_INTERFACE_COUNT is not \\"},{"line_number":440,"context_line":"                supported for nodes with $IRONIC_NETWORK_INTERFACE\""},{"line_number":441,"context_line":"fi"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"# Sanity checks"},{"line_number":444,"context_line":"if [[ \"$IRONIC_BOOT_MODE\" \u003d\u003d \"uefi\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"ffe62b97_780d3ee7","line":441,"range":{"start_line":438,"start_character":0,"end_line":441,"end_character":2},"updated":"2017-03-30 13:17:46.000000000","message":"Why not? I think it would actually be good to allow this to occur so that we can test things like the pxe_enabled\u003d flag / nic selection logic and also multi-NIC portgroups/bonds work in the flat network driver if they are preconfigured on the switch so we could also test that scenario.","commit_id":"da275eb00ba0c40982d0863194cab75303d2f7d4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0558b0c4dedc6eaa3bb7b314a7670b5ca8bab02c","unresolved":false,"context_lines":[{"line_number":435,"context_line":"UEFI_NVRAM_PATH\u003d$IRONIC_UEFI_FILES_DIR/OVMF_VARS.fd"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"if [[ \"$IRONIC_NETWORK_INTERFACE\" !\u003d \"neutron\" \u0026\u0026 $IRONIC_VM_INTERFACE_COUNT -gt 1 ]]; then"},{"line_number":439,"context_line":"    die $LINENO \"Adding node with multiple interfaces: $IRONIC_VM_INTERFACE_COUNT is not \\"},{"line_number":440,"context_line":"                supported for nodes with $IRONIC_NETWORK_INTERFACE\""},{"line_number":441,"context_line":"fi"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"# Sanity checks"},{"line_number":444,"context_line":"if [[ \"$IRONIC_BOOT_MODE\" \u003d\u003d \"uefi\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"ffe62b97_4e2510ab","line":441,"range":{"start_line":438,"start_character":0,"end_line":441,"end_character":2},"in_reply_to":"ffe62b97_780d3ee7","updated":"2017-03-30 13:46:33.000000000","message":"I was mostly thinking here from attach/detach perspective. But agree it will allow to test other scenarios that you mention.","commit_id":"da275eb00ba0c40982d0863194cab75303d2f7d4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1a1cdab8197b2a198b17ad6222d8e19f61a6f6a6","unresolved":false,"context_lines":[{"line_number":963,"context_line":"        add_user_to_group $STACK_USER $LIBVIRT_GROUP"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"        # Add /dev/net/tun to cgroup_device_acls, needed for type\u003dethernet interfaces"},{"line_number":966,"context_line":"        cat \u003c\u003cEOF | sudo tee -a /etc/libvirt/qemu.conf"},{"line_number":967,"context_line":"cgroup_device_acl \u003d ["},{"line_number":968,"context_line":"    \"/dev/null\", \"/dev/full\", \"/dev/zero\","},{"line_number":969,"context_line":"    \"/dev/random\", \"/dev/urandom\","},{"line_number":970,"context_line":"    \"/dev/ptmx\", \"/dev/kvm\", \"/dev/kqemu\","},{"line_number":971,"context_line":"    \"/dev/rtc\", \"/dev/hpet\",\"/dev/net/tun\","},{"line_number":972,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":973,"context_line":"]"},{"line_number":974,"context_line":"EOF"},{"line_number":975,"context_line":"        restart_libvirt"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"ffe62b97_0ed8287d","line":974,"range":{"start_line":966,"start_character":0,"end_line":974,"end_character":3},"updated":"2017-03-30 13:58:44.000000000","message":"Wouldn\u0027t this append a new line to /etc/libvirt/qemu.conf on every run (in case you do a ./unstack.sh) ? If so, I think it would be good to test if that config is already set prior to setting it again ?\n\n if [[ -z $(grep \"^cgroup_device_acl\" /etc/libvirt/qemu.conf) ]]; then\n\n    cat \u003c\u003c EOF ...\n\n fi","commit_id":"150740136d10678aa2da249620be73fe4cb443a3"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"17204e5919d41a4de9e132ac3448702e392f0e12","unresolved":false,"context_lines":[{"line_number":963,"context_line":"        add_user_to_group $STACK_USER $LIBVIRT_GROUP"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"        # Add /dev/net/tun to cgroup_device_acls, needed for type\u003dethernet interfaces"},{"line_number":966,"context_line":"        cat \u003c\u003cEOF | sudo tee -a /etc/libvirt/qemu.conf"},{"line_number":967,"context_line":"cgroup_device_acl \u003d ["},{"line_number":968,"context_line":"    \"/dev/null\", \"/dev/full\", \"/dev/zero\","},{"line_number":969,"context_line":"    \"/dev/random\", \"/dev/urandom\","},{"line_number":970,"context_line":"    \"/dev/ptmx\", \"/dev/kvm\", \"/dev/kqemu\","},{"line_number":971,"context_line":"    \"/dev/rtc\", \"/dev/hpet\",\"/dev/net/tun\","},{"line_number":972,"context_line":"    \"/dev/vfio/vfio\","},{"line_number":973,"context_line":"]"},{"line_number":974,"context_line":"EOF"},{"line_number":975,"context_line":"        restart_libvirt"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"ffe62b97_50adaee8","line":974,"range":{"start_line":966,"start_character":0,"end_line":974,"end_character":3},"in_reply_to":"ffe62b97_0ed8287d","updated":"2017-03-30 14:05:53.000000000","message":"yup. good catch!","commit_id":"150740136d10678aa2da249620be73fe4cb443a3"}],"devstack/tools/ironic/scripts/configure-vm.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a2963b0b0cbcb8778f62e4c5c04183871256e1ee","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        \u0027memory\u0027: args.memory,"},{"line_number":99,"context_line":"        \u0027cpus\u0027: args.cpus,"},{"line_number":100,"context_line":"        \u0027bootdev\u0027: args.bootdev,"},{"line_number":101,"context_line":"        \u0027interface_count\u0027: int(args.interface_count),"},{"line_number":102,"context_line":"        \u0027nicdriver\u0027: args.libvirt_nic_driver,"},{"line_number":103,"context_line":"        \u0027emulator\u0027: args.emulator,"},{"line_number":104,"context_line":"        \u0027disk_format\u0027: args.disk_format,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ffe62b97_abff52a9","line":101,"range":{"start_line":101,"start_character":27,"end_line":101,"end_character":52},"updated":"2017-03-28 15:11:55.000000000","message":"nit, could pass type\u003dint to add_argument.","commit_id":"c598f4e9d66b7baa792ce35188e4336a8ff36359"}],"devstack/tools/ironic/scripts/create-node.sh":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"11dda7a4b8cfe77d2d1b9d2d1854d12b4925dd95","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# echo mac"},{"line_number":111,"context_line":"VM_MAC\u003d$(virsh dumpxml $NAME | grep \"mac address\" | head -1 | cut -d\\\u0027 -f2)"},{"line_number":112,"context_line":"echo $VM_MAC $VBMC_PORT $PDU_OUTLET $TARGET $@"}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba2be162_291642f1","line":112,"range":{"start_line":112,"start_character":44,"end_line":112,"end_character":46},"updated":"2017-03-02 21:07:48.000000000","message":"not related to this change","commit_id":"e86c7951a25c1b893bd1b71f2fd4ede5c8ee9fe4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"9b7e9cc9e56aa73a224d7e1cc670330b055f4ee0","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# echo mac"},{"line_number":111,"context_line":"VM_MAC\u003d$(virsh dumpxml $NAME | grep \"mac address\" | head -1 | cut -d\\\u0027 -f2)"},{"line_number":112,"context_line":"echo $VM_MAC $VBMC_PORT $PDU_OUTLET $TARGET $@"}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba2be162_3b7bcc29","line":112,"range":{"start_line":112,"start_character":44,"end_line":112,"end_character":46},"in_reply_to":"ba2be162_291642f1","updated":"2017-03-03 12:31:54.000000000","message":"It is because this is how we include the switch id and mac now :)","commit_id":"e86c7951a25c1b893bd1b71f2fd4ede5c8ee9fe4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"097794447a77598f5d94a036993b33c7de5245a2","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# echo mac"},{"line_number":111,"context_line":"VM_MAC\u003d$(virsh dumpxml $NAME | grep \"mac address\" | head -1 | cut -d\\\u0027 -f2)"},{"line_number":112,"context_line":"echo $VM_MAC $VBMC_PORT $PDU_OUTLET $TARGET $@"}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba2be162_eae4fce0","line":112,"range":{"start_line":112,"start_character":44,"end_line":112,"end_character":46},"in_reply_to":"ba2be162_3b7bcc29","updated":"2017-03-03 13:17:50.000000000","message":"so it will add all params that were passed without arguments to create-node.sh right?","commit_id":"e86c7951a25c1b893bd1b71f2fd4ede5c8ee9fe4"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"87f6ddfc832d91afd830e7f22ece624152415a17","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# Keep track of the DevStack directory"},{"line_number":13,"context_line":"TOP_DIR\u003d$(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"while getopts \"n:c:i:m:M:d:a:b:e:E:p:o:f:l:L:N:\" arg; do"},{"line_number":16,"context_line":"    case $arg in"},{"line_number":17,"context_line":"        n) NAME\u003d$OPTARG;;"},{"line_number":18,"context_line":"        c) CPU\u003d$OPTARG;;"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_cc69febe","line":15,"updated":"2017-03-24 23:58:36.000000000","message":"Can some docs be added to this?\n\nWhat is \u0027i\u0027 for?\n\nWhat is \u0027M\u0027 for?","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0f61fed1c2cb667f347ee8b47bbdac137c9ae465","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# Keep track of the DevStack directory"},{"line_number":13,"context_line":"TOP_DIR\u003d$(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"while getopts \"n:c:i:m:M:d:a:b:e:E:p:o:f:l:L:N:\" arg; do"},{"line_number":16,"context_line":"    case $arg in"},{"line_number":17,"context_line":"        n) NAME\u003d$OPTARG;;"},{"line_number":18,"context_line":"        c) CPU\u003d$OPTARG;;"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_cc742c6b","line":15,"in_reply_to":"ffe62b97_cc69febe","updated":"2017-03-27 13:46:08.000000000","message":"Do we really need this? The name of var descriptive enough. It will be just duplication.","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"87f6ddfc832d91afd830e7f22ece624152415a17","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    case $arg in"},{"line_number":17,"context_line":"        n) NAME\u003d$OPTARG;;"},{"line_number":18,"context_line":"        c) CPU\u003d$OPTARG;;"},{"line_number":19,"context_line":"        i) INT_COUNT\u003d$OPTARG;;"},{"line_number":20,"context_line":"        M) INT_MTU\u003d$OPTARG;;"},{"line_number":21,"context_line":"        m) MEM\u003d$(( 1024 * OPTARG ));;"},{"line_number":22,"context_line":"        # Extra G to allow fuzz for partition table : flavor size and registered"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_acab5ad4","line":19,"updated":"2017-03-24 23:58:36.000000000","message":"What is an integer count? interface count? interval count?","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0f61fed1c2cb667f347ee8b47bbdac137c9ae465","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    case $arg in"},{"line_number":17,"context_line":"        n) NAME\u003d$OPTARG;;"},{"line_number":18,"context_line":"        c) CPU\u003d$OPTARG;;"},{"line_number":19,"context_line":"        i) INT_COUNT\u003d$OPTARG;;"},{"line_number":20,"context_line":"        M) INT_MTU\u003d$OPTARG;;"},{"line_number":21,"context_line":"        m) MEM\u003d$(( 1024 * OPTARG ));;"},{"line_number":22,"context_line":"        # Extra G to allow fuzz for partition table : flavor size and registered"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_717cdbb4","line":19,"in_reply_to":"ffe62b97_acab5ad4","updated":"2017-03-27 13:46:08.000000000","message":"change var names to be more strict.","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"87f6ddfc832d91afd830e7f22ece624152415a17","unresolved":false,"context_lines":[{"line_number":36,"context_line":"done"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"shift $(( $OPTIND - 1 ))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"if [ -z \"$UEFI_LOADER\" ] \u0026\u0026 [ ! -z \"$UEFI_NVRAM\" ]; then"},{"line_number":41,"context_line":"    echo \"Parameter -N (UEFI NVRAM) cannot be used without -L (UEFI Loader)\""},{"line_number":42,"context_line":"    exit 1"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_ace35a05","line":39,"updated":"2017-03-24 23:58:36.000000000","message":"Can we assign $1 and other ones to named variables to help us understand what they are used for?\n\nOr document that any remaining parameters will be output at the end of the line.","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0f61fed1c2cb667f347ee8b47bbdac137c9ae465","unresolved":false,"context_lines":[{"line_number":36,"context_line":"done"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"shift $(( $OPTIND - 1 ))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"if [ -z \"$UEFI_LOADER\" ] \u0026\u0026 [ ! -z \"$UEFI_NVRAM\" ]; then"},{"line_number":41,"context_line":"    echo \"Parameter -N (UEFI NVRAM) cannot be used without -L (UEFI Loader)\""},{"line_number":42,"context_line":"    exit 1"}],"source_content_type":"text/x-sh","patch_set":5,"id":"ffe62b97_8c64e4e5","line":39,"in_reply_to":"ffe62b97_ace35a05","updated":"2017-03-27 13:46:08.000000000","message":"rework it a bit, no need to pass data here, to just return it from this script.","commit_id":"b446fa26947be2db830c97ce0ff72f5cac0ffd89"}]}
