)]}'
{"devstack-vm-gate-wrap.sh":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f651c067bc1a832ea5430a3ea02e5b9d4c90c6bc","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        $WORKSPACE/logs/devstack-gate-setup-workspace-new.txt"},{"line_number":313,"context_line":"fi"},{"line_number":314,"context_line":"# It is in brackets for avoid inheriting a big environment variable"},{"line_number":315,"context_line":"(export PROJECTS; export \u003e$WORKSPACE/test_env.sh)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"# relocate and symlink logs into $BASE to save space on the root filesystem"},{"line_number":318,"context_line":"if [ -d \"$WORKSPACE/logs\" -a \\! -e \"$BASE/logs\" ]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"baada198_d61fb8b5","line":315,"updated":"2014-07-17 23:05:52.000000000","message":"avoiding","commit_id":"df836af5a8158f4ca4bec4d73e1a3c9847aa649e"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bbf46137d08fcf7187ec7dd2df6df5873466b0ee","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":378,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":379,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":380,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":381,"context_line":"    done"},{"line_number":382,"context_line":"fi"},{"line_number":383,"context_line":"sudo mv $WORKSPACE/devstack-gate-cleanup-host.txt $BASE/logs/"}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_086dfe66","line":380,"updated":"2014-07-28 22:40:40.000000000","message":"Why doesn\u0027t this use the remote_copy_dir function?","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d00494953709a165b2fcf98de4b3fceeb2ecd313","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":378,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":379,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":380,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":381,"context_line":"    done"},{"line_number":382,"context_line":"fi"},{"line_number":383,"context_line":"sudo mv $WORKSPACE/devstack-gate-cleanup-host.txt $BASE/logs/"}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_a1f3449f","line":380,"in_reply_to":"baada198_086dfe66","updated":"2014-07-29 06:40:53.000000000","message":"The function is copy_to not copy_from at the moment.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":377,"context_line":"if [ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]; then"},{"line_number":378,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":379,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":380,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":381,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":382,"context_line":"    done"},{"line_number":383,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_05d783c1","line":380,"updated":"2014-07-29 16:55:15.000000000","message":"I\u0027d rather turn this into a separate command that doesn\u0027t include the sourcing in it, that just seems fragile.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":377,"context_line":"if [ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]; then"},{"line_number":378,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":379,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":380,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":381,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":382,"context_line":"    done"},{"line_number":383,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_30647c20","line":380,"in_reply_to":"baada198_05d783c1","updated":"2014-08-04 13:08:37.000000000","message":"I think a separated command would not make it more reliable, but I like the idea of having the cleanup host in dedicated script. It can be done together with an extra network log collection, or with a change which remove the unnecessary logging steps.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":379,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":380,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":381,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":382,"context_line":"    done"},{"line_number":383,"context_line":"fi"},{"line_number":384,"context_line":"sudo mv $WORKSPACE/devstack-gate-cleanup-host.txt $BASE/logs/"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_65191fd1","line":381,"updated":"2014-07-29 16:55:15.000000000","message":"I think we want final \"$BASE/logs/$NODE/\" because rsync behaves different if the directory happened to get built earlier without the slash.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":379,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":380,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""},{"line_number":381,"context_line":"        rsync -avz \"$NODE:$BASE/logs/\"  \"$BASE/logs/$NODE\""},{"line_number":382,"context_line":"    done"},{"line_number":383,"context_line":"fi"},{"line_number":384,"context_line":"sudo mv $WORKSPACE/devstack-gate-cleanup-host.txt $BASE/logs/"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_506bb0f0","line":381,"in_reply_to":"baada198_65191fd1","updated":"2014-08-04 13:08:37.000000000","message":"Done","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"797d63ca3ae70a843b33622c6efae7e426809f5d","unresolved":false,"context_lines":[{"line_number":377,"context_line":"echo \"Cleaning up host\""},{"line_number":378,"context_line":"echo \"... this takes 3 - 4 minutes (logs at logs/devstack-gate-cleanup-host.txt.gz)\""},{"line_number":379,"context_line":"tsfilter cleanup_host \u0026\u003e $WORKSPACE/devstack-gate-cleanup-host.txt"},{"line_number":380,"context_line":"if [ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]; then"},{"line_number":381,"context_line":"    for NODE in `cat /etc/nodepool/sub_nodes`; do"},{"line_number":382,"context_line":"        echo \"Collecting logs from $NODE\""},{"line_number":383,"context_line":"        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $BASE/new/devstack-gate/functions.sh; cleanup_host\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_753c54c1","line":380,"updated":"2014-08-06 12:43:35.000000000","message":"nit: double brackets are safer if this this gets respun.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"}],"devstack-vm-gate.sh":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"405165a8dae56b6b5b6681f546db7fe121ac1c92","unresolved":false,"context_lines":[{"line_number":358,"context_line":"            echo \"Preparing $NODE\""},{"line_number":359,"context_line":"            remote_command $NODE \"source $WORKSPACE/test_env.sh; $WORKSPACE/devstack-gate/sub_node_prepare.sh\""},{"line_number":360,"context_line":"            echo \"Running devstack on $NODE\""},{"line_number":361,"context_line":"            remote_copy_file /etc/nodepool/id_rsa \"$NODE:$BASE/new/.ssh/\""},{"line_number":362,"context_line":"            remote_command $NODE sudo chmod 400 \"$BASE/new/.ssh/\""},{"line_number":363,"context_line":"            remote_copy_file sub_localrc $NODE:$BASE/new/devstack/localrc"},{"line_number":364,"context_line":"            remote_command $NODE sudo chown -R stack:stack $BASE"}],"source_content_type":"text/x-sh","patch_set":4,"id":"baada198_157a1cba","line":361,"updated":"2014-07-23 13:07:11.000000000","message":"ssh pub is missing.","commit_id":"bf2cc18c7f6471c1be85930a6991a9dae389f2ab"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"811775c5740c4d6b62ae99b6cb755b5109943ad7","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    echo \"MULTIHOST_HOST\u003dTrue\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    if [ \"$role\" \u003d sub ]; then"},{"line_number":260,"context_line":"        local primary_node\u003d`cat /etc/nodepool/primary_node`"},{"line_number":261,"context_line":"        if [[ $original_enabled_services  \u003d~ \"qpid\" ]]; then"},{"line_number":262,"context_line":"            echo \"QPID_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":263,"context_line":"        fi"}],"source_content_type":"text/x-sh","patch_set":8,"id":"baada198_8e9a5d6d","line":260,"updated":"2014-07-24 22:13:52.000000000","message":"This is floating ip, fixed should be used.","commit_id":"377747bf408b70debd525cdb544b7bd70dc8006a"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"a1fdfd880e08cd7a307c560a5ec2612d3083e23b","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        fi"},{"line_number":277,"context_line":"        echo \"GLANCE_HOSTPORT\u003d$primary_node:9292\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":278,"context_line":"        echo \"Q_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":279,"context_line":"        echo \"SERVICE_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":280,"context_line":"    fi"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":9,"id":"baada198_d9fdeb3c","line":279,"updated":"2014-07-25 12:00:02.000000000","message":"SERVICE_HOST is required on all nodes.","commit_id":"c4328e482ceb15e211f141e99da918e10933ed6b"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d00494953709a165b2fcf98de4b3fceeb2ecd313","unresolved":false,"context_lines":[{"line_number":259,"context_line":"    fi"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    local primary_node\u003d`source $BASE/$LOCALRC_OLDNEW/devstack/functions-common; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":262,"context_line":"    echo \"SERVICE_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":263,"context_line":"    if [ \"$role\" \u003d sub ]; then"},{"line_number":264,"context_line":"        if [[ $original_enabled_services  \u003d~ \"qpid\" ]]; then"},{"line_number":265,"context_line":"            echo \"QPID_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_e750ecd7","line":262,"updated":"2014-07-29 06:40:53.000000000","message":"We do not have explicit iptables ACCEPT rule for the service host in aio jobs, maybe this caused the failures.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bbf46137d08fcf7187ec7dd2df6df5873466b0ee","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"}"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"if [[ \"$DEVSTACK_GATE_GRENADE\" -eq \"1\" ]]; then"},{"line_number":283,"context_line":"    cd $BASE/old/devstack"},{"line_number":284,"context_line":"    setup_localrc \"old\" \"$GRENADE_OLD_BRANCH\" \"localrc\" \"primary\""},{"line_number":285,"context_line":""}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_c88306a7","line":282,"updated":"2014-07-28 22:40:40.000000000","message":"Does this mean we won\u0027t support grenade with multinode initially? (this is 100% fine because we don\u0027t have an experimental grenade test for multinode). Just making sure I understand.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"37f31a83b605ab11d7c56ff2d074a086b06255fe","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -ne \u00271\u0027 ]]; then"},{"line_number":340,"context_line":"            (source $BASE/new/devstack/functions-common; install_package bridge-utils)"},{"line_number":341,"context_line":"            sudo brctl addbr tun_net_br"},{"line_number":342,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"},{"line_number":343,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FLOATING_RANGE -j ACCEPT"},{"line_number":344,"context_line":"            KEY\u003d1"},{"line_number":345,"context_line":"            for node in $SUB_NODES; do"}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_64086cd9","line":342,"updated":"2014-07-28 19:13:32.000000000","message":"interface restriction","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"37f31a83b605ab11d7c56ff2d074a086b06255fe","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                sudo ip link set gretap_$KEY up"},{"line_number":348,"context_line":"                remote_command $node sudo -i ip link add pub_if type gretap local $node remote $PRIMARY_NODE key $KEY"},{"line_number":349,"context_line":"                remote_command $node sudo -i ip link set pub_if up"},{"line_number":350,"context_line":"                remote_command $node sudo -i ip route add $FIXED_RANGE dev pub_if"},{"line_number":351,"context_line":"                remote_command $node sudo -i ip route add $FLOATING_RANGE dev pub_if"},{"line_number":352,"context_line":"                sudo brctl addif tun_net_br gretap_$KEY"},{"line_number":353,"context_line":"                remote_command $node sudo -i iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_c4f858c6","line":350,"updated":"2014-07-28 19:13:32.000000000","message":"Are the routes really required.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bbf46137d08fcf7187ec7dd2df6df5873466b0ee","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            # simplest way the have tunneling working, with dvsm, without increasing the host system MTU"},{"line_number":429,"context_line":"            # is to decreasion the MTU on br-ex"},{"line_number":430,"context_line":"            sudo ip link set mtu 1450 dev br-ex"},{"line_number":431,"context_line":"        fi"},{"line_number":432,"context_line":"    fi"},{"line_number":433,"context_line":"fi"},{"line_number":434,"context_line":""}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_bb345adf","line":431,"updated":"2014-07-28 22:40:40.000000000","message":"Is this another thing that devstack should do for us?","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d00494953709a165b2fcf98de4b3fceeb2ecd313","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            # simplest way the have tunneling working, with dvsm, without increasing the host system MTU"},{"line_number":429,"context_line":"            # is to decreasion the MTU on br-ex"},{"line_number":430,"context_line":"            sudo ip link set mtu 1450 dev br-ex"},{"line_number":431,"context_line":"        fi"},{"line_number":432,"context_line":"    fi"},{"line_number":433,"context_line":"fi"},{"line_number":434,"context_line":""}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_c11d9879","line":431,"in_reply_to":"baada198_bb345adf","updated":"2014-07-29 06:40:53.000000000","message":"May be. May be network_device_mtu also could be set by devstack.\n\nIn a typical case the the right mtu size can be guessed.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":24,"context_line":"echo $PPID \u003e $WORKSPACE/gate.pid"},{"line_number":25,"context_line":"source `dirname \"$(readlink -f \"$0\")\"`/functions.sh"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"FIXED_RANGE\u003d10.1.0.0/20"},{"line_number":28,"context_line":"FLOATING_RANGE\u003d172.24.4.0/24"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function setup_localrc() {"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_403089e9","line":27,"updated":"2014-07-29 16:55:15.000000000","message":"I feel like if we are bothering to pull these out, we should do so in a way that lets us override\n\nSo do FIXED_RANGE\u003d${DG_FIXED_RANGE:-10.1.0.0/20}\n\nand the same below, as depending on cloud provider we my need to dodge different ranges.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"echo $PPID \u003e $WORKSPACE/gate.pid"},{"line_number":25,"context_line":"source `dirname \"$(readlink -f \"$0\")\"`/functions.sh"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"FIXED_RANGE\u003d10.1.0.0/20"},{"line_number":28,"context_line":"FLOATING_RANGE\u003d172.24.4.0/24"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function setup_localrc() {"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_5042d068","line":27,"in_reply_to":"baada198_403089e9","updated":"2014-08-04 13:08:37.000000000","message":"Done","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FLOATING_RANGE\u003d172.24.4.0/24"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function setup_localrc() {"},{"line_number":31,"context_line":"    LOCALRC_OLDNEW\u003d$1;"},{"line_number":32,"context_line":"    LOCALRC_BRANCH\u003d$2;"},{"line_number":33,"context_line":"    LOCALRC_FILE\u003d$3"},{"line_number":34,"context_line":"    local role\u003d$4"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_25056715","line":31,"updated":"2014-07-29 16:55:15.000000000","message":"can we make these \u0027local\u0027 variables for safety while we\u0027re doing this? That would be helpful to not accidentally leak things.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FLOATING_RANGE\u003d172.24.4.0/24"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function setup_localrc() {"},{"line_number":31,"context_line":"    LOCALRC_OLDNEW\u003d$1;"},{"line_number":32,"context_line":"    LOCALRC_BRANCH\u003d$2;"},{"line_number":33,"context_line":"    LOCALRC_FILE\u003d$3"},{"line_number":34,"context_line":"    local role\u003d$4"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_7045146e","line":31,"in_reply_to":"baada198_25056715","updated":"2014-08-04 13:08:37.000000000","message":"Done","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a344145dbeb93c215027e4a312dc9531b8953d9c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    # TODO(afazekas): add c-vol"},{"line_number":47,"context_line":"    if [ $role \u003d sub ]; then"},{"line_number":48,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -eq \"1\" ]]; then"},{"line_number":49,"context_line":"            MY_ENABLED_SERVICES\u003d\"q-agt,n-cpu,ceilometer-acompute\""},{"line_number":50,"context_line":"        else"},{"line_number":51,"context_line":"            MY_ENABLED_SERVICES\u003d\"n-cpu,ceilometer-acompute\""},{"line_number":52,"context_line":"        fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_0736abe8","line":49,"updated":"2014-07-29 15:44:44.000000000","message":"in the case of DVR (DEVSTACK_GATE_NEUTRON_DVR\u003d\u003d1) we need to add q-vpn (ie. the l3agent) too, I believe.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    # TODO(afazekas): add c-vol"},{"line_number":47,"context_line":"    if [ $role \u003d sub ]; then"},{"line_number":48,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -eq \"1\" ]]; then"},{"line_number":49,"context_line":"            MY_ENABLED_SERVICES\u003d\"q-agt,n-cpu,ceilometer-acompute\""},{"line_number":50,"context_line":"        else"},{"line_number":51,"context_line":"            MY_ENABLED_SERVICES\u003d\"n-cpu,ceilometer-acompute\""},{"line_number":52,"context_line":"        fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_10e77847","line":49,"in_reply_to":"baada198_0736abe8","updated":"2014-08-04 13:08:37.000000000","message":"It may need an extra network as well, but we will see.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":259,"context_line":"    fi"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    if [[ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]]; then"},{"line_number":262,"context_line":"        local primary_node\u003d`source $BASE/$LOCALRC_OLDNEW/devstack/functions-common; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":263,"context_line":"        echo \"SERVICE_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":264,"context_line":"    fi"},{"line_number":265,"context_line":"    if [ \"$role\" \u003d sub ]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_8097019c","line":262,"updated":"2014-07-29 16:55:15.000000000","message":"this is a bit weird as it couples devstack in, which I don\u0027t think we want to do. Lets copy the function into d-g functions instead.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":259,"context_line":"    fi"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    if [[ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]]; then"},{"line_number":262,"context_line":"        local primary_node\u003d`source $BASE/$LOCALRC_OLDNEW/devstack/functions-common; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":263,"context_line":"        echo \"SERVICE_HOST\u003d$primary_node\" \u003e\u003e\"$LOCALRC_FILE\""},{"line_number":264,"context_line":"    fi"},{"line_number":265,"context_line":"    if [ \"$role\" \u003d sub ]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_e2b805c9","line":262,"in_reply_to":"baada198_8097019c","updated":"2014-08-04 13:08:37.000000000","message":"Done","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                    done)"},{"line_number":340,"context_line":"        NODES\u003d\"$PRIMARY_NODE $SUB_NODES\""},{"line_number":341,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -ne \u00271\u0027 ]]; then"},{"line_number":342,"context_line":"            (source $BASE/new/devstack/functions-common; install_package bridge-utils)"},{"line_number":343,"context_line":"            sudo brctl addbr tun_net_br"},{"line_number":344,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"},{"line_number":345,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FLOATING_RANGE -j ACCEPT"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_00c0517c","line":342,"updated":"2014-07-29 16:55:15.000000000","message":"this should just be in devstack add.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                    done)"},{"line_number":340,"context_line":"        NODES\u003d\"$PRIMARY_NODE $SUB_NODES\""},{"line_number":341,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -ne \u00271\u0027 ]]; then"},{"line_number":342,"context_line":"            (source $BASE/new/devstack/functions-common; install_package bridge-utils)"},{"line_number":343,"context_line":"            sudo brctl addbr tun_net_br"},{"line_number":344,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"},{"line_number":345,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FLOATING_RANGE -j ACCEPT"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_3038fc9e","line":342,"in_reply_to":"baada198_00c0517c","updated":"2014-08-04 13:08:37.000000000","message":"It needs to happen before devstack .","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"eeb709d7f318a3f93e0d2cb276e12cc21c9ebe66","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -ne \u00271\u0027 ]]; then"},{"line_number":342,"context_line":"            (source $BASE/new/devstack/functions-common; install_package bridge-utils)"},{"line_number":343,"context_line":"            sudo brctl addbr tun_net_br"},{"line_number":344,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"},{"line_number":345,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FLOATING_RANGE -j ACCEPT"},{"line_number":346,"context_line":"            KEY\u003d1"},{"line_number":347,"context_line":"            for node in $SUB_NODES; do"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_0047711f","line":344,"updated":"2014-07-29 16:55:15.000000000","message":"I think the network setup should get pulled into a couple of functions just so the through path here is a little more clear.","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0429274c51fd0ab51b25f1c6824bb808510ae7d5","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -ne \u00271\u0027 ]]; then"},{"line_number":342,"context_line":"            (source $BASE/new/devstack/functions-common; install_package bridge-utils)"},{"line_number":343,"context_line":"            sudo brctl addbr tun_net_br"},{"line_number":344,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FIXED_RANGE -j ACCEPT"},{"line_number":345,"context_line":"            sudo iptables -I openstack-INPUT 1 -s $FLOATING_RANGE -j ACCEPT"},{"line_number":346,"context_line":"            KEY\u003d1"},{"line_number":347,"context_line":"            for node in $SUB_NODES; do"}],"source_content_type":"text/x-sh","patch_set":13,"id":"baada198_42a2919a","line":344,"in_reply_to":"baada198_0047711f","updated":"2014-08-04 13:08:37.000000000","message":"Done","commit_id":"3e89ef402ff773de5ec503e8c9904a8cce733a78"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3f7bbd161c07d73003392c95f8946803fcea1b59","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    MY_ENABLED_SERVICES\u003d`cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $localrc_branch -f $DEVSTACK_GATE_FEATURE_MATRIX`"},{"line_number":43,"context_line":"    local original_enabled_services\u003d$MY_ENABLED_SERVICES"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    # TODO(afazekas): Move to the feature grid"},{"line_number":46,"context_line":"    # TODO(afazekas): add c-vol"}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_8afb7414","line":43,"updated":"2014-08-06 22:05:47.000000000","message":"Why not check MY_ENABLED_SERVICES below instead of creating this local var?","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"bdede8057cbd6ce742b374fd519c48c5a545f4ea","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    MY_ENABLED_SERVICES\u003d`cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $localrc_branch -f $DEVSTACK_GATE_FEATURE_MATRIX`"},{"line_number":43,"context_line":"    local original_enabled_services\u003d$MY_ENABLED_SERVICES"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    # TODO(afazekas): Move to the feature grid"},{"line_number":46,"context_line":"    # TODO(afazekas): add c-vol"}],"source_content_type":"text/x-sh","patch_set":15,"id":"1abeadc6_edc36936","line":43,"in_reply_to":"baada198_8afb7414","updated":"2014-08-17 20:03:17.000000000","message":"Both variables are in use later.\n\nSeveral variables on the slave node depends on the services on the primary node.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3f7bbd161c07d73003392c95f8946803fcea1b59","unresolved":false,"context_lines":[{"line_number":180,"context_line":"VOLUME_BACKING_DEVICE\u003d/dev/xvdb"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"# Set multi-host config"},{"line_number":183,"context_line":"MULTI_HOST\u003d1"},{"line_number":184,"context_line":"EOF"},{"line_number":185,"context_line":"    fi"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_ca0bacd3","line":183,"updated":"2014-08-06 22:05:47.000000000","message":"Shouldn\u0027t we set this flag if not aio?","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"39942e928bc72c3c7709b626a9d579e7e4675b7d","unresolved":false,"context_lines":[{"line_number":180,"context_line":"VOLUME_BACKING_DEVICE\u003d/dev/xvdb"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"# Set multi-host config"},{"line_number":183,"context_line":"MULTI_HOST\u003d1"},{"line_number":184,"context_line":"EOF"},{"line_number":185,"context_line":"    fi"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_5d1124f7","line":183,"in_reply_to":"baada198_ca0bacd3","updated":"2014-08-06 22:18:22.000000000","message":"There appears to be an issue with largeops, I am proposing we change that as the devstack default.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"797d63ca3ae70a843b33622c6efae7e426809f5d","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            remote_command $NODE sudo chown -R stack:stack $BASE"},{"line_number":396,"context_line":"        done"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        for NODE in $NODES; do"},{"line_number":399,"context_line":"            sudo su - stack -c \u0027ssh -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \u0027$NODE\u0027 \"for N in \u0027\"$NODES\"\u0027; do ssh -tt -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \\$N sudo -i iptables -I openstack-INPUT 1 -s \u0027$NODE\u0027 -j ACCEPT; done\"\u0027"},{"line_number":400,"context_line":"        done"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_35549cc5","line":398,"updated":"2014-08-06 12:43:35.000000000","message":"instead of doing this could we just push known_hosts out from the controller once we\u0027ve connected to all the nodes?\n\nI\u0027m kind of concerned about the recursive for loop here, it\u0027s confusing what\u0027s all going on. Because it seems like we go to every node, then ssh from every node to every other node, and in hop 2 do the iptables add. Which just seems odd.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3f7bbd161c07d73003392c95f8946803fcea1b59","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            remote_command $NODE sudo chown -R stack:stack $BASE"},{"line_number":396,"context_line":"        done"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        for NODE in $NODES; do"},{"line_number":399,"context_line":"            sudo su - stack -c \u0027ssh -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \u0027$NODE\u0027 \"for N in \u0027\"$NODES\"\u0027; do ssh -tt -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \\$N sudo -i iptables -I openstack-INPUT 1 -s \u0027$NODE\u0027 -j ACCEPT; done\"\u0027"},{"line_number":400,"context_line":"        done"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"baada198_4aeebcb6","line":398,"in_reply_to":"baada198_35549cc5","updated":"2014-08-06 22:05:47.000000000","message":"Ya I think the iptables changes would read a bit better like:\n\n   for node in nodes:\n       ssh node \u0027for n in nodes: iptables update allow n\u0027\n\nStill nested loop but not nested ssh. We can get away with this because ssh is allowed from everywhere on all nodes already.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"a6f6c01d6a23a33c93f6a6722b9ca6483a0f9448","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            remote_command $NODE sudo chown -R stack:stack $BASE"},{"line_number":396,"context_line":"        done"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        for NODE in $NODES; do"},{"line_number":399,"context_line":"            sudo su - stack -c \u0027ssh -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \u0027$NODE\u0027 \"for N in \u0027\"$NODES\"\u0027; do ssh -tt -o StrictHostKeyChecking\u003dno -o ConnectionAttempts\u003d4 \\$N sudo -i iptables -I openstack-INPUT 1 -s \u0027$NODE\u0027 -j ACCEPT; done\"\u0027"},{"line_number":400,"context_line":"        done"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1abeadc6_cd222d01","line":398,"in_reply_to":"baada198_4aeebcb6","updated":"2014-08-17 20:14:40.000000000","message":"For making it more simpler please see:\nhttps://review.openstack.org/#/c/114840/\nhttps://review.openstack.org/#/c/114841/\n\nAnd probably instead of managing the known hosts , I will try to change the the ssh client config.","commit_id":"c2a31ba4bd01b1230c62d630c9fad4ca142b0a41"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"e0031204c8e542de356e8ad8fd388e44a7ac694c","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    # TODO(afazekas): Move to the feature grid"},{"line_number":46,"context_line":"    # TODO(afazekas): add c-vol"},{"line_number":47,"context_line":"    if [ $role \u003d sub ]; then"},{"line_number":48,"context_line":"        if [[ \"$DEVSTACK_GATE_NEUTRON\" -eq \"1\" ]]; then"},{"line_number":49,"context_line":"            MY_ENABLED_SERVICES\u003d\"q-agt,n-cpu,ceilometer-acompute\""},{"line_number":50,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_2353916d","line":47,"updated":"2014-08-25 22:46:02.000000000","message":"Can we use the bash test here instead for consistency?\n\n  if [[ \"$role\" \u003d \"sub\" ]]; then\n\nAlso quote the string and variable.","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"e0031204c8e542de356e8ad8fd388e44a7ac694c","unresolved":false,"context_lines":[{"line_number":366,"context_line":"            remote_copy_file /etc/nodepool/id_rsa \"$NODE:$BASE/new/.ssh/\""},{"line_number":367,"context_line":"            remote_command $NODE sudo chmod 400 \"$BASE/new/.ssh/*\""},{"line_number":368,"context_line":"        done"},{"line_number":369,"context_line":"        PRIMARY_NODE\u003d`get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":370,"context_line":"        SUB_NODES\u003d$(for NODE in $(cat /etc/nodepool/sub_nodes); do"},{"line_number":371,"context_line":"                        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $WORKSPACE/devstack-gate/functions.sh; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE\""},{"line_number":372,"context_line":"                    done)"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_43508d5e","line":369,"updated":"2014-08-25 22:46:02.000000000","message":"We call this function at least twice to find the same info. A future improvement may be to call it once. Note I don\u0027t think this requires a new patchset. Calling it twice is perfectly fine for now.","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"cec348abfc9e8f89357cc915e33dd943ac7dd41c","unresolved":false,"context_lines":[{"line_number":438,"context_line":"            remote_command $NODE \"cd $BASE/new/devstack; source $WORKSPACE/test_env.sh; export -n PROJECTS; sudo -H -u stack stdbuf -oL -eL ./stack.sh \u003e /dev/null\""},{"line_number":439,"context_line":"        done"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"       if [[ $DEVSTACK_GATE_NEUTRON -eq \"1\" ]]; then"},{"line_number":442,"context_line":"            # NOTE(afazekas): The cirros lp#1301958 does not support MTU setting via dhcp,"},{"line_number":443,"context_line":"            # simplest way the have tunneling working, with dvsm, without increasing the host system MTU"},{"line_number":444,"context_line":"            # is to decreasion the MTU on br-ex"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_cfdaf716","line":441,"updated":"2014-08-26 05:04:24.000000000","message":"recommend if [[ \"$DEVSTACK_GATE_NEUTRON\" \u003d \"1\" ]]; then for consistency","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"596835c4b355b0e15bf0be8fb367a0219902d146","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    fi"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    if [[ \"$DEVSTACK_GATE_TOPOLOGY\" !\u003d \"aio\" ]]; then"},{"line_number":299,"context_line":"        local primary_node\u003d`get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":300,"context_line":"        echo \"SERVICE_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":301,"context_line":"    fi"},{"line_number":302,"context_line":"    if [[ \"$role\" \u003d sub ]]; then"}],"source_content_type":"text/x-sh","patch_set":22,"id":"9aa7fdbe_6fa95f23","line":299,"updated":"2014-10-27 16:06:45.000000000","message":"Why not use `cat /etc/nodepool/primary_node` for this?","commit_id":"bb6641b3e661f9cf1498953cb007e5ebe754637c"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"596835c4b355b0e15bf0be8fb367a0219902d146","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            remote_copy_file /etc/nodepool/id_rsa \"$NODE:$BASE/new/.ssh/\""},{"line_number":401,"context_line":"            remote_command $NODE sudo chmod 400 \"$BASE/new/.ssh/*\""},{"line_number":402,"context_line":"        done"},{"line_number":403,"context_line":"        PRIMARY_NODE\u003d`get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":404,"context_line":"        SUB_NODES\u003d$(for NODE in $(cat /etc/nodepool/sub_nodes); do"},{"line_number":405,"context_line":"                        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $WORKSPACE/devstack-gate/functions.sh; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE\""},{"line_number":406,"context_line":"                    done)"}],"source_content_type":"text/x-sh","patch_set":22,"id":"9aa7fdbe_8fa4c34b","line":403,"updated":"2014-10-27 16:06:45.000000000","message":"Why not use `cat /etc/nodepool/primary_node` for this?","commit_id":"bb6641b3e661f9cf1498953cb007e5ebe754637c"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"596835c4b355b0e15bf0be8fb367a0219902d146","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        done"},{"line_number":403,"context_line":"        PRIMARY_NODE\u003d`get_default_host_ip $FIXED_RANGE $FLOATING_RANGE`"},{"line_number":404,"context_line":"        SUB_NODES\u003d$(for NODE in $(cat /etc/nodepool/sub_nodes); do"},{"line_number":405,"context_line":"                        remote_command $NODE \"source $WORKSPACE/test_env.sh; source $WORKSPACE/devstack-gate/functions.sh; get_default_host_ip $FIXED_RANGE $FLOATING_RANGE\""},{"line_number":406,"context_line":"                    done)"},{"line_number":407,"context_line":"        NODES\u003d\"$PRIMARY_NODE $SUB_NODES\""},{"line_number":408,"context_line":"        NODES\u003d$\"${NODES//$\u0027\\n\u0027/ }\""}],"source_content_type":"text/x-sh","patch_set":22,"id":"9aa7fdbe_af66e727","line":405,"updated":"2014-10-27 16:06:45.000000000","message":"And here?","commit_id":"bb6641b3e661f9cf1498953cb007e5ebe754637c"}],"functions.sh":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"e0031204c8e542de356e8ad8fd388e44a7ac694c","unresolved":false,"context_lines":[{"line_number":711,"context_line":"    local src_dir\u003d$2"},{"line_number":712,"context_line":"    local dest_dir\u003d$3"},{"line_number":713,"context_line":"    remote_command \"$dest_host\"  mkdir -p \"$dest_dir\""},{"line_number":714,"context_line":"    rsync -avz \"$src_dir\" \"${dest_host}:$dest_dir\""},{"line_number":715,"context_line":"}"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"function remote_copy_file {"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_035f7573","line":714,"updated":"2014-08-25 22:46:02.000000000","message":"Might be good to make remote_copy_dir and remote_copy_file take the same args (I prefer those for remote_copy_file where the dest side incldues dest host and dest dir). But this can be another future improvement. THis does not require a new patchset.","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"cec348abfc9e8f89357cc915e33dd943ac7dd41c","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"# Get the default value for HOST_IP"},{"line_number":758,"context_line":"# get_default_host_ip fixed_range floating_range host_ip_iface host_ip"},{"line_number":759,"context_line":"# This functions was copyied from devstack/functions-common"},{"line_number":760,"context_line":"function get_default_host_ip {"},{"line_number":761,"context_line":"    local fixed_range\u003d$1"},{"line_number":762,"context_line":"    local floating_range\u003d$2"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_2f17eba4","line":759,"updated":"2014-08-26 05:04:24.000000000","message":"typo copyied-\u003ecopied","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"}],"sub_node_prepare.sh":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bbf46137d08fcf7187ec7dd2df6df5873466b0ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_a8c9725b","line":1,"updated":"2014-07-28 22:40:40.000000000","message":"It isn\u0027t clear to me if the code executed here is logged in a log file. Looks like it ends up in the console log which may be good enough for now.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d00494953709a165b2fcf98de4b3fceeb2ecd313","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-sh","patch_set":12,"id":"baada198_ac0edb31","line":1,"in_reply_to":"baada198_a8c9725b","updated":"2014-07-29 06:40:53.000000000","message":"The extra set -x causes more log, it will be removed later.","commit_id":"d28fba0ce690e6aad2679d19a012803ef1307528"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"e0031204c8e542de356e8ad8fd388e44a7ac694c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"echo \"... this takes a few seconds (logs at logs/node_ip/devstack-gate-setup-host.txt.gz)\""},{"line_number":34,"context_line":"tsfilter setup_host \u0026\u003e $WORKSPACE/logs/devstack-gate-setup-host.txt"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"if [ \"$DEVSTACK_GATE_GRENADE\" -eq \"1\" -o \"$DEVSTACK_GATE_GRENADE_FORWARD\" -eq \"1\" ]; then"},{"line_number":37,"context_line":"    echo \"Setting up the new (migrate to) workspace\""},{"line_number":38,"context_line":"    echo \"... this takes 3 - 5 minutes (logs at logs/node_ip/devstack-gate-setup-workspace-new.txt.gz)\""},{"line_number":39,"context_line":"    tsfilter setup_workspace \"$GRENADE_NEW_BRANCH\" \"$BASE/new\" copycache \u0026\u003e \\"}],"source_content_type":"text/x-sh","patch_set":17,"id":"1abeadc6_e359998f","line":36,"updated":"2014-08-25 22:46:02.000000000","message":"We changed the way the DEVSTACK_GATE_GRENADE variable works. Now it is a single variable with mroe than two values. So it can be \"forward\" \"pullup\" \"sideways\" etc. This condition will need to be updated to accmodate this change. I made the original change and am happy to update thsi section if you like. (this comment is the reason for the -1)\n\nI think its a simple change though and should just be:\n\n  if [[ -n \"$DEVSTACK_GATE_GRENADE\" ]]; then","commit_id":"55c74013e2cf1cefdda77d75e4f1445f84e03efb"}]}
