)]}'
{"devstack-vm-gate.sh":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"ee0c66ec517968df335469b6b53182de199dde94","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        -a \"cd \u0027$BASE/old/devstack\u0027 \u0026\u0026 stdbuf -oL -eL ./stack.sh\""},{"line_number":633,"context_line":"$ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file \\"},{"line_number":634,"context_line":"        -a \"dest\u003d/etc/neutron/neutron.conf section\u003doslo_messaging_rabbit \\"},{"line_number":635,"context_line":"            option\u003drabbit_host value\u003d$primary_node\""},{"line_number":636,"context_line":"EOF"},{"line_number":637,"context_line":"        sudo chmod a+x $BASE/new/grenade/post-stack.sh"},{"line_number":638,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":15,"id":"ba5201f7_c02e9cf9","line":635,"updated":"2017-01-03 19:24:23.000000000","message":"You don\u0027t have to do this for the DB as well?","commit_id":"37198b24a6f0a925df8dd0b90c779b7cb9a7322a"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"6ec73a9e762bd7e73b950d1c91af73896b8e8578","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        -a \"cd \u0027$BASE/old/devstack\u0027 \u0026\u0026 stdbuf -oL -eL ./stack.sh\""},{"line_number":633,"context_line":"$ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file \\"},{"line_number":634,"context_line":"        -a \"dest\u003d/etc/neutron/neutron.conf section\u003doslo_messaging_rabbit \\"},{"line_number":635,"context_line":"            option\u003drabbit_host value\u003d$primary_node\""},{"line_number":636,"context_line":"EOF"},{"line_number":637,"context_line":"        sudo chmod a+x $BASE/new/grenade/post-stack.sh"},{"line_number":638,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":15,"id":"ba5201f7_2413f50e","line":635,"in_reply_to":"ba5201f7_c02e9cf9","updated":"2017-01-03 22:38:06.000000000","message":"This is not needed anymore as we have changed RABBIT_HOST and MYSQL_HOST in L555-557. Removing this :)","commit_id":"37198b24a6f0a925df8dd0b90c779b7cb9a7322a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"58725cc7d674b27c7c34b80278c7257592687783","unresolved":false,"context_lines":[{"line_number":543,"context_line":"            echo \"DATABASE_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":544,"context_line":"            if [[ $original_enabled_services \u003d~ \"mysql\" ]]; then"},{"line_number":545,"context_line":"                echo \"DATABASE_TYPE\u003dmysql\"  \u003e\u003e\"$localrc_file\""},{"line_number":546,"context_line":"                echo \"MYSQL_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":547,"context_line":"            else"},{"line_number":548,"context_line":"                echo \"DATABASE_TYPE\u003dpostgresql\"  \u003e\u003e\"$localrc_file\""},{"line_number":549,"context_line":"            fi"}],"source_content_type":"text/x-sh","patch_set":16,"id":"ba5201f7_992cb803","line":546,"updated":"2017-01-05 16:32:45.000000000","message":"Maybe only do this if we have nova-api or nova-conductor running here?","commit_id":"d426f2ba593fe6a9f922810766247ab6477cd8a7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"58725cc7d674b27c7c34b80278c7257592687783","unresolved":false,"context_lines":[{"line_number":545,"context_line":"                echo \"DATABASE_TYPE\u003dmysql\"  \u003e\u003e\"$localrc_file\""},{"line_number":546,"context_line":"                echo \"MYSQL_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":547,"context_line":"            else"},{"line_number":548,"context_line":"                echo \"DATABASE_TYPE\u003dpostgresql\"  \u003e\u003e\"$localrc_file\""},{"line_number":549,"context_line":"            fi"},{"line_number":550,"context_line":"            echo \"GLANCE_HOSTPORT\u003d$primary_node:9292\" \u003e\u003e\"$localrc_file\""},{"line_number":551,"context_line":"            echo \"Q_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""}],"source_content_type":"text/x-sh","patch_set":16,"id":"ba5201f7_f90ea48a","line":548,"updated":"2017-01-05 16:32:45.000000000","message":"Maybe we need the host specifying here too?","commit_id":"d426f2ba593fe6a9f922810766247ab6477cd8a7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"58725cc7d674b27c7c34b80278c7257592687783","unresolved":false,"context_lines":[{"line_number":552,"context_line":"            # Set HOST_IP in subnodes before copying localrc to each node"},{"line_number":553,"context_line":"        else"},{"line_number":554,"context_line":"            echo \"HOST_IP\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":555,"context_line":"            echo \"MYSQL_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":556,"context_line":"            echo \"DATABASE_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":557,"context_line":"            echo \"RABBIT_HOST\u003d$primary_node\" \u003e\u003e\"$localrc_file\""},{"line_number":558,"context_line":"        fi"},{"line_number":559,"context_line":"    fi"},{"line_number":560,"context_line":""}],"source_content_type":"text/x-sh","patch_set":16,"id":"ba5201f7_19fa8875","line":557,"range":{"start_line":555,"start_character":0,"end_line":557,"end_character":62},"updated":"2017-01-05 16:32:45.000000000","message":"Do we really need add a comment on why this is important I guess?","commit_id":"d426f2ba593fe6a9f922810766247ab6477cd8a7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ef95772de7e2fef3d2f98f8cec646f505fcd37b5","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        MY_ENABLED_SERVICES\u003d$(cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $branch_for_matrix -f $DEVSTACK_GATE_FEATURE_MATRIX -r $test_matrix_role)"},{"line_number":265,"context_line":"        local original_enabled_services\u003d$(cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $branch_for_matrix -f $DEVSTACK_GATE_FEATURE_MATRIX -r primary)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        if [[ \"$GRENADE_ENABLE_API_SUBNODE\" -eq \"1\" ]] \u0026\u0026 [[ $role \u003d sub ]]; then"},{"line_number":268,"context_line":"            MY_ENABLED_SERVICES+\u003d,n-api"},{"line_number":269,"context_line":"        fi"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        echo \"MY_ENABLED_SERVICES: ${MY_ENABLED_SERVICES}\""},{"line_number":272,"context_line":"        echo \"original_enabled_services: ${original_enabled_services}\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"1a430d35_1cc71d46","line":269,"range":{"start_line":266,"start_character":0,"end_line":269,"end_character":10},"updated":"2017-02-06 16:13:45.000000000","message":"I think this should use features.yaml [1]. You just need to add there a feature like [2]. Call it nova_enable_api_subnode. Then in subnode section for that feature add n-api to list \"services\".\n\nThen in your project-config patch you just need to set DEVSTACK_GATE_NOVA_ENABLE_API_SUBNODE\u003d1 to make it select that feature and add n-api on the subnode.\n\nNote that you can use test-matrix.py to see if your changes work. test-matrix.py is generating services lists based on env vars set in your environment (e.g. DEVSTACK_GATE_NOVA_ENABLE_API_SUBNODE).\n\n[1] https://github.com/openstack-infra/devstack-gate/blob/master/features.yaml\n[2] https://github.com/openstack-infra/devstack-gate/blob/master/features.yaml#L51-L52","commit_id":"8c41486d82d4445097cfec9883326e0c5b75434e"},{"author":{"_account_id":20217,"name":"Anusha Unnam","email":"anusha.unnam25@gmail.com","username":"aunnam"},"change_message_id":"84dfda192d70e891e56a5c832882f26fb40d7c49","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        MY_ENABLED_SERVICES\u003d$(cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $branch_for_matrix -f $DEVSTACK_GATE_FEATURE_MATRIX -r $test_matrix_role)"},{"line_number":265,"context_line":"        local original_enabled_services\u003d$(cd $BASE/new/devstack-gate \u0026\u0026 ./test-matrix.py -b $branch_for_matrix -f $DEVSTACK_GATE_FEATURE_MATRIX -r primary)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        if [[ \"$GRENADE_ENABLE_API_SUBNODE\" -eq \"1\" ]] \u0026\u0026 [[ $role \u003d sub ]]; then"},{"line_number":268,"context_line":"            MY_ENABLED_SERVICES+\u003d,n-api"},{"line_number":269,"context_line":"        fi"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        echo \"MY_ENABLED_SERVICES: ${MY_ENABLED_SERVICES}\""},{"line_number":272,"context_line":"        echo \"original_enabled_services: ${original_enabled_services}\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"1a430d35_647a47f3","line":269,"range":{"start_line":266,"start_character":0,"end_line":269,"end_character":10},"in_reply_to":"1a430d35_1cc71d46","updated":"2017-02-06 18:05:48.000000000","message":"Thanks for the detailed info. Will do this in the next patch.","commit_id":"8c41486d82d4445097cfec9883326e0c5b75434e"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b767f8669dfbcf02059139b0ebab3cde27a816e5","unresolved":false,"context_lines":[{"line_number":547,"context_line":"            localrc_set \"$localrc_file\" \"GLANCE_HOSTPORT\" \"$primary_node:9292\""},{"line_number":548,"context_line":"            localrc_set \"$localrc_file\" \"Q_HOST\" \"$primary_node\""},{"line_number":549,"context_line":"            # Set HOST_IP in subnodes before copying localrc to each node"},{"line_number":550,"context_line":"        else"},{"line_number":551,"context_line":"            localrc_set \"$localrc_file\" \"HOST_IP\" \"$primary_node\""},{"line_number":552,"context_line":"        fi"},{"line_number":553,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":27,"id":"9a30ddce_1e2414c3","side":"PARENT","line":550,"updated":"2017-03-10 19:55:46.000000000","message":"You want to set those options on the primary node to the primary node instead of localhost?","commit_id":"0ef46186dd26a5eecd104f7cf73dca5625ba0586"}],"features.yaml":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"58725cc7d674b27c7c34b80278c7257592687783","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"  nova:"},{"line_number":244,"context_line":"    base:"},{"line_number":245,"context_line":"      services: [n-api, n-cpu, n-net, n-api-meta]"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"  placement:"},{"line_number":248,"context_line":"    base:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"ba5201f7_791b94ca","line":245,"range":{"start_line":245,"start_character":17,"end_line":245,"end_character":22},"updated":"2017-01-05 16:32:45.000000000","message":"I wonder if we only want to do this in certain cases?","commit_id":"d426f2ba593fe6a9f922810766247ab6477cd8a7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"350a302b71ff4242d3a0cfe87ae2cd16a3b74b8d","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"  nova:"},{"line_number":244,"context_line":"    base:"},{"line_number":245,"context_line":"      services: [n-api, n-cpu, n-net, n-api-meta]"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"  placement:"},{"line_number":248,"context_line":"    base:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9a57fde8_be782591","line":245,"range":{"start_line":245,"start_character":17,"end_line":245,"end_character":23},"updated":"2017-01-12 09:52:11.000000000","message":"This will enable n-api on subnodes in *all* multinode jobs. I would prefer it being enabled only for no-downtime jobs.","commit_id":"0333071462bbf2354c43fc9eff3e93b467afba88"}]}
