)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"583eaec22aef0f86d75053176b59bdda13f17ccb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vasyl Saienko \u003cvsaienko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-20 09:50:53 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update local.conf for ironic-multinode case"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Primary node local.conf:"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"7a8ec9b2_0e4c3741","line":7,"updated":"2016-09-20 22:22:52.000000000","message":"Can it just explain what it is doing and why? Not just every setting value.\n\nSomething like:\n\nSetup the localrc configuration for the primary and subnode in a multi-node setup.\n\nDisable the Tenant Tunnels because ...\n\nSet the IRONIC_VM_NETWORK_BRIDGE and the OVS_PHYSICAL_BRIDE on the subnode to \u0027sub1brbm\u0027 because ....","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"583eaec22aef0f86d75053176b59bdda13f17ccb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  MULTI_HOST\u003dTrue"},{"line_number":12,"context_line":"  MULTI_HOST_ROLE\u003d\u0027primary\u0027"},{"line_number":13,"context_line":"  GENERIC_SWITCH_KEY_FILE\u003d/opt/stack/data/ironic/ssh_keys/ironic_key"},{"line_number":14,"context_line":"  ENABLE_TENANT_TUNNELS\u003dFalse"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Subnode local.conf:"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"7a8ec9b2_8e5e87e7","line":14,"updated":"2016-09-20 22:22:52.000000000","message":"This is missing some info. But also I\u0027m not sure we should basically put the patch into the commit message :)\n\nMULTI_HOST_SUBNODES\u003d\"$sub_nodes\"","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"583eaec22aef0f86d75053176b59bdda13f17ccb","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"  MULTI_HOST\u003dTrue"},{"line_number":19,"context_line":"  MULTI_HOST_ROLE\u003d\u0027subnode\u0027"},{"line_number":20,"context_line":"  MULTI_HOST_SUBNODES\u003d\"$sub_nodes\""},{"line_number":21,"context_line":"  IRONIC_VM_NETWORK_BRIDGE\u003dsub1brbm"},{"line_number":22,"context_line":"  OVS_PHYSICAL_BRIDGE\u003dsub1brbm"},{"line_number":23,"context_line":"  ENABLE_TENANT_TUNNELS\u003dFalse"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"7a8ec9b2_0e735781","line":20,"updated":"2016-09-20 22:22:52.000000000","message":"This is not in the subnode conf.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"}],"devstack-vm-gate.sh":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d6b70693c2163b32151d63de94a3f6c6908cc648","unresolved":false,"context_lines":[{"line_number":138,"context_line":"MULTI_HOST_ROLE\u003d\"subnode\""},{"line_number":139,"context_line":"EOF"},{"line_number":140,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$localrc\""},{"line_number":141,"context_line":"        MULTI_HOST\u003dTrue"},{"line_number":142,"context_line":"EOF"},{"line_number":143,"context_line":"    fi"},{"line_number":144,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"9ad45d7e_92c3ebec","line":141,"updated":"2016-08-10 16:32:23.000000000","message":"Maybe add:\n\n MULTI_HOST_ROLE\u003d\"primary\"\n\nFor completeness, but not necessary.","commit_id":"58f8320110ba116df310bd82434052d70159c2ec"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5b3d168e2904ef3f4c023cc1c0e15d5e1ae49050","unresolved":false,"context_lines":[{"line_number":138,"context_line":"MULTI_HOST_ROLE\u003d\"subnode\""},{"line_number":139,"context_line":"EOF"},{"line_number":140,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$localrc\""},{"line_number":141,"context_line":"        MULTI_HOST\u003dTrue"},{"line_number":142,"context_line":"EOF"},{"line_number":143,"context_line":"    fi"},{"line_number":144,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"9ad45d7e_dfab8d73","line":141,"in_reply_to":"9ad45d7e_92c3ebec","updated":"2016-08-11 07:19:33.000000000","message":"MULTI_HOST_ROLE is not set we assume that it is a primary host. I don\u0027t think that we need to add MULTI_HOST_ROLE on primary node.","commit_id":"58f8320110ba116df310bd82434052d70159c2ec"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1596728920df652214ec504a230b63d99fa6e499","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            $sub_nodes"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$sub_localrc\""},{"line_number":142,"context_line":"MULTI_HOST\u003dTrue"},{"line_number":143,"context_line":"MULTI_HOST_ROLE\u003d\"subnode\""},{"line_number":144,"context_line":"# NOTE(vsaienko) we assume for now that we using only 1 subnode,"},{"line_number":145,"context_line":"# each subnode should have different switch name (bridge) as it is used"}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_c91a9417","line":142,"updated":"2016-09-28 19:34:59.000000000","message":"MULTI_HOST in devstack is supposed to mean use nova\u0027s multihost setting. This is a nova network config item that doesn\u0027t make sense within neutron land and essentially means each compute is its own router. Not sure what it means for ironic\u0027s devstack plugin but consider that this may end up being confusing to people.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3773e1dbf4e79224bec851616187e4d2c7d7c8c5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            $sub_nodes"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$sub_localrc\""},{"line_number":142,"context_line":"MULTI_HOST\u003dTrue"},{"line_number":143,"context_line":"MULTI_HOST_ROLE\u003d\"subnode\""},{"line_number":144,"context_line":"# NOTE(vsaienko) we assume for now that we using only 1 subnode,"},{"line_number":145,"context_line":"# each subnode should have different switch name (bridge) as it is used"}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_54a989de","line":142,"in_reply_to":"3a98d1f4_a0f8f6e6","updated":"2016-09-29 14:29:54.000000000","message":"I\u0027m ok with IRONIC_MULTI_NODE, but subnode is more general case it is not only related to Ironic, who knows might be in future other porjects should also know about node topology.\n\nWhat do you think if we call this:\n\nHOST_TOPOLOGY\u003dsingle|multinode or GATE_TOPOLOGY\nHOST_TOPOLOGY_ROLE\u003dprimary|subnode\nHOST_TOPOLOGY_SUBNODES\u003d\"list of subnodes here\"","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"fc050a51644bf2e80e5ae70f9f38a8d9b451b981","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            $sub_nodes"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$sub_localrc\""},{"line_number":142,"context_line":"MULTI_HOST\u003dTrue"},{"line_number":143,"context_line":"MULTI_HOST_ROLE\u003d\"subnode\""},{"line_number":144,"context_line":"# NOTE(vsaienko) we assume for now that we using only 1 subnode,"},{"line_number":145,"context_line":"# each subnode should have different switch name (bridge) as it is used"}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_a0f8f6e6","line":142,"in_reply_to":"3a98d1f4_c91a9417","updated":"2016-09-28 21:07:25.000000000","message":"I suggest: IRONIC_MULTI_NODE  makes it pretty clear what this is for.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1596728920df652214ec504a230b63d99fa6e499","unresolved":false,"context_lines":[{"line_number":145,"context_line":"# each subnode should have different switch name (bridge) as it is used"},{"line_number":146,"context_line":"# by networking-generic-switch to uniquely identify switch."},{"line_number":147,"context_line":"IRONIC_VM_NETWORK_BRIDGE\u003dsub1brbm"},{"line_number":148,"context_line":"OVS_PHYSICAL_BRIDGE\u003dsub1brbm"},{"line_number":149,"context_line":"ENABLE_TENANT_TUNNELS\u003dFalse"},{"line_number":150,"context_line":"EOF"},{"line_number":151,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$localrc\""}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_29f3f874","line":148,"updated":"2016-09-28 19:34:59.000000000","message":"What is the relationship between br_ironic_vxlan and sub1brbm? I think it would help to have this better explained.\n\nAlso Not sure why you have to have different names. The ovs_vxlan_bridge setup we are using should scale up to many nodes (basically until the central bridge can no longer forward packets for it effectively). And we don\u0027t worry about names of the interfaces themselves, we use IP addresses to differentiate.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3773e1dbf4e79224bec851616187e4d2c7d7c8c5","unresolved":false,"context_lines":[{"line_number":145,"context_line":"# each subnode should have different switch name (bridge) as it is used"},{"line_number":146,"context_line":"# by networking-generic-switch to uniquely identify switch."},{"line_number":147,"context_line":"IRONIC_VM_NETWORK_BRIDGE\u003dsub1brbm"},{"line_number":148,"context_line":"OVS_PHYSICAL_BRIDGE\u003dsub1brbm"},{"line_number":149,"context_line":"ENABLE_TENANT_TUNNELS\u003dFalse"},{"line_number":150,"context_line":"EOF"},{"line_number":151,"context_line":"        cat \u003c\u003cEOF \u003e\u003e\"$localrc\""}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_744cc542","line":148,"in_reply_to":"3a98d1f4_29f3f874","updated":"2016-09-29 14:29:54.000000000","message":"We need to have different bridge names on hosts, because we using bridge name as unique identifier of switch, where VMs are connected. When networking-generic-switch plug port for VM to specific network, it should clearly know where VM is located:\nhttps://review.openstack.org/#/c/364848/5/devstack/plugin.sh@61\n\nFull flow looks like:\nAdministrator enrol Ironic node and specify local_link_information to each ironic port, this information contains switch_id and port_id.\nNext user request a VM. Nova schedule it to ironic node, Ironic creates ports in provisioning network, neutron should plug port to this network (networking-generic-switch is neutron ML2 plugin that is designed for it). So NGS goes to switch (based on local_link_info) and put port to needed VLAN. After this ironic poweron node, it get bootstrap, ironic agent do user image provisioning, when it done ironic push neutron to move port for this instance into tenant network, neutron push NGS, it goes to the switch... Finally user gets VM in tenant network.\nHopefully I didn\u0027t forget anything.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1596728920df652214ec504a230b63d99fa6e499","unresolved":false,"context_lines":[{"line_number":152,"context_line":"MULTI_HOST\u003dTrue"},{"line_number":153,"context_line":"MULTI_HOST_ROLE\u003d\"primary\""},{"line_number":154,"context_line":"MULTI_HOST_SUBNODES\u003d\"$sub_nodes\""},{"line_number":155,"context_line":"GENERIC_SWITCH_KEY_FILE\u003d/opt/stack/data/ironic/ssh_keys/ironic_key"},{"line_number":156,"context_line":"ENABLE_TENANT_TUNNELS\u003dFalse"},{"line_number":157,"context_line":"EOF"},{"line_number":158,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_a96aa818","line":155,"updated":"2016-09-28 19:34:59.000000000","message":"I can\u0027t find where this is used anyhwere. What is its purpose? I grabbed your test change in ironic and grepped for SWITCH and got no matches so not sure if this is used.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3773e1dbf4e79224bec851616187e4d2c7d7c8c5","unresolved":false,"context_lines":[{"line_number":152,"context_line":"MULTI_HOST\u003dTrue"},{"line_number":153,"context_line":"MULTI_HOST_ROLE\u003d\"primary\""},{"line_number":154,"context_line":"MULTI_HOST_SUBNODES\u003d\"$sub_nodes\""},{"line_number":155,"context_line":"GENERIC_SWITCH_KEY_FILE\u003d/opt/stack/data/ironic/ssh_keys/ironic_key"},{"line_number":156,"context_line":"ENABLE_TENANT_TUNNELS\u003dFalse"},{"line_number":157,"context_line":"EOF"},{"line_number":158,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":14,"id":"3a98d1f4_7455a54e","line":155,"in_reply_to":"3a98d1f4_a96aa818","updated":"2016-09-29 14:29:54.000000000","message":"It is needed for networking-generic-switch, https://review.openstack.org/#/c/364848/5/devstack/plugin.sh@10\nOf course we can override default to GENERIC_SWITCH_KEY_FILE based on MULTI_HOST flag.","commit_id":"ac31a0d29ca5fd2b2c3463ce659b840fb6a3a120"}]}
