)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"059366aecee1132554931d64683cee44724bb6fd","unresolved":false,"context_lines":[{"line_number":19,"context_line":"iface-id to the tap device, we should not set it in the *real* VIF"},{"line_number":20,"context_line":"which is the one that XenServer deal with, because if we set it in"},{"line_number":21,"context_line":"both, when rebooting the VM, neutron side can notice both changes"},{"line_number":22,"context_line":"which is wrong"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Depends-On: Ic7bab9fd3eeed8be3f1493716178189bcf048da1"},{"line_number":25,"context_line":"Partial-Bug: #1649747"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffe62b97_3077bf3d","line":22,"updated":"2017-03-24 10:39:31.000000000","message":"I don\u0027t understand this - I thought that with the interim network we were exposing a single port to Neutron now, which should have the iface-id on it?\nNeutron should only see one port, which is the one coming out of the interim bridge.","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"f80b2854f8c6ec432015a08b032b0d69c4d9f4e1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"iface-id to the tap device, we should not set it in the *real* VIF"},{"line_number":20,"context_line":"which is the one that XenServer deal with, because if we set it in"},{"line_number":21,"context_line":"both, when rebooting the VM, neutron side can notice both changes"},{"line_number":22,"context_line":"which is wrong"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Depends-On: Ic7bab9fd3eeed8be3f1493716178189bcf048da1"},{"line_number":25,"context_line":"Partial-Bug: #1649747"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffe62b97_263545db","line":22,"in_reply_to":"ffe62b97_3077bf3d","updated":"2017-03-24 11:17:08.000000000","message":"For qvo, it wil set https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vif.py#L554 and this is the neutron-port-id\nBut whe creating a port, there is https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vif.py#L273 to set nicira-iface-id, and I think this will result in iface-id is in vif, see below, you can see iface-id is different from xs-vif-uuid, and iface-id is the neutron-port-id and this results in two ports have the same iface-id, qvo-XXX is the one that neutron care, but we still have vif43.0 be assigned such value, which is not correct\n\nnew \"vif43.0\" 5 {attached-mac\u003d\"fa:16:3e:20:2b:cd\", iface-id\u003d\"c7ed4944-e326-4f1c-9d47-62c5e473db07\", iface-status\u003dactive, vm-id\u003d\"b187462b-6fea-3df7-7876-7b6aa4965665\", xs-network-uuid\u003d\"65e4c1f0-5e07-bdde-721b-a553e3cb30d0\", xs-vif-uuid\u003d\"47ccb705-b2f5-93eb-b58d-","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"}],"nova/virt/xenapi/vif.py":[{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"e3e8dcb668733af389e4a27bd2ffa3478133b6a9","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        vif_rec[\u0027MTU\u0027] \u003d \u00271500\u0027"},{"line_number":271,"context_line":"        vif_rec[\u0027qos_algorithm_type\u0027] \u003d \u0027\u0027"},{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_cd02ca6f","line":274,"range":{"start_line":273,"start_character":8,"end_line":274,"end_character":36},"updated":"2017-03-28 03:29:25.000000000","message":"This comments also said that we set nicira-iface-id to set the iface-id in ovsdb Interface table. But here the acutall value is vif[\u0027id\u0027], i.e. Neutron port uuid.","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"059366aecee1132554931d64683cee44724bb6fd","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_10f03b90","line":275,"updated":"2017-03-24 10:39:31.000000000","message":"I think we absolutely must not do this.  nicira-iface-id is a magic key name used by external scripts - for example Rackspace will depend on this specific name.\n\nI don\u0027t understand why this bugfix includes a rename of the setting in other-config?","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"f80b2854f8c6ec432015a08b032b0d69c4d9f4e1","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_e6363db5","line":275,"in_reply_to":"ffe62b97_10f03b90","updated":"2017-03-24 11:17:08.000000000","message":"I think the magic *nicira-iface-id* will result in the ovsdb external-ids with iface-id be the value of nicira-iface-id. From this link http://openvswitch.org/ovs-vswitchd.conf.db.5.pdf Page:33\n\nexternal_ids : iface-id: optional string\nA system-unique identifier for the interface. On XenServer, this will commonly be the same as\nexternal_ids:xs-vif-uuid.\n\nexternal_ids : xs-vif-uuid: optional string\nThe virtual interface associated with this interface.\n\nsee below, since we set nicira-iface-id, the iface-id and the xs-vif-uuid is different\n\nnew \"vif43.0\" 5 {attached-mac\u003d\"fa:16:3e:20:2b:cd\", iface-id\u003d\"c7ed4944-e326-4f1c-9d47-62c5e473db07\", iface-status\u003dactive, vm-id\u003d\"b187462b-6fea-3df7-7876-7b6aa4965665\", xs-network-uuid\u003d\"65e4c1f0-5e07-bdde-721b-a553e3cb30d0\", xs-vif-uuid\u003d\"47ccb705-b2f5-93eb-b58d-\n\nBut if Rackspace use it, we need to consider it more for the fix","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"66fb99595ab45fffc6f341943d715f745b7a0b42","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_72c4bd91","line":275,"in_reply_to":"ffe62b97_4b35a9f6","updated":"2017-03-28 02:24:44.000000000","message":"I see, I want to change \u0027niciria-iface-id\u0027 just want to avoid this value be set as iface-id in ovsdb. I will test on my environment to see whether can keep both and iface-id isn\u0027t the same value as niciria-iface-id in ovsdb","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"66fb99595ab45fffc6f341943d715f745b7a0b42","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_f23d6d8f","line":275,"in_reply_to":"ffe62b97_bd135c5c","updated":"2017-03-28 02:24:44.000000000","message":"I see, will find out other ways to be compatible with Rackspace","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"bb0e7b5997ecfa53b4ec39f68707a81069f5420f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_bd135c5c","line":275,"in_reply_to":"ffe62b97_e6363db5","updated":"2017-03-27 12:05:55.000000000","message":"Can we set both nicira-iface-id and neutron-port-id?\nWe can change the rest of Nova to just read neutron-port-id but at least nicira-iface-id would be preserved for Rackspace.\nMight want to add a deprecation release note saying that we\u0027re planning to remove the nicira-iface-id field in future.\n\nReference agent.py from quark as the file using nicira-iface-id so if Rackspace updates this in future we can remove the Nova code.\nhttps://github.com/rackerlabs/quark/blob/master/quark/agent/agent.py","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a5dcfbcc3e88363e44f445902bede3c67e8325e7","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_4b35a9f6","line":275,"in_reply_to":"ffe62b97_e6363db5","updated":"2017-03-27 12:03:41.000000000","message":"I believe rackspace scripts extract things from the XenAPI DB today.\n\nI would rather you include both keys for some time (ideally at least once release) to give folks time to transition.","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"e3e8dcb668733af389e4a27bd2ffa3478133b6a9","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        vif_rec[\u0027qos_algorithm_params\u0027] \u003d {}"},{"line_number":273,"context_line":"        # OVS on the hypervisor monitors this key and uses it to"},{"line_number":274,"context_line":"        # set the iface-id attribute"},{"line_number":275,"context_line":"        vif_rec[\u0027other_config\u0027] \u003d {\u0027neutron-port-id\u0027: vif[\u0027id\u0027]}"},{"line_number":276,"context_line":"        vif_ref \u003d self._create_vif(vif, vif_rec, vm_ref)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # call XenAPI to plug vif"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_68616cd3","line":275,"in_reply_to":"ffe62b97_f23d6d8f","updated":"2017-03-28 03:29:25.000000000","message":"@John, I noticed that https://github.com/rackerlabs/quark/blob/master/quark/agent/agent.py only checks *nicira-iface-id*, but it doesn\u0027t use its value in XenAPI DB, so we keep \u0027nicira-iface-id\u0027 but don\u0027t set the vif[\u0027id\u0027] value? If this way can work, then it can support both Rackspace and the common case. and then \n\n(1) From xapi, you will see:\n        qos_algorithm_params (MRW): \n    qos_supported_algorithms (SRO): \n                other-config (MRW): neutron-port-id: de5db73d-55fd-470c-8880-df5f1430a984; nicira-iface-id: uuid\n                network-uuid ( RO): 6690ddb4-9dbc-caeb-eb2d-c3769679e88c\n\n(2) From ovsdb-client monitor tcp:10.71.64.46:6640 Interface name,external_ids, I can see *iface-id* value is fake\n\n                                     new    \"vif184.0\" {attached-mac\u003d\"fa:16:3e:d8:14:10\", iface-id\u003duuid, iface-status\u003dactive, vm-id\u003d\"70ddb429-89ab-b36a-9b8f-a171c47e43f1\", xs-network-uuid\u003d\"6690ddb4-9dbc-caeb-eb2d-c3769679e88c\", xs-vif-uuid\u003d\"696b5c86-d63f-4946-610b-3454d6e83032\", xs-vm-uuid\u003d\"70ddb429-89ab-b36a-9b8f-a171c47e43f1\"}","commit_id":"fff6cb509eef789762e2b3a6e4ed545b6f7ad4ae"}]}
