)]}'
{"lib/neutron-legacy":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"869d9f3a3c77a3064c0ce37920ee8c1f4545bbb4","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_a4536ce1","line":711,"updated":"2015-06-10 04:24:21.000000000","message":"I don\u0027t think this setup belongs to the l2 agent startup. This is stuff that needs to be done on the \u0027controller\u0027 node. I\u0027d be extra careful.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"42656b6d7b965064de97d31ed6bada0e14f5fcc6","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"fa32b979_47c1757f","line":711,"in_reply_to":"3afb71cf_238188fb","updated":"2015-06-16 14:39:31.000000000","message":"ok, thanks for bearing with me.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"f5cf6ec82b0452346c988a353e57298e11563899","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_a6f23f04","line":711,"in_reply_to":"3afb71cf_43aedde6","updated":"2015-06-10 12:52:56.000000000","message":"Nevermind, that doesn\u0027t make sense.  This stuff doesn\u0027t run unless Q_L3_ENABLED is False.\n\nSo, it still seems to me like this is tied to where the L2 agent is running ...","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"749e4fdfb345b5e159becaf9328014dde4b9d7e5","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_80003203","line":711,"in_reply_to":"3afb71cf_79b2a8e6","updated":"2015-06-10 21:08:58.000000000","message":"Usually this is the naming convention that I find in use (for instance [1])\n\n- controller node: runs neutron-server, the other API services, conductors, schedulers etc\n- network node: the one that runs central services like DHCP and L3.\n\nNow in single deployments everything is crammed in a single box so the distinctions are blurred. Bear in mind that you\u0027d need to run an L2 agent on the network Node too, as it\u0027s needed for instance by the DHCP agent.\n\nMoving the logic as being done here looks a bit odd to me, especially when it was all in one, so it\u0027s not clear what belongs to what. If you\u0027re confident that it makes sense...then I am yay, but I wouldn\u0027t take it so lightly, that\u0027s all!\n\nA method that is called \u0027start_neutron_agents\u0027 implicitly assumes that you\u0027re running all in one box, and breaking stuff apart can be tricky especially if we can\u0027t validate if this works on a multi-node deployment.\n\n[1] http://docs.openstack.org/havana/install-guide/install/apt/content/ch_overview.html","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"7d26571637e4fedeb632413514e7e4563e006021","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_83b83c12","line":711,"in_reply_to":"3afb71cf_80003203","updated":"2015-06-10 21:13:38.000000000","message":"Have you considered having this its own function and be called in start_neutron_agents line 751? It seems more functionally equivalent taking into account the other refactoring you\u0027re making.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"fb34a80a8051b9908ce9d134311bfa352b7a7a84","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_238188fb","line":711,"in_reply_to":"3afb71cf_80003203","updated":"2015-06-10 21:20:06.000000000","message":"Well, I could split it out, but as far as I can tell this code needs to run in every case where the L2 agent is running and no cases where the L2 agent is not running, so this is a convenient place to put it.  If it was its own function, I think it would make sense to call it from here anyway.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"9c50bfd2c534a9439cdc11f5c83758afd3dfc072","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_f100f203","line":711,"in_reply_to":"3afb71cf_a4536ce1","updated":"2015-06-10 12:33:13.000000000","message":"Thanks!  I\u0027ll move it.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"12446c09a7651c898d054a0c119160cef9c434d2","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_79b2a8e6","line":711,"in_reply_to":"3afb71cf_a6f23f04","updated":"2015-06-10 13:21:41.000000000","message":"Provider networks need to be on all nodes running the L2 agent, so I think Russell is correct here.","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"7a4e29b1d7e42d30c2472879224421135c75c845","unresolved":false,"context_lines":[{"line_number":708,"context_line":"function start_neutron_l2_agent {"},{"line_number":709,"context_line":"    run_process q-agt \"python $AGENT_BINARY --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE\""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    if is_provider_network; then"},{"line_number":712,"context_line":"        sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_PHYSICAL_BRIDGE $PUBLIC_INTERFACE"},{"line_number":713,"context_line":"        sudo ip link set $OVS_PHYSICAL_BRIDGE up"},{"line_number":714,"context_line":"        sudo ip link set br-int up"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3afb71cf_43aedde6","line":711,"in_reply_to":"3afb71cf_f100f203","updated":"2015-06-10 12:35:32.000000000","message":"There\u0027s no such thing as \"controller node\" in devstack, though.  I guess it could be tied to wherever the l3 agent is running?","commit_id":"09b94603bb4f903616da3b1b4970ee1e2a666b91"}]}
