)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"0cfad79127ac7ec9d1c35c5ee6c3492300ed3281","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add stt type driver to ML2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a type driver to leverage the STT protocol that was recently"},{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/html/draft-davie-stt-01"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_206fcfc6","line":10,"updated":"2015-06-03 07:29:30.000000000","message":"There is already version 6 of this, maybe link to it:\nhttps://tools.ietf.org/pdf/draft-davie-stt-06.pdf","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"f5f212046a7136f1ce9980485175ea1f93f1aa8c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/html/draft-davie-stt-01"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_56baa20b","line":13,"updated":"2015-06-02 23:24:16.000000000","message":"If you re-spin, might as well close the following bug that was filed.\n\nhttps://bugs.launchpad.net/neutron/+bug/1461068","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"e37313224f741e3bc05c5b1a38d1f71112439dac","unresolved":false,"context_lines":[{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/html/draft-davie-stt-01"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_010d0290","line":13,"in_reply_to":"5afe65bd_56baa20b","updated":"2015-06-03 00:36:42.000000000","message":"Will do","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"18250d5639c8d97d7360de50735468f36b4c1e6c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds a type driver to leverage the STT protocol that was recently"},{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/pdf/draft-davie-stt-06.pdf"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: 1461068"},{"line_number":14,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3afb71cf_30c14c81","line":12,"updated":"2015-06-08 15:12:48.000000000","message":"DocImpact?","commit_id":"db1fd7d7a63c3bba63ee21100eaf179afda44bcd"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"9d595554206fe098058da3edcdbdbe38084a4300","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds a type driver to leverage the STT protocol that was recently"},{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/pdf/draft-davie-stt-06.pdf"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: 1461068"},{"line_number":14,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3afb71cf_da7d6eb2","line":12,"in_reply_to":"3afb71cf_30c14c81","updated":"2015-06-08 18:15:20.000000000","message":"Done","commit_id":"db1fd7d7a63c3bba63ee21100eaf179afda44bcd"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d102cb6e6713b3c14d465230d7aed9a6e3cb78b8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"added to OpenvSwitch. For more details about STT checkout:"},{"line_number":11,"context_line":"https://tools.ietf.org/pdf/draft-davie-stt-06.pdf"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"Closes-bug: 1461068"},{"line_number":15,"context_line":"Change-Id: Ife8fbd7933ffafb44dd930b513f36fe560d395d6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7a740942_481d6a72","line":13,"updated":"2015-12-04 01:19:00.000000000","message":"Please follow guidelines as detailed here:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-November/080294.html\n\n\"you will need to add a description whenever you add a DocImpact flag in your commit message.\"","commit_id":"d92733424464e54e6b2e0c692e47a28598b39cbd"}],"etc/neutron/plugins/ml2/ml2_conf.ini":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ea4f4f6fd9ac01d83319a4dbbe07c2b9264e0d9c","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"[ml2_type_stt]"},{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of VXLAN VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"7a016987_369b5d68","line":98,"updated":"2015-05-28 20:51:45.000000000","message":"s/VXLAN/STT","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8d34881e2ff425eb582acf98c79ae806c4a03159","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"[ml2_type_stt]"},{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of VXLAN VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"7a016987_36147d4b","line":98,"in_reply_to":"7a016987_369b5d68","updated":"2015-05-28 21:05:28.000000000","message":"Done","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"24ed5f6f8b6ee6d1d206db4508084df1bdf7bb6d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":3,"id":"7a016987_c2431fae","line":100,"updated":"2015-05-28 23:07:35.000000000","message":"We may want to introduce an example, and add an example in ml2_type_vxlan as well.","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8acd17a8f3e75b362ebc0f88247b4ffb853e7c64","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":3,"id":"7a016987_f9000dad","line":100,"in_reply_to":"7a016987_c2431fae","updated":"2015-05-29 04:36:13.000000000","message":"i think the comment above describes this enough.","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"ae649a0202799ec23209353f1466d2c98f55e94f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[ml2]"},{"line_number":2,"context_line":"# (ListOpt) List of network type driver entrypoints to be loaded from"},{"line_number":3,"context_line":"# the neutron.ml2.type_drivers namespace."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# type_drivers \u003d local,flat,vlan,gre,vxlan"},{"line_number":6,"context_line":"# Example: type_drivers \u003d flat,vlan,gre,vxlan"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-properties","patch_set":5,"id":"5afe65bd_6a1366b9","line":4,"updated":"2015-06-03 06:51:05.000000000","message":"stt needs to be added here as well ?","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"076a5b87e64b04e87c60140daafda52649fd40d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[ml2]"},{"line_number":2,"context_line":"# (ListOpt) List of network type driver entrypoints to be loaded from"},{"line_number":3,"context_line":"# the neutron.ml2.type_drivers namespace."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# type_drivers \u003d local,flat,vlan,gre,vxlan"},{"line_number":6,"context_line":"# Example: type_drivers \u003d flat,vlan,gre,vxlan"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-properties","patch_set":5,"id":"5afe65bd_40640b48","line":4,"in_reply_to":"5afe65bd_6a1366b9","updated":"2015-06-03 07:48:41.000000000","message":"Done","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"ae649a0202799ec23209353f1466d2c98f55e94f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# networks. The default value \u0027local\u0027 is useful for single-box testing"},{"line_number":10,"context_line":"# but provides no connectivity between hosts."},{"line_number":11,"context_line":"#"},{"line_number":12,"context_line":"# tenant_network_types \u003d local"},{"line_number":13,"context_line":"# Example: tenant_network_types \u003d vlan,gre,vxlan"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# (ListOpt) Ordered list of networking mechanism driver entrypoints"}],"source_content_type":"text/x-properties","patch_set":5,"id":"5afe65bd_0a399241","line":12,"updated":"2015-06-03 06:51:05.000000000","message":"ditto?","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"076a5b87e64b04e87c60140daafda52649fd40d3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# networks. The default value \u0027local\u0027 is useful for single-box testing"},{"line_number":10,"context_line":"# but provides no connectivity between hosts."},{"line_number":11,"context_line":"#"},{"line_number":12,"context_line":"# tenant_network_types \u003d local"},{"line_number":13,"context_line":"# Example: tenant_network_types \u003d vlan,gre,vxlan"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# (ListOpt) Ordered list of networking mechanism driver entrypoints"}],"source_content_type":"text/x-properties","patch_set":5,"id":"5afe65bd_205b4f89","line":12,"in_reply_to":"5afe65bd_0a399241","updated":"2015-06-03 07:48:41.000000000","message":"Done","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3ec0d15dd3dca4047cc96aff9dcaa75b5ee67396","unresolved":false,"context_lines":[{"line_number":93,"context_line":"# vxlan_group \u003d"},{"line_number":94,"context_line":"# Example: vxlan_group \u003d 239.1.1.1"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"[ml2_type_stt]"},{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"}],"source_content_type":"text/x-properties","patch_set":9,"id":"5afe65bd_81a2cdfb","line":96,"updated":"2015-06-04 11:26:47.000000000","message":"Can you please add a DocImpact flag to the commit messaage and list the new configuration flags. That will be helpful for the people documenting the next version","commit_id":"db1fd7d7a63c3bba63ee21100eaf179afda44bcd"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"9a21afd93c984497d2a73d86c2d16439d59d5e4a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"# vxlan_group \u003d"},{"line_number":94,"context_line":"# Example: vxlan_group \u003d 239.1.1.1"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"[ml2_type_stt]"},{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"}],"source_content_type":"text/x-properties","patch_set":9,"id":"3afb71cf_d9793831","line":96,"in_reply_to":"5afe65bd_81a2cdfb","updated":"2015-06-05 20:03:59.000000000","message":"Done","commit_id":"db1fd7d7a63c3bba63ee21100eaf179afda44bcd"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"1d6387ad5bcb0bd37f51c8cfb81bb1d3e1cd5ff5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":13,"id":"fa32b979_916ac619","line":100,"updated":"2015-06-13 02:13:59.000000000","message":"For STT, isn\u0027t this called \"Context ID\" instead of VNI?","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"221cd5a78815a60c9aee95a142f07a7e84211151","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":13,"id":"fa32b979_93af23e3","line":100,"in_reply_to":"fa32b979_916ac619","updated":"2015-06-13 17:37:01.000000000","message":"I believe you\u0027re right:\n\nhttps://tools.ietf.org/id/draft-davie-stt-06.txt\n\nPage 9 (header), and end of Page 7 (context id explanation).","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8857e8ccf3c5d85fbed5b2e807eb9d27bbefe7f7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":13,"id":"fa32b979_dd09072e","line":100,"in_reply_to":"fa32b979_93af23e3","updated":"2015-06-15 18:17:52.000000000","message":"Done","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"ec6f3bb014f5e56dc96485cf6aaca7ee2931aa04","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":15,"id":"fa32b979_13823353","line":100,"updated":"2015-06-13 17:37:32.000000000","message":"See comment from Kyle on PS13\n\ncontext_id_ranges ? \nhttps://tools.ietf.org/id/draft-davie-stt-06.txt","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"3159c1d3b11ad73f3191e866647e0b3c84764825","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":15,"id":"fa32b979_eb09c832","line":100,"in_reply_to":"fa32b979_13823353","updated":"2015-06-15 02:23:07.000000000","message":"Yes, this needs to be \"context ID\"","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"3899f33b85a7ee0eba3050e72b2c7861a9e0bfa6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# vni_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"},{"line_number":103,"context_line":"# Controls if neutron security group is enabled or not."}],"source_content_type":"text/x-properties","patch_set":15,"id":"fa32b979_fd716ba9","line":100,"in_reply_to":"fa32b979_eb09c832","updated":"2015-06-15 18:19:36.000000000","message":"Will do, I haven\u0027t updated this patset yet. It was rebased by the above patch.","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"97725e9e46ebf97db39f52fcd0fef4814b290407","unresolved":false,"context_lines":[{"line_number":96,"context_line":"[ml2_type_stt]"},{"line_number":97,"context_line":"# (ListOpt) Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples enumerating"},{"line_number":98,"context_line":"# ranges of STT VNI IDs that are available for tenant network allocation."},{"line_number":99,"context_line":"#"},{"line_number":100,"context_line":"# context_id_ranges \u003d"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[securitygroup]"}],"source_content_type":"text/x-properties","patch_set":18,"id":"1a4dcd0f_64465b51","line":99,"updated":"2015-08-13 18:51:48.000000000","message":"nit: will be a good idea to put an example in here","commit_id":"d92733424464e54e6b2e0c692e47a28598b39cbd"}],"neutron/db/migration/alembic_migrations/versions/3abed5b82c57_add_stt_type_driver.py":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"24ed5f6f8b6ee6d1d206db4508084df1bdf7bb6d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"},{"line_number":43,"context_line":"    op.create_table("},{"line_number":44,"context_line":"        \u0027ml2_stt_endpoints\u0027,"},{"line_number":45,"context_line":"        sa.Column(\u0027ip_address\u0027, sa.String(length\u003d64), nullable\u003dFalse),"},{"line_number":46,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":47,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_82cd2733","line":45,"updated":"2015-05-28 23:07:35.000000000","message":"How about 45? That will cover IPv4, IPv6, and also for IPv4 mapped IPv6 addresses, I think.","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"377f0b8b2cf5f2603969bcbe56350b637725fd22","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"},{"line_number":43,"context_line":"    op.create_table("},{"line_number":44,"context_line":"        \u0027ml2_stt_endpoints\u0027,"},{"line_number":45,"context_line":"        sa.Column(\u0027ip_address\u0027, sa.String(length\u003d64), nullable\u003dFalse),"},{"line_number":46,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":47,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_01a5ab45","line":45,"in_reply_to":"7a016987_19dac9e8","updated":"2015-05-29 07:16:08.000000000","message":"Too short? The longest IPv6 address that is valid is an IPv4 embedded IPv6 address - such as\n\nffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255\n\nNow, obviously that would be compressed down quite a bit, but that\u0027s the maximum.\n\nunless I am mistaken","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8acd17a8f3e75b362ebc0f88247b4ffb853e7c64","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"},{"line_number":43,"context_line":"    op.create_table("},{"line_number":44,"context_line":"        \u0027ml2_stt_endpoints\u0027,"},{"line_number":45,"context_line":"        sa.Column(\u0027ip_address\u0027, sa.String(length\u003d64), nullable\u003dFalse),"},{"line_number":46,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":47,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_b97a95ef","line":45,"in_reply_to":"7a016987_82cd2733","updated":"2015-05-29 04:36:13.000000000","message":"this is the same endpoint length as what is done for the vxlan driver.","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"af693fb841302c602da303f9d9c891830c4fe313","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"},{"line_number":43,"context_line":"    op.create_table("},{"line_number":44,"context_line":"        \u0027ml2_stt_endpoints\u0027,"},{"line_number":45,"context_line":"        sa.Column(\u0027ip_address\u0027, sa.String(length\u003d64), nullable\u003dFalse),"},{"line_number":46,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":47,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_19dac9e8","line":45,"in_reply_to":"7a016987_b97a95ef","updated":"2015-05-29 04:41:06.000000000","message":"45 is too short for ipv6 anyways.","commit_id":"f32d1f7d7ce2f20f9f10119e5a43e9f60eab603d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"7b74cb017e20a702be4c3141baea458e55035b0c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"def downgrade():"},{"line_number":53,"context_line":"    op.drop_table(\u0027ml2_stt_allocations\u0027)"},{"line_number":54,"context_line":"    op.drop_table(\u0027ml2_stt_endpoints\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_e14e0f6e","line":52,"updated":"2015-05-29 06:37:03.000000000","message":"downgrade should be removed - https://bugs.launchpad.net/neutron/+bug/1434103","commit_id":"9254c8744befc8610b9d41a23c88fb443d2e79a3"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"ee343209157f10d33b388008ebbf00c22c56ca11","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"def downgrade():"},{"line_number":53,"context_line":"    op.drop_table(\u0027ml2_stt_allocations\u0027)"},{"line_number":54,"context_line":"    op.drop_table(\u0027ml2_stt_endpoints\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_810e3b8a","line":52,"in_reply_to":"7a016987_e14e0f6e","updated":"2015-05-29 16:35:02.000000000","message":"Done","commit_id":"9254c8744befc8610b9d41a23c88fb443d2e79a3"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"9d88358a34573cde941cca0320624b85b8cb7755","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a29b11f_c6c0847f","line":2,"updated":"2015-10-23 23:01:23.000000000","message":"this needs to move under mitaka/expand","commit_id":"d92733424464e54e6b2e0c692e47a28598b39cbd"}],"neutron/db/migration/alembic_migrations/versions/4d1b07c813c7_add_ml2_stt_driver.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c8baa3258c4a0b1d2131655726875cd68041d289","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        sa.Column(\u0027stt_vni\u0027, sa.Integer(),"},{"line_number":37,"context_line":"                  autoincrement\u003dFalse, nullable\u003dFalse),"},{"line_number":38,"context_line":"        sa.Column(\u0027allocated\u0027, sa.Boolean(),"},{"line_number":39,"context_line":"                  server_default\u003dsa.text(u\u00270\u0027), nullable\u003dFalse),"},{"line_number":40,"context_line":"        sa.PrimaryKeyConstraint(\u0027stt_vni\u0027),"},{"line_number":41,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":42,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_7f10fa4e","line":39,"updated":"2015-05-06 07:49:41.000000000","message":"It is better to use server_default\u003dsa.sql.false()","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"a208609be070ae980aeb4e1d8db5befe5949bc9f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        sa.Column(\u0027stt_vni\u0027, sa.Integer(),"},{"line_number":37,"context_line":"                  autoincrement\u003dFalse, nullable\u003dFalse),"},{"line_number":38,"context_line":"        sa.Column(\u0027allocated\u0027, sa.Boolean(),"},{"line_number":39,"context_line":"                  server_default\u003dsa.text(u\u00270\u0027), nullable\u003dFalse),"},{"line_number":40,"context_line":"        sa.PrimaryKeyConstraint(\u0027stt_vni\u0027),"},{"line_number":41,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":42,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_7350c732","line":39,"in_reply_to":"1aca2d91_7f10fa4e","updated":"2015-05-28 20:30:10.000000000","message":"Done","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c8baa3258c4a0b1d2131655726875cd68041d289","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        sa.Column(\u0027allocated\u0027, sa.Boolean(),"},{"line_number":39,"context_line":"                  server_default\u003dsa.text(u\u00270\u0027), nullable\u003dFalse),"},{"line_number":40,"context_line":"        sa.PrimaryKeyConstraint(\u0027stt_vni\u0027),"},{"line_number":41,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":42,"context_line":"    )"},{"line_number":43,"context_line":"    op.create_index(op.f(\u0027ix_ml2_stt_allocations_allocated\u0027),"},{"line_number":44,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_5c066c21","line":41,"updated":"2015-05-06 07:49:41.000000000","message":"InnoDB - not needed, it is set automatically.","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"a208609be070ae980aeb4e1d8db5befe5949bc9f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        sa.Column(\u0027allocated\u0027, sa.Boolean(),"},{"line_number":39,"context_line":"                  server_default\u003dsa.text(u\u00270\u0027), nullable\u003dFalse),"},{"line_number":40,"context_line":"        sa.PrimaryKeyConstraint(\u0027stt_vni\u0027),"},{"line_number":41,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":42,"context_line":"    )"},{"line_number":43,"context_line":"    op.create_index(op.f(\u0027ix_ml2_stt_allocations_allocated\u0027),"},{"line_number":44,"context_line":"                    \u0027ml2_stt_allocations\u0027, [\u0027allocated\u0027], unique\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_53414b62","line":41,"in_reply_to":"1aca2d91_5c066c21","updated":"2015-05-28 20:30:10.000000000","message":"Done","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c8baa3258c4a0b1d2131655726875cd68041d289","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":49,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":50,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"},{"line_number":51,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_bf2452af","line":51,"updated":"2015-05-06 07:49:41.000000000","message":"the same","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"a208609be070ae980aeb4e1d8db5befe5949bc9f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        sa.Column(\u0027host\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":49,"context_line":"        sa.PrimaryKeyConstraint(\u0027ip_address\u0027),"},{"line_number":50,"context_line":"        sa.UniqueConstraint(\u0027host\u0027, name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"},{"line_number":51,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_13607300","line":51,"in_reply_to":"1aca2d91_bf2452af","updated":"2015-05-28 20:30:10.000000000","message":"Done","commit_id":"42d3a0dc7cb5ec45d42275e669362383890f3482"}],"neutron/db/migration/alembic_migrations/versions/HEAD":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"54f542eea302d688d3e17989696e190389de3e08","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3a29b11f_e1b4ad82","updated":"2015-10-23 03:25:01.000000000","message":"no more HEAD file needed","commit_id":"d92733424464e54e6b2e0c692e47a28598b39cbd"}],"neutron/plugins/common/constants.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"9d459f5d41147fbb1ab7b1b11408452401415829","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_76cd5530","line":100,"updated":"2015-05-28 21:01:21.000000000","message":"holy cow, this is like the cadillac of overheads. ;)","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8d34881e2ff425eb582acf98c79ae806c4a03159","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_11ae2be6","line":100,"in_reply_to":"7a016987_76cd5530","updated":"2015-05-28 21:05:28.000000000","message":"Done","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"2d3371d6dc0fb3c8aff6ac449dc0bd6c1a433cc6","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"# For STT Tunnel"},{"line_number":89,"context_line":"MIN_STT_VNI \u003d 1"},{"line_number":90,"context_line":"MAX_STT_VNI \u003d 2 ** 64 - 1"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"# For VXLAN Tunnel"},{"line_number":93,"context_line":"MIN_VXLAN_VNI \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_e576eda2","line":90,"updated":"2015-05-31 10:07:27.000000000","message":"isn\u0027t \"Context ID\" a more appropriate term?","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"fd9d043fc41c9f999db246a1ba5b1272dbd68e3a","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"# For STT Tunnel"},{"line_number":89,"context_line":"MIN_STT_VNI \u003d 1"},{"line_number":90,"context_line":"MAX_STT_VNI \u003d 2 ** 64 - 1"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"# For VXLAN Tunnel"},{"line_number":93,"context_line":"MIN_VXLAN_VNI \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_1392d357","line":90,"in_reply_to":"7a016987_e576eda2","updated":"2015-06-03 18:15:12.000000000","message":"sure I\u0027ll change it to match the stt term.","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"2d3371d6dc0fb3c8aff6ac449dc0bd6c1a433cc6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_a57a3575","line":100,"updated":"2015-05-31 10:07:27.000000000","message":"80?  can you explain?","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"5336526da3f7ddc496ec10bd4a3b4f592076020f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_598d4830","line":100,"in_reply_to":"3afb71cf_20826501","updated":"2015-06-05 20:03:34.000000000","message":"Right, this wasn\u0027t needed. I removed it.","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"041917072a947451542ec243d25c19decc1bb70f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_56197987","line":100,"in_reply_to":"3afb71cf_21035c0f","updated":"2015-06-08 05:06:39.000000000","message":"See my answer in comment on main page","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"110e89fb15d7386284fe3d0f17d80f4f6c490c37","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_21035c0f","line":100,"in_reply_to":"3afb71cf_598d4830","updated":"2015-06-08 01:11:40.000000000","message":"i don\u0027t understand why it wasn\u0027t necessary.\nmy understanding is that, the idea of this xxx_OVERHEAD stuff is to reduce mtu to\navoid packet size exceeding the underlay\u0027s mtu.","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"59dfbb917007b17220347e0d21fd1b3c848c3afd","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_20826501","line":100,"in_reply_to":"5afe65bd_8e58d633","updated":"2015-06-05 10:53:22.000000000","message":"my question was how to calculate this value.\neg. eth hdr (18) + ip hdr (20?) + tcp hdr (20?) + stt hdr(18) ...","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"fd9d043fc41c9f999db246a1ba5b1272dbd68e3a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"STT_ENCAP_OVERHEAD \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_8e58d633","line":100,"in_reply_to":"7a016987_a57a3575","updated":"2015-06-03 18:15:12.000000000","message":"I just checked with the ovs guys and they said that STT doesn\u0027t trigger outer ip fragmentation as GRE/VXLAN as those are UDP based.","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d0083279fc0f5fe16cb5248dd5c1cc99aa699c82","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_964ea66d","line":99,"updated":"2015-06-08 22:23:54.000000000","message":"can you add a code comment to explain why ENCAP_OVERHEAD stuff is not appropriate for stt?","commit_id":"4e03f81179453e7c778251db8a8602b196230166"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"f8e2ca66032bfb3461f35efc063ebca93d7576a3","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_1cb1b747","line":99,"in_reply_to":"3afb71cf_964ea66d","updated":"2015-06-08 23:44:58.000000000","message":"Done","commit_id":"4e03f81179453e7c778251db8a8602b196230166"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"69345a309faabdfe026c64b310e6e52d57442c3a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":13,"id":"1af86dd1_4a0fb7e1","line":100,"updated":"2015-06-12 15:55:25.000000000","message":"sorry, i failed to understand what this comment means.\n\nit surely have some overhead for headers.\nyou mean it isn\u0027t worth to reduce MTUs\nas segmentation is supposed to be h/w offloaded for STT\nand thus very fast?","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"1d6387ad5bcb0bd37f51c8cfb81bb1d3e1cd5ff5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_31773a04","line":100,"in_reply_to":"1af86dd1_15a43355","updated":"2015-06-13 02:13:59.000000000","message":"As written, it is confusing.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"a395306882433b46ee7cf00531d7f3b9a20c8870","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":13,"id":"1af86dd1_15a43355","line":100,"in_reply_to":"1af86dd1_4a0fb7e1","updated":"2015-06-12 21:43:56.000000000","message":"I mean that its at the TCP layer so L2 fragmentation doesn\u0027t occur from it unlike GRE/VXLAN which are udp based.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8857e8ccf3c5d85fbed5b2e807eb9d27bbefe7f7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_5d1e5764","line":100,"in_reply_to":"fa32b979_31773a04","updated":"2015-06-15 18:17:52.000000000","message":"Done","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"2565c89c36259a05b605c0aef48bb76b49286672","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_c036fae6","line":100,"in_reply_to":"fa32b979_5d1e5764","updated":"2015-06-15 18:38:39.000000000","message":"What I mean is the over head of the extra encap data does not need to be taken into account by the system so it doesn\u0027t cause l2 fragmentation.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"ec6f3bb014f5e56dc96485cf6aaca7ee2931aa04","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_13e9d31a","line":100,"updated":"2015-06-13 17:37:32.000000000","message":"It has overhead:\n\n\"\"\"STT adds 80 bytes of new header to a VM originated ethernet packet for the first segment of this packet, 62 for each following segment\"\"\" from: http://www.plexxi.com/2014/01/stateless-transport-tunneling-stt-meets-network/\n\nBasically first of them is a normal ETH+IP+TCP overhead + the STT details with context id, from there it\u0027s only ETH+IP+TCP because it uses the TCP connection to identify all the STT details sent on opening connection.\n\nIt doesn\u0027t have software overhead on processing when you have a NIC with TCP offload, but it will definitely affect MTU in the tenant network, unless I\u0027m missing some important point, which could be ;)","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"3899f33b85a7ee0eba3050e72b2c7861a9e0bfa6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_bd6443e5","line":100,"in_reply_to":"fa32b979_13e9d31a","updated":"2015-06-15 18:19:36.000000000","message":"Done","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"dd56a46629b3a1f94b8cb2f501a27e6e48287152","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have a ENCAP_OVERHEAD as it\u0027s TCP based"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_3d1cb376","line":100,"in_reply_to":"fa32b979_bd6443e5","updated":"2015-06-15 18:37:22.000000000","message":"What I mean is the over head of the extra encap data does not need to be taken into account by the system so it doesn\u0027t cause l2 fragmentation.","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"469f277a7e484bb099b98404294d9208a55aa57c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have need an ENCAP_OVERHEAD as it\u0027s TCP based"},{"line_number":101,"context_line":"# thus L2 fragmentation will not come into play. The packets will be"},{"line_number":102,"context_line":"# sized to the systems configured MTU."}],"source_content_type":"text/x-python","patch_set":17,"id":"fa32b979_4e2f7bf6","line":100,"updated":"2015-06-15 19:49:41.000000000","message":"Nit: does not need","commit_id":"08ff63590eb503cdf4563b32229d84ddc40412ca"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"1bb3bf6839ed5bd074af032b6647548cafb32052","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Network Type MTU overhead"},{"line_number":98,"context_line":"GRE_ENCAP_OVERHEAD \u003d 42"},{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have need an ENCAP_OVERHEAD as it\u0027s TCP based"},{"line_number":101,"context_line":"# thus L2 fragmentation will not come into play. The packets will be"},{"line_number":102,"context_line":"# sized to the systems configured MTU."}],"source_content_type":"text/x-python","patch_set":17,"id":"fa32b979_64037b0e","line":100,"in_reply_to":"fa32b979_4e2f7bf6","updated":"2015-06-15 21:48:03.000000000","message":"Done","commit_id":"08ff63590eb503cdf4563b32229d84ddc40412ca"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"469f277a7e484bb099b98404294d9208a55aa57c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have need an ENCAP_OVERHEAD as it\u0027s TCP based"},{"line_number":101,"context_line":"# thus L2 fragmentation will not come into play. The packets will be"},{"line_number":102,"context_line":"# sized to the systems configured MTU."}],"source_content_type":"text/x-python","patch_set":17,"id":"fa32b979_89301dea","line":102,"updated":"2015-06-15 19:49:41.000000000","message":"The way I understand it (from googling) is that STT itself detects if a frame will exceed the underlying MTU and does its own fragmentation and reassembly. The underlying network stack never sees packets exceeding the MTU.\n\nFrom what I can tell its software algorithm is superior to the one in the kernel stack, and it can also be hardware offloaded.\n\nYou don\u0027t need to take any action on this comment, I just thought it might help some of the other reviewers. I could also be completely wrong, in which case it helps no one.","commit_id":"08ff63590eb503cdf4563b32229d84ddc40412ca"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"1bb3bf6839ed5bd074af032b6647548cafb32052","unresolved":false,"context_lines":[{"line_number":99,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 50"},{"line_number":100,"context_line":"# NOTE(arosen): STT does have need an ENCAP_OVERHEAD as it\u0027s TCP based"},{"line_number":101,"context_line":"# thus L2 fragmentation will not come into play. The packets will be"},{"line_number":102,"context_line":"# sized to the systems configured MTU."}],"source_content_type":"text/x-python","patch_set":17,"id":"fa32b979_8107911b","line":102,"in_reply_to":"fa32b979_89301dea","updated":"2015-06-15 21:48:03.000000000","message":"Done","commit_id":"08ff63590eb503cdf4563b32229d84ddc40412ca"}],"neutron/plugins/ml2/drivers/type_stt.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"9d459f5d41147fbb1ab7b1b11408452401415829","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_d6e2c99f","line":1,"updated":"2015-05-28 21:01:21.000000000","message":"back to the future!","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8d34881e2ff425eb582acf98c79ae806c4a03159","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_f11a6f6e","line":1,"in_reply_to":"7a016987_d6e2c99f","updated":"2015-05-28 21:05:28.000000000","message":"Done","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"9d459f5d41147fbb1ab7b1b11408452401415829","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                              \"Service terminated!\"))"},{"line_number":83,"context_line":"            raise SystemExit()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def sync_allocations(self):"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # determine current configured allocatable vnis"},{"line_number":88,"context_line":"        stt_vnis \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_9632110f","line":85,"updated":"2015-05-28 21:01:21.000000000","message":"This is very similar to the vxlan sync_allocations method. Can you move it out into a common spot? It looks like the only reference to \u0027self\u0027 is for the tunnel ranges, so that can easily be passed in.","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"fe062402e180e0b4ca52594206fa954fd5e6aadf","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                              \"Service terminated!\"))"},{"line_number":83,"context_line":"            raise SystemExit()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def sync_allocations(self):"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # determine current configured allocatable vnis"},{"line_number":88,"context_line":"        stt_vnis \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_f19caf6b","line":85,"in_reply_to":"7a016987_91a1fbfa","updated":"2015-05-28 21:15:57.000000000","message":"Looking at this I think we should actually create a new directory here: \n\ntype_drivers/ \n\nand then move all the top drivers in there. Then, in that directory we can have a common.py that pulls this out. I\u0027d prefer to do this in a separate patch since we\u0027ll have to update a lot of paths to do this. I\u0027ll put a FIXME in here for now if that works for you.","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8d34881e2ff425eb582acf98c79ae806c4a03159","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                              \"Service terminated!\"))"},{"line_number":83,"context_line":"            raise SystemExit()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def sync_allocations(self):"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # determine current configured allocatable vnis"},{"line_number":88,"context_line":"        stt_vnis \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_91a1fbfa","line":85,"in_reply_to":"7a016987_9632110f","updated":"2015-05-28 21:05:28.000000000","message":"Yup, I was thinking about doing something like that but didn\u0027t ;). I\u0027ll find a place for it.","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"9d459f5d41147fbb1ab7b1b11408452401415829","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                filter_by(host\u003dhost).first())"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def get_endpoint_by_ip(self, ip):"},{"line_number":147,"context_line":"        LOG.debug(\"get_endpoint_by_ip() called for ip %s\", ip)"},{"line_number":148,"context_line":"        session \u003d db_api.get_session()"},{"line_number":149,"context_line":"        return (session.query(SttEndpoints)."},{"line_number":150,"context_line":"                filter_by(ip_address\u003dip).first())"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_b6298d9d","line":147,"updated":"2015-05-28 21:01:21.000000000","message":"@log_helpers.log_method_call might be easier than all of these manual debug statements.","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ea4f4f6fd9ac01d83319a4dbbe07c2b9264e0d9c","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        except db_exc.DBDuplicateEntry:"},{"line_number":160,"context_line":"            stt_endpoint \u003d (session.query(SttEndpoints)."},{"line_number":161,"context_line":"                            filter_by(ip_address\u003dip).one())"},{"line_number":162,"context_line":"            LOG.warning(_LW(\"Stt endpoint with ip %s already exists\"), ip)"},{"line_number":163,"context_line":"        return stt_endpoint"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def delete_endpoint(self, ip):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_96de910f","line":162,"updated":"2015-05-28 20:51:45.000000000","message":"s/Stt/STT","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8d34881e2ff425eb582acf98c79ae806c4a03159","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        except db_exc.DBDuplicateEntry:"},{"line_number":160,"context_line":"            stt_endpoint \u003d (session.query(SttEndpoints)."},{"line_number":161,"context_line":"                            filter_by(ip_address\u003dip).one())"},{"line_number":162,"context_line":"            LOG.warning(_LW(\"Stt endpoint with ip %s already exists\"), ip)"},{"line_number":163,"context_line":"        return stt_endpoint"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def delete_endpoint(self, ip):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_d603e90e","line":162,"in_reply_to":"7a016987_96de910f","updated":"2015-05-28 21:05:28.000000000","message":"Done","commit_id":"5e6a696c79a6d3aafbae9c142c60dd8be1a8299f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a10583c0545efda757aa26dbe279856af8410596","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        return \"\u003cSttTunnelEndpoint(%s)\u003e\" % self.ip_address"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class SttTypeDriver(type_tunnel.TunnelTypeDriver):"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def __init__(self):"},{"line_number":72,"context_line":"        super(SttTypeDriver, self).__init__(SttAllocation)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_b973d514","line":69,"updated":"2015-06-03 23:47:47.000000000","message":"This class can inherit from type_tunnel.EndpointTunnelTypeDriver which defines some methods/helpers to manage endpoints","commit_id":"6e2f3e49cdbd6234eafcebddf26634771c82a6ae"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a8e2793f07db8db3fafcf8d337d97b9b944395d8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1af86dd1_efa43f09","line":36,"updated":"2015-06-12 11:10:58.000000000","message":"Question: Why do you choose \"vni_ranges\" rather than \"context_id_ranges\" (or similar one)? STT does not use VNI in its specification and IMO it is better to use keywords defined in the spec. I wonder what is an appropriate term.\n\nThe help message here is a bit different from ml2.conf sample file. In the sample config, \"STT VNI IDs\" is used.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"a395306882433b46ee7cf00531d7f3b9a20c8870","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1af86dd1_d5ad7b32","line":36,"in_reply_to":"1af86dd1_ca1a8717","updated":"2015-06-12 21:43:56.000000000","message":"okay I\u0027ll change this to say context instead of vni","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"1d6387ad5bcb0bd37f51c8cfb81bb1d3e1cd5ff5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_f15f9273","line":36,"in_reply_to":"1af86dd1_d5ad7b32","updated":"2015-06-13 02:13:59.000000000","message":"Yes, please change it.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"69345a309faabdfe026c64b310e6e52d57442c3a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1af86dd1_ca1a8717","line":36,"in_reply_to":"1af86dd1_efa43f09","updated":"2015-06-12 15:55:25.000000000","message":"+1 to use the canonical term consistently, unless there\u0027s a big downside.","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8857e8ccf3c5d85fbed5b2e807eb9d27bbefe7f7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_3d2a737f","line":36,"in_reply_to":"fa32b979_f15f9273","updated":"2015-06-15 18:17:52.000000000","message":"Done","commit_id":"4e16377022c0e3b6ec58e8b906e5c4007a922df0"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"ec6f3bb014f5e56dc96485cf6aaca7ee2931aa04","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_93dde372","line":36,"updated":"2015-06-13 17:37:32.000000000","message":"+1 to context_id_ranges, see PS13","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"3899f33b85a7ee0eba3050e72b2c7861a9e0bfa6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                default\u003d[],"},{"line_number":34,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":35,"context_line":"                       \"enumerating ranges of STT Context IDs that are \""},{"line_number":36,"context_line":"                       \"available for tenant network allocation\"))"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"cfg.CONF.register_opts(stt_opts, \"ml2_type_stt\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_3d9fd3b5","line":36,"in_reply_to":"fa32b979_93dde372","updated":"2015-06-15 18:19:36.000000000","message":"Will do, I haven\u0027t updated this patset yet. It was rebased by the above patch.","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c7aafb1d7dcbd60b558987d8191ec6fabfb0ede0","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        # determine current configured allocatable vnis"},{"line_number":89,"context_line":"        stt_vnis \u003d set()"},{"line_number":90,"context_line":"        for tun_min, tun_max in self.tunnel_ranges:"},{"line_number":91,"context_line":"            if tun_max + 1 - tun_min \u003e p_const.MAX_STT_CONTEXT_ID:"},{"line_number":92,"context_line":"                LOG.error(_LE(\"Skipping unreasonable STT VNI range \""},{"line_number":93,"context_line":"                              \"%(tun_min)s:%(tun_max)s\"),"},{"line_number":94,"context_line":"                          {\u0027tun_min\u0027: tun_min, \u0027tun_max\u0027: tun_max})"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_589f4803","line":91,"updated":"2015-06-15 17:48:57.000000000","message":"I would prefer you remove this check and instead define a is_valid_stt_... in utils[1] and update \nverify_tunnel_range implementation[1] ... it will simplify sync_allocations refactor.\n\n[1]https://github.com/openstack/neutron/blob/master/neutron/plugins/common/utils.py","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"3899f33b85a7ee0eba3050e72b2c7861a9e0bfa6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        # determine current configured allocatable vnis"},{"line_number":89,"context_line":"        stt_vnis \u003d set()"},{"line_number":90,"context_line":"        for tun_min, tun_max in self.tunnel_ranges:"},{"line_number":91,"context_line":"            if tun_max + 1 - tun_min \u003e p_const.MAX_STT_CONTEXT_ID:"},{"line_number":92,"context_line":"                LOG.error(_LE(\"Skipping unreasonable STT VNI range \""},{"line_number":93,"context_line":"                              \"%(tun_min)s:%(tun_max)s\"),"},{"line_number":94,"context_line":"                          {\u0027tun_min\u0027: tun_min, \u0027tun_max\u0027: tun_max})"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_fda88bdd","line":91,"in_reply_to":"fa32b979_589f4803","updated":"2015-06-15 18:19:36.000000000","message":"Done","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"9b64e7430eea3ada54bd8d9f8a658f1d9505466e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        # determine current configured allocatable vnis"},{"line_number":89,"context_line":"        stt_vnis \u003d set()"},{"line_number":90,"context_line":"        for tun_min, tun_max in self.tunnel_ranges:"},{"line_number":91,"context_line":"            if tun_max + 1 - tun_min \u003e p_const.MAX_STT_CONTEXT_ID:"},{"line_number":92,"context_line":"                LOG.error(_LE(\"Skipping unreasonable STT VNI range \""},{"line_number":93,"context_line":"                              \"%(tun_min)s:%(tun_max)s\"),"},{"line_number":94,"context_line":"                          {\u0027tun_min\u0027: tun_min, \u0027tun_max\u0027: tun_max})"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa32b979_e3122862","line":91,"in_reply_to":"fa32b979_fda88bdd","updated":"2015-06-15 19:21:58.000000000","message":"I\u0027ll do this for vxlan/geneve/stt after this all merges. In that case I think we can use the same method for all 3. That\u0027s what the fixme is referring to on line 85.","commit_id":"3272d6328bbafb73d201f335822376a90f6d7b68"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"97725e9e46ebf97db39f52fcd0fef4814b290407","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                            name\u003d\u0027unique_ml2_stt_endpoints0host\u0027),"},{"line_number":60,"context_line":"        model_base.BASEV2.__table_args__"},{"line_number":61,"context_line":"    )"},{"line_number":62,"context_line":"    ip_address \u003d sa.Column(sa.String(64), primary_key\u003dTrue)"},{"line_number":63,"context_line":"    host \u003d sa.Column(sa.String(255), nullable\u003dTrue)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def __repr__(self):"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a4dcd0f_841e070c","line":62,"updated":"2015-08-13 18:51:48.000000000","message":"nullable\u003dFalse? you have that in the migration script","commit_id":"d92733424464e54e6b2e0c692e47a28598b39cbd"}],"neutron/tests/unit/plugins/ml2/drivers/test_type_stt.py":[{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"7c120dd25e941fe4551ad196f736a9a1a186175f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_453dc129","line":1,"updated":"2015-05-31 12:46:22.000000000","message":"2015","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"fd9d043fc41c9f999db246a1ba5b1272dbd68e3a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_ae783290","line":1,"in_reply_to":"5afe65bd_d0ed51f0","updated":"2015-06-03 18:15:12.000000000","message":"Done","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"e37313224f741e3bc05c5b1a38d1f71112439dac","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_9e80aaf8","line":1,"in_reply_to":"7a016987_453dc129","updated":"2015-06-03 00:36:42.000000000","message":"Done","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"e678ae56f2fdbc1688d5bf895cf84af61d5710ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_d0ed51f0","line":1,"in_reply_to":"7a016987_9e80aaf8","updated":"2015-06-03 17:36:31.000000000","message":"This isn\u0027t really accurate, anyway.  Presumably it\u0027s Copyright your employer, unless you own your work.\n\nI think it\u0027s even better to omit it completely, since it\u0027s not necessary.","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"2d3371d6dc0fb3c8aff6ac449dc0bd6c1a433cc6","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                             test_rpc.RpcCallbacksTestCase,"},{"line_number":120,"context_line":"                             testlib_api.SqlTestCase):"},{"line_number":121,"context_line":"        DRIVER_CLASS \u003d type_stt.SttTypeDriver"},{"line_number":122,"context_line":"        TYPE \u003d p_const.TYPE_STT"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_e54f0d69","line":122,"updated":"2015-05-31 10:07:27.000000000","message":"too deep indentation","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"e37313224f741e3bc05c5b1a38d1f71112439dac","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                             test_rpc.RpcCallbacksTestCase,"},{"line_number":120,"context_line":"                             testlib_api.SqlTestCase):"},{"line_number":121,"context_line":"        DRIVER_CLASS \u003d type_stt.SttTypeDriver"},{"line_number":122,"context_line":"        TYPE \u003d p_const.TYPE_STT"}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_c1dc8ae6","line":122,"in_reply_to":"7a016987_e54f0d69","updated":"2015-06-03 00:36:42.000000000","message":"Done","commit_id":"9d8aa16a10a6a8140c7d8fe3478d5bfc7dc5ad00"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d0083279fc0f5fe16cb5248dd5c1cc99aa699c82","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.driver.add_endpoint(TUNNEL_IP_ONE, HOST_ONE)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        host_endpoint \u003d self.driver.get_endpoint_by_host(HOST_ONE)"},{"line_number":52,"context_line":"        self.assertEqual(TUNNEL_IP_ONE, host_endpoint.ip_address)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def test_get_endpoint_by_host_for_not_existing_host(self):"},{"line_number":55,"context_line":"        ip_endpoint \u003d self.driver.get_endpoint_by_host(HOST_TWO)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_f6c03a7e","line":52,"updated":"2015-06-08 22:23:54.000000000","message":"can you adapt unit tests after commit I13b0507991e840ff34de7ed7ffd31d359691b0ca ?","commit_id":"4e03f81179453e7c778251db8a8602b196230166"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"f8e2ca66032bfb3461f35efc063ebca93d7576a3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.driver.add_endpoint(TUNNEL_IP_ONE, HOST_ONE)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        host_endpoint \u003d self.driver.get_endpoint_by_host(HOST_ONE)"},{"line_number":52,"context_line":"        self.assertEqual(TUNNEL_IP_ONE, host_endpoint.ip_address)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def test_get_endpoint_by_host_for_not_existing_host(self):"},{"line_number":55,"context_line":"        ip_endpoint \u003d self.driver.get_endpoint_by_host(HOST_TWO)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_dcbaff22","line":52,"in_reply_to":"3afb71cf_f6c03a7e","updated":"2015-06-08 23:44:58.000000000","message":"Done","commit_id":"4e03f81179453e7c778251db8a8602b196230166"}]}
