)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"cb74796e45123e3e92f5cb841d3b7bdd824dba8f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-09-08 11:41:28 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XenAPI:Fix problems to support installation xenserver+neutron"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Change root_help config in /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":10,"context_line":"2. Add sudoers in domU /etc/sudoers.d/neutron-rootwrap"},{"line_number":11,"context_line":"3. Add ovs agent plugins in dom0\u0027s /etc/xapi.d/plugins folder"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_f85d287d","line":8,"updated":"2015-09-08 13:11:12.000000000","message":"I think this commit message should be more about the overall change; reviewers can see the individual changes in the code.\n\nPerhaps \"The lack of a CI for XenAPI + Neutron has meant this support has been broken over time.  This is set of one-off fixes are needed to reintroduce support while we work towards getting a CI functional\"","commit_id":"88645b373144d9fd917f1569fec582611c3c2a53"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"85ab9ff02cad61a63c591388d0d94c730a5cca33","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-09-08 11:41:28 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XenAPI:Fix problems to support installation xenserver+neutron"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Change root_help config in /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":10,"context_line":"2. Add sudoers in domU /etc/sudoers.d/neutron-rootwrap"},{"line_number":11,"context_line":"3. Add ovs agent plugins in dom0\u0027s /etc/xapi.d/plugins folder"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_b2180d20","line":8,"in_reply_to":"da20952f_f85d287d","updated":"2015-09-09 05:33:51.000000000","message":"Got it, I will change it","commit_id":"88645b373144d9fd917f1569fec582611c3c2a53"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d67a596c35a88f96c3faef8be127c3e868f0c378","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The lack of a CI for XenAPI + Neutron has meant this support has been"},{"line_number":10,"context_line":"broken over time. This is set of one-off fixes that are needed to"},{"line_number":11,"context_line":"reintroduce support while we work towards getting a CI functional"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id41fdc77c155756bda9e2e9ac0446a49f06f0603"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba15a1d1_f9326f0f","line":12,"updated":"2015-09-17 04:01:44.000000000","message":"Related-Bug: #1495423","commit_id":"2dc2ccf26363827634685862f85adf216a582789"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"925bae27cc42defe41775b750bd427591374a51f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The lack of a CI for XenAPI + Neutron has meant this support has been"},{"line_number":10,"context_line":"broken over time. This is set of one-off fixes that are needed to"},{"line_number":11,"context_line":"reintroduce support while we work towards getting a CI functional"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id41fdc77c155756bda9e2e9ac0446a49f06f0603"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba15a1d1_775d8eeb","line":12,"in_reply_to":"ba15a1d1_f9326f0f","updated":"2015-09-21 10:23:37.000000000","message":"Yes, I will add this and push again","commit_id":"2dc2ccf26363827634685862f85adf216a582789"}],"lib/neutron-legacy":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"5b90258218fcbe1293bf35e8fcf112c0edb0cd22","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"    # if xenserver, add xen-dom0 to sudoer for q-agt talking to dom0"},{"line_number":1201,"context_line":"    if [ \"$VIRT_DRIVER\" \u003d \u0027xenserver\u0027 ]; then"},{"line_number":1202,"context_line":"        ROOTWRAP_SUDOER_DOM0_CMD\u003d\"$NEUTRON_ROOTWRAP-xen-dom0 $Q_RR_CONF_FILE *\""},{"line_number":1203,"context_line":"        echo \"$STACK_USER ALL\u003d(root) NOPASSWD: $ROOTWRAP_SUDOER_DOM0_CMD\" \u003e$TEMPFILE"},{"line_number":1204,"context_line":"    fi"},{"line_number":1205,"context_line":"    chmod 0440 $TEMPFILE"},{"line_number":1206,"context_line":"    sudo chown root:root $TEMPFILE"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_67209c4a","line":1203,"updated":"2015-09-12 12:10:44.000000000","message":"\"\u003e$TEMPFILE\" -\u003e \"\u003e\u003e$TEMPFILE\"","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"9f5220c2a9e5b2bc3822b4a61f122a44ec64589f","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"    # if xenserver, add xen-dom0 to sudoer for q-agt talking to dom0"},{"line_number":1201,"context_line":"    if [ \"$VIRT_DRIVER\" \u003d \u0027xenserver\u0027 ]; then"},{"line_number":1202,"context_line":"        ROOTWRAP_SUDOER_DOM0_CMD\u003d\"$NEUTRON_ROOTWRAP-xen-dom0 $Q_RR_CONF_FILE *\""},{"line_number":1203,"context_line":"        echo \"$STACK_USER ALL\u003d(root) NOPASSWD: $ROOTWRAP_SUDOER_DOM0_CMD\" \u003e$TEMPFILE"},{"line_number":1204,"context_line":"    fi"},{"line_number":1205,"context_line":"    chmod 0440 $TEMPFILE"},{"line_number":1206,"context_line":"    sudo chown root:root $TEMPFILE"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_e4e1ffff","line":1203,"in_reply_to":"ba15a1d1_67209c4a","updated":"2015-09-14 02:32:25.000000000","message":"yes, I will change this","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"}],"lib/neutron_plugins/openvswitch_agent":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"cb74796e45123e3e92f5cb841d3b7bdd824dba8f","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Under XS/XCP, the ovs agent needs to target the dom0"},{"line_number":86,"context_line":"        # integration bridge.  This is enabled by using a root wrapper"},{"line_number":87,"context_line":"        # that executes commands on dom0 via a XenAPI plugin."},{"line_number":88,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper \"$Q_RR_DOM0_COMMAND\""},{"line_number":89,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon \"\""},{"line_number":90,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"da20952f_584454b6","line":87,"updated":"2015-09-08 13:11:12.000000000","message":"Just add another quick comment:\n# Currently, XenAPI does not support the daemon rootwrap","commit_id":"88645b373144d9fd917f1569fec582611c3c2a53"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"85ab9ff02cad61a63c591388d0d94c730a5cca33","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Under XS/XCP, the ovs agent needs to target the dom0"},{"line_number":86,"context_line":"        # integration bridge.  This is enabled by using a root wrapper"},{"line_number":87,"context_line":"        # that executes commands on dom0 via a XenAPI plugin."},{"line_number":88,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper \"$Q_RR_DOM0_COMMAND\""},{"line_number":89,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon \"\""},{"line_number":90,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"da20952f_720355bf","line":87,"in_reply_to":"da20952f_584454b6","updated":"2015-09-09 05:33:51.000000000","message":"yes, I will add this comment","commit_id":"88645b373144d9fd917f1569fec582611c3c2a53"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"a7ea640eeea31621d8d695670b87a6687796ca5f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper \"$Q_RR_DOM0_COMMAND\""},{"line_number":90,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon \"\""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        # Disable minimize polling, so that it can always detect OVS and Port changes"},{"line_number":93,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent minimize_polling False"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Set \"physical\" mapping"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"da20952f_efe14a9c","line":92,"updated":"2015-09-11 13:56:58.000000000","message":"Please reference the Launchpad bug we raised against Neutron to track adding support for XenAPI with ovsdb monitor","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"9f5220c2a9e5b2bc3822b4a61f122a44ec64589f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper \"$Q_RR_DOM0_COMMAND\""},{"line_number":90,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon \"\""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        # Disable minimize polling, so that it can always detect OVS and Port changes"},{"line_number":93,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE agent minimize_polling False"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Set \"physical\" mapping"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_04baf3e1","line":92,"in_reply_to":"da20952f_efe14a9c","updated":"2015-09-14 02:32:25.000000000","message":"Sure, I will add the bug link","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"5b90258218fcbe1293bf35e8fcf112c0edb0cd22","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # XEN_INTEGRATION_BRIDGE is the integration bridge in dom0"},{"line_number":99,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE ovs integration_bridge $XEN_INTEGRATION_BRIDGE"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        # Set up domU\u0027s L2 agent:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Create a bridge \"br-$GUEST_INTERFACE_DEFAULT\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_871db011","line":101,"updated":"2015-09-12 12:10:44.000000000","message":"This new line is unnecessary.","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"9f5220c2a9e5b2bc3822b4a61f122a44ec64589f","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # XEN_INTEGRATION_BRIDGE is the integration bridge in dom0"},{"line_number":99,"context_line":"        iniset /$Q_PLUGIN_CONF_FILE ovs integration_bridge $XEN_INTEGRATION_BRIDGE"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        # Set up domU\u0027s L2 agent:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Create a bridge \"br-$GUEST_INTERFACE_DEFAULT\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_a4e4670d","line":101,"in_reply_to":"ba15a1d1_871db011","updated":"2015-09-14 02:32:25.000000000","message":"got it, will remove it","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"5b90258218fcbe1293bf35e8fcf112c0edb0cd22","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        _neutron_ovs_base_add_bridge \"br-$GUEST_INTERFACE_DEFAULT\""},{"line_number":106,"context_line":"        # Add $GUEST_INTERFACE_DEFAULT to that bridge"},{"line_number":107,"context_line":"        sudo ovs-vsctl -- --may-exist add-port \"br-$GUEST_INTERFACE_DEFAULT\" $GUEST_INTERFACE_DEFAULT"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Set bridge mappings to \"physnet1:br-$GUEST_INTERFACE_DEFAULT\""},{"line_number":111,"context_line":"        iniset \"/$Q_PLUGIN_CONF_FILE.domU\" ovs bridge_mappings \"physnet1:br-$GUEST_INTERFACE_DEFAULT\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_271aa418","line":108,"updated":"2015-09-12 12:10:44.000000000","message":"ditto","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"9f5220c2a9e5b2bc3822b4a61f122a44ec64589f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        _neutron_ovs_base_add_bridge \"br-$GUEST_INTERFACE_DEFAULT\""},{"line_number":106,"context_line":"        # Add $GUEST_INTERFACE_DEFAULT to that bridge"},{"line_number":107,"context_line":"        sudo ovs-vsctl -- --may-exist add-port \"br-$GUEST_INTERFACE_DEFAULT\" $GUEST_INTERFACE_DEFAULT"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Set bridge mappings to \"physnet1:br-$GUEST_INTERFACE_DEFAULT\""},{"line_number":111,"context_line":"        iniset \"/$Q_PLUGIN_CONF_FILE.domU\" ovs bridge_mappings \"physnet1:br-$GUEST_INTERFACE_DEFAULT\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba15a1d1_64ee4fee","line":108,"in_reply_to":"ba15a1d1_271aa418","updated":"2015-09-14 02:32:25.000000000","message":"yes, will remove unnecessary blank line","commit_id":"10f5cb75e36639bdbad364f68d58e8cb5231fe1d"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"a5e975a7894f644ba31a7b6b90abc1c3aa665c17","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        sudo cp /$Q_PLUGIN_CONF_FILE \"/$Q_PLUGIN_CONF_FILE.domU\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # change domU\u0027s config file to STACK_USER"},{"line_number":75,"context_line":"        sudo chown $STACK_USER:$STACK_USER /$Q_PLUGIN_CONF_FILE.domU"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Deal with Dom0\u0027s L2 Agent:"},{"line_number":78,"context_line":"        Q_RR_DOM0_COMMAND\u003d\"sudo $NEUTRON_BIN_DIR/neutron-rootwrap-xen-dom0 $Q_RR_CONF_FILE\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a1a9d01_4b72f34a","line":75,"updated":"2015-09-28 01:56:08.000000000","message":"can we just do this all in one with \"install\"","commit_id":"c68ce021be0639a30fdfa550765763bc596d1ca4"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"100a31f605b612ecaf4d34c2701a4c623c354107","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        sudo cp /$Q_PLUGIN_CONF_FILE \"/$Q_PLUGIN_CONF_FILE.domU\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # change domU\u0027s config file to STACK_USER"},{"line_number":75,"context_line":"        sudo chown $STACK_USER:$STACK_USER /$Q_PLUGIN_CONF_FILE.domU"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Deal with Dom0\u0027s L2 Agent:"},{"line_number":78,"context_line":"        Q_RR_DOM0_COMMAND\u003d\"sudo $NEUTRON_BIN_DIR/neutron-rootwrap-xen-dom0 $Q_RR_CONF_FILE\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"9a1a9d01_693af1e8","line":75,"in_reply_to":"9a1a9d01_4b72f34a","updated":"2015-09-30 09:16:24.000000000","message":"Do you mean move these to another place or let xenserver related to a new function?","commit_id":"c68ce021be0639a30fdfa550765763bc596d1ca4"}]}
