)]}'
{"devstack-vm-gate.sh":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"ab21282964cac90a44661808360ea439247d3b22","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    if [[ \"$DEVSTACK_GATE_IRONIC\" -eq \u00271\u0027 ]]; then"},{"line_number":176,"context_line":"        echo \"Copy ironic key among nodes\""},{"line_number":177,"context_line":"        local ironic_key_dir\u003d\"/opt/stack/data/ironic/ssh_keys/\""},{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_8aade88a","line":178,"updated":"2016-09-13 23:46:58.000000000","message":"nit: I think could just be:\n\n rm -f /tmp/ironic_key*","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5c1fb575b4ae7750a955fbaba988e533832a4400","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    if [[ \"$DEVSTACK_GATE_IRONIC\" -eq \u00271\u0027 ]]; then"},{"line_number":176,"context_line":"        echo \"Copy ironic key among nodes\""},{"line_number":177,"context_line":"        local ironic_key_dir\u003d\"/opt/stack/data/ironic/ssh_keys/\""},{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_a95b8853","line":178,"in_reply_to":"7a8ec9b2_8aade88a","updated":"2016-09-14 07:13:31.000000000","message":"will update in next patchset.","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5b87e908b0b53f770052d3844c2ebd6e2498d56d","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    if [[ \"$DEVSTACK_GATE_IRONIC\" -eq \u00271\u0027 ]]; then"},{"line_number":176,"context_line":"        echo \"Copy ironic key among nodes\""},{"line_number":177,"context_line":"        local ironic_key_dir\u003d\"/opt/stack/data/ironic/ssh_keys/\""},{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_1855961c","line":178,"in_reply_to":"7a8ec9b2_a95b8853","updated":"2016-09-20 06:51:49.000000000","message":"Done","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"ab21282964cac90a44661808360ea439247d3b22","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""},{"line_number":182,"context_line":"            remote_command $NODE \"sudo mkdir -p $ironic_key_dir\""},{"line_number":183,"context_line":"            remote_copy_file /tmp/ironic_key $NODE://tmp/ironic_key"},{"line_number":184,"context_line":"            remote_copy_file /tmp/ironic_key.pub $NODE://tmp/ironic_key.pub"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_4aa3e09e","line":181,"updated":"2016-09-13 23:46:58.000000000","message":"Was this for debugging purposes? Not sure if still needed.","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5c1fb575b4ae7750a955fbaba988e533832a4400","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""},{"line_number":182,"context_line":"            remote_command $NODE \"sudo mkdir -p $ironic_key_dir\""},{"line_number":183,"context_line":"            remote_copy_file /tmp/ironic_key $NODE://tmp/ironic_key"},{"line_number":184,"context_line":"            remote_copy_file /tmp/ironic_key.pub $NODE://tmp/ironic_key.pub"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_895ecc43","line":181,"in_reply_to":"7a8ec9b2_4aa3e09e","updated":"2016-09-14 07:13:31.000000000","message":"yeah, it was for debugging purpose, going to remove it in next patchset.","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5b87e908b0b53f770052d3844c2ebd6e2498d56d","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key*"},{"line_number":179,"context_line":"        ssh-keygen -q -t rsa -P \u0027\u0027 -f /tmp/ironic_key"},{"line_number":180,"context_line":"        for NODE in $sub_nodes $primary_node; do"},{"line_number":181,"context_line":"            remote_command $NODE \"id\""},{"line_number":182,"context_line":"            remote_command $NODE \"sudo mkdir -p $ironic_key_dir\""},{"line_number":183,"context_line":"            remote_copy_file /tmp/ironic_key $NODE://tmp/ironic_key"},{"line_number":184,"context_line":"            remote_copy_file /tmp/ironic_key.pub $NODE://tmp/ironic_key.pub"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_783a1ae9","line":181,"in_reply_to":"7a8ec9b2_895ecc43","updated":"2016-09-20 06:51:49.000000000","message":"Done","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"ab21282964cac90a44661808360ea439247d3b22","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            remote_copy_file /tmp/ironic_key $NODE://tmp/ironic_key"},{"line_number":184,"context_line":"            remote_copy_file /tmp/ironic_key.pub $NODE://tmp/ironic_key.pub"},{"line_number":185,"context_line":"            remote_command $NODE \"sudo cp /tmp/ironic_key* $ironic_key_dir\""},{"line_number":186,"context_line":"            remote_command $NODE \"sudo chown -R stack:stack $ironic_key_dir\""},{"line_number":187,"context_line":"            remote_command $NODE \"rm -f /tmp/ironic_key*\""},{"line_number":188,"context_line":"        done"},{"line_number":189,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key.pub"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_0afe386b","line":186,"updated":"2016-09-13 23:46:58.000000000","message":"Should the directory have permissions set to 0700?\n\n remote_command $NODE \"sudo chmod 0700 $ironic_key_dir\"","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5c1fb575b4ae7750a955fbaba988e533832a4400","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            remote_copy_file /tmp/ironic_key $NODE://tmp/ironic_key"},{"line_number":184,"context_line":"            remote_copy_file /tmp/ironic_key.pub $NODE://tmp/ironic_key.pub"},{"line_number":185,"context_line":"            remote_command $NODE \"sudo cp /tmp/ironic_key* $ironic_key_dir\""},{"line_number":186,"context_line":"            remote_command $NODE \"sudo chown -R stack:stack $ironic_key_dir\""},{"line_number":187,"context_line":"            remote_command $NODE \"rm -f /tmp/ironic_key*\""},{"line_number":188,"context_line":"        done"},{"line_number":189,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key.pub"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a8ec9b2_ac3e36b6","line":186,"in_reply_to":"7a8ec9b2_0afe386b","updated":"2016-09-14 07:13:31.000000000","message":"We do not changing permissions at the moment for directory, also ssh-keygen creates a key with 600 perm.\n\nhttps://github.com/openstack/ironic/blob/master/devstack/lib/ironic#L1221","commit_id":"b09d13388636e9d7dc2786cba316ff8ff753090a"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"61c0084fb73f7fbf32ab53076e9b9e0ed68ebca0","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        done"},{"line_number":188,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key.pub"},{"line_number":189,"context_line":"    fi"},{"line_number":190,"context_line":"}"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"function setup_networking {"},{"line_number":193,"context_line":"    local mode\u003d${1:-\"devstack\"}"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a98d1f4_e93110ee","line":190,"updated":"2016-09-28 19:15:41.000000000","message":"I think you can just run setup_ssh $PATH_TO_WHERE_KEYS_LIVE since we have already solved this for test bootstrapping, ansible, and nova live migrations.","commit_id":"abbf8166fd819cb8e8aacce7e22a84aad0bb5eec"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"61c8f92ade9ee599c5badcf6feb0875c60e941dd","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        done"},{"line_number":188,"context_line":"        rm -f /tmp/ironic_key /tmp/ironic_key.pub"},{"line_number":189,"context_line":"    fi"},{"line_number":190,"context_line":"}"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"function setup_networking {"},{"line_number":193,"context_line":"    local mode\u003d${1:-\"devstack\"}"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a98d1f4_c4db591a","line":190,"in_reply_to":"3a98d1f4_e93110ee","updated":"2016-09-28 19:57:16.000000000","message":"Done, I think :)","commit_id":"abbf8166fd819cb8e8aacce7e22a84aad0bb5eec"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"1cfaaae8a3766358dfeb901ddc7c54480f868931","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    # VMs from ironic-conductor or setup networking from networking-generic-switch"},{"line_number":181,"context_line":"    if [[ \"$DEVSTACK_GATE_IRONIC\" -eq \u00271\u0027 ]]; then"},{"line_number":182,"context_line":"        echo \"Copy ironic key among nodes\""},{"line_number":183,"context_line":"        setup_ssh /opt/stack/data/ironic/ssh_keys/ ironic_key"},{"line_number":184,"context_line":"    fi"},{"line_number":185,"context_line":"}"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"1a95cdbc_00e4030b","line":183,"updated":"2016-10-06 12:16:04.000000000","message":"this seems to be change perms on whole /opt/stack/data directory to 700","commit_id":"17b64e189cf623c051eed2ef8a41a595f189dcb8"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"9f98eee00b3ca75e32430f08e21521c3d475e561","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    local path\u003d$1"},{"line_number":64,"context_line":"    local dest_file\u003d${2:-id_rsa}"},{"line_number":65,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file \\"},{"line_number":66,"context_line":"        -a \"path\u003d\u0027$path\u0027 mode\u003d0700 state\u003ddirectory\""},{"line_number":67,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"},{"line_number":68,"context_line":"        -a \"src\u003d/etc/nodepool/id_rsa.pub dest\u003d\u0027$path/authorized_keys\u0027 mode\u003d0600\""},{"line_number":69,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"1a95cdbc_41035b0d","line":66,"updated":"2016-10-06 17:39:48.000000000","message":"@vsaienko, what if we did this command twice?\n\nOnce with mode\u003d0755 and then again with mode\u003d0700?\n\nThe the intermediate directories would be a 0700.","commit_id":"29a78afca38e46733cd641f50ef1f5f0cc10b94f"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7698672b89b7dce9d2a3d4ae394235c1ded3b805","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    local path\u003d$1"},{"line_number":64,"context_line":"    local dest_file\u003d${2:-id_rsa}"},{"line_number":65,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file \\"},{"line_number":66,"context_line":"        -a \"path\u003d\u0027$path\u0027 mode\u003d0700 state\u003ddirectory\""},{"line_number":67,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"},{"line_number":68,"context_line":"        -a \"src\u003d/etc/nodepool/id_rsa.pub dest\u003d\u0027$path/authorized_keys\u0027 mode\u003d0600\""},{"line_number":69,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"1a95cdbc_7a91be46","line":66,"in_reply_to":"1a95cdbc_41035b0d","updated":"2016-10-07 10:27:37.000000000","message":"I think better approach is to use already existed folder to keep ironic keys.","commit_id":"29a78afca38e46733cd641f50ef1f5f0cc10b94f"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"499a4086a628366f2fba202d0c20a734cb2cf980","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    local path\u003d$1"},{"line_number":64,"context_line":"    local dest_file\u003d${2:-id_rsa}"},{"line_number":65,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file \\"},{"line_number":66,"context_line":"        -a \"path\u003d\u0027$path\u0027 mode\u003d0700 state\u003ddirectory\""},{"line_number":67,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"},{"line_number":68,"context_line":"        -a \"src\u003d/etc/nodepool/id_rsa.pub dest\u003d\u0027$path/authorized_keys\u0027 mode\u003d0600\""},{"line_number":69,"context_line":"    $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy \\"}],"source_content_type":"text/x-sh","patch_set":8,"id":"1a95cdbc_62e58736","line":66,"in_reply_to":"1a95cdbc_7a91be46","updated":"2016-10-07 16:33:04.000000000","message":"That is good too, but I will likely propose a follow-on patch to do the directory creation twice to fix it too.","commit_id":"29a78afca38e46733cd641f50ef1f5f0cc10b94f"}]}
