)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20146,"name":"yuyafei","email":"yu.yafei@foxmail.com","username":"yuyafei"},"change_message_id":"4e85e039a42a7da3eb81e0c72ee4827d71185db2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Brian Haley \u003cbrian.haley@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-23 16:09:06 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change get_mtu() calculations to support both IPv4 and IPv6"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The IPv6 header is twice the size of the IPv4 header, 40 vs 20"},{"line_number":10,"context_line":"bytes, but the tunnel overhead constants are static, only"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_ecdad616","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":59},"updated":"2016-05-24 09:00:33.000000000","message":"The first line should be limited to 50 characters。","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"281c407d382691c7146732065a9a95723d962410","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Brian Haley \u003cbrian.haley@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-23 16:09:06 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change get_mtu() calculations to support both IPv4 and IPv6"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The IPv6 header is twice the size of the IPv4 header, 40 vs 20"},{"line_number":10,"context_line":"bytes, but the tunnel overhead constants are static, only"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_be245baf","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":59},"in_reply_to":"bab6814e_af9f194f","updated":"2016-05-24 14:41:29.000000000","message":"I\u0027ll fix this on next update","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"3b478c6e520e6411678c3896fdb7227f812ba92f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Brian Haley \u003cbrian.haley@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-23 16:09:06 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change get_mtu() calculations to support both IPv4 and IPv6"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The IPv6 header is twice the size of the IPv4 header, 40 vs 20"},{"line_number":10,"context_line":"bytes, but the tunnel overhead constants are static, only"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_af9f194f","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":59},"in_reply_to":"bab6814e_ecdad616","updated":"2016-05-24 11:05:48.000000000","message":"That is a recommendation, not worth a -1.","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a2a10c6cd2c6264a9e43458158e6159a401407df","unresolved":false,"context_lines":[{"line_number":19,"context_line":"ml2_conf.ini, removing it from [vxlan] and [ovs] sections and"},{"line_number":20,"context_line":"putting it into [ml2], to reflect the fact they are both using"},{"line_number":21,"context_line":"the same value.  This allows the ML2 code to calculate the IP"},{"line_number":22,"context_line":"address overhead indepenent of the tunnel type overhead."},{"line_number":23,"context_line":"Those two values are marked for deprecation in the P cycle."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Ia2546c4c71ff48b9fe2817fbad22b1fbf85f325b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_9ff1bf6d","line":22,"range":{"start_line":22,"start_character":17,"end_line":22,"end_character":27},"updated":"2016-05-23 21:10:27.000000000","message":"nit to myself: independent","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"281c407d382691c7146732065a9a95723d962410","unresolved":false,"context_lines":[{"line_number":21,"context_line":"the same value.  This allows the ML2 code to calculate the IP"},{"line_number":22,"context_line":"address overhead indepenent of the tunnel type overhead."},{"line_number":23,"context_line":"Those two values are marked for deprecation in the P cycle."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Ia2546c4c71ff48b9fe2817fbad22b1fbf85f325b"},{"line_number":26,"context_line":"Closes-bug: #1584940"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_de083f2b","line":24,"updated":"2016-05-24 14:41:29.000000000","message":"I also need to add DocImpact here, and add a release note.","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This required removing the 20 byte IP overhead from the tunnel"},{"line_number":16,"context_line":"type overhead constants and creating a new option,"},{"line_number":17,"context_line":"ml2.overlay_ip_version, in order for the server to know which"},{"line_number":18,"context_line":"version will be used, since it calculcates the MTU for the network."},{"line_number":19,"context_line":"A version mis-match will now cause a tunnel sync to fail on"},{"line_number":20,"context_line":"the server."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"1aa78d24_57f8df7c","line":18,"range":{"start_line":18,"start_character":32,"end_line":18,"end_character":42},"updated":"2016-07-02 09:56:41.000000000","message":"calculates","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This required removing the 20 byte IP overhead from the tunnel"},{"line_number":16,"context_line":"type overhead constants and creating a new option,"},{"line_number":17,"context_line":"ml2.overlay_ip_version, in order for the server to know which"},{"line_number":18,"context_line":"version will be used, since it calculcates the MTU for the network."},{"line_number":19,"context_line":"A version mis-match will now cause a tunnel sync to fail on"},{"line_number":20,"context_line":"the server."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"1aa78d24_9be67b13","line":18,"range":{"start_line":18,"start_character":32,"end_line":18,"end_character":42},"in_reply_to":"1aa78d24_57f8df7c","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}],"neutron/plugins/common/constants.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"69fa282eacea1244fea62106a2b5b2946778dac0","unresolved":false,"context_lines":[{"line_number":91,"context_line":"VXLAN_UDP_PORT \u003d 4789"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Tunnel Type MTU overhead"},{"line_number":94,"context_line":"GENEVE_ENCAP_MIN_OVERHEAD \u003d 30"},{"line_number":95,"context_line":"GRE_ENCAP_OVERHEAD \u003d 22"},{"line_number":96,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 30"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_9c537c6c","line":94,"updated":"2016-06-09 16:59:53.000000000","message":"This changes the default for the geneve max_header_size option.  Also, anyone not using the default will see a behavior change since the IP version MTU overhead will now be added.","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3a61cb578e4c13a3bea0671859fe12e3dcbe76d8","unresolved":false,"context_lines":[{"line_number":91,"context_line":"VXLAN_UDP_PORT \u003d 4789"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Tunnel Type MTU overhead"},{"line_number":94,"context_line":"GENEVE_ENCAP_MIN_OVERHEAD \u003d 30"},{"line_number":95,"context_line":"GRE_ENCAP_OVERHEAD \u003d 22"},{"line_number":96,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 30"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_ef1c726c","line":94,"in_reply_to":"7aa08908_552a82e8","updated":"2016-06-09 21:23:33.000000000","message":"I\u0027m okay with a release note update for this.","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a929f9ed788945bf53d28413093a55d3ae057814","unresolved":false,"context_lines":[{"line_number":91,"context_line":"VXLAN_UDP_PORT \u003d 4789"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Tunnel Type MTU overhead"},{"line_number":94,"context_line":"GENEVE_ENCAP_MIN_OVERHEAD \u003d 30"},{"line_number":95,"context_line":"GRE_ENCAP_OVERHEAD \u003d 22"},{"line_number":96,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 30"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_552a82e8","line":94,"in_reply_to":"7aa08908_9c537c6c","updated":"2016-06-09 18:30:39.000000000","message":"So what\u0027s the best thing to do here?  I thought this was like the other two and assuming IPv4, so I removed the 20 here and it\u0027s added back-in in get_mtu() if it\u0027s IPv4, else 40 for IPv6.  In the end the mtu should be the same as before on all the interfaces neutron creates and configures.","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b92beca1943f62f3b2d8baf4a98a4fa91a1ffada","unresolved":false,"context_lines":[{"line_number":91,"context_line":"VXLAN_UDP_PORT \u003d 4789"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Tunnel Type MTU overhead"},{"line_number":94,"context_line":"GENEVE_ENCAP_MIN_OVERHEAD \u003d 30"},{"line_number":95,"context_line":"GRE_ENCAP_OVERHEAD \u003d 22"},{"line_number":96,"context_line":"VXLAN_ENCAP_OVERHEAD \u003d 30"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_8ba6bba8","line":94,"in_reply_to":"7aa08908_ef1c726c","updated":"2016-06-14 21:23:56.000000000","message":"Done","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"}],"neutron/plugins/ml2/config.py":[{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"2431d656cbd6dfd7085d2e4f75cd287de33beca7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                      \"on the network type values configured in type_drivers \""},{"line_number":70,"context_line":"                      \"config option.\")),"},{"line_number":71,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":72,"context_line":"              help\u003d_(\"Local IP address of tunnel endpoint. Can be either \""},{"line_number":73,"context_line":"                     \"an IPv4 or IPv6 address.\"))"},{"line_number":74,"context_line":"]"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_4b5c1d4b","line":72,"updated":"2016-05-26 13:08:44.000000000","message":"Suggestion: IPv4 or IPv6 address of local overlay/tunnel endpoint. All endpoints must use the same IP version.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6cb528261826f1bd9ca3d7b140726f3cdda2910","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                      \"on the network type values configured in type_drivers \""},{"line_number":70,"context_line":"                      \"config option.\")),"},{"line_number":71,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":72,"context_line":"              help\u003d_(\"Local IP address of tunnel endpoint. Can be either \""},{"line_number":73,"context_line":"                     \"an IPv4 or IPv6 address.\"))"},{"line_number":74,"context_line":"]"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_6e0aba27","line":72,"in_reply_to":"bab6814e_4b5c1d4b","updated":"2016-05-26 18:52:36.000000000","message":"I can tweak the string.\n\nHopefully Kevin is fine with all this...","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"3060cb26558730c68604b02db593d978abd2e7e8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"               default\u003d4,"},{"line_number":76,"context_line":"               help\u003d_(\"IP address version used for tunnel endpoints. Used in \""},{"line_number":77,"context_line":"                      \"calculating the tunnel overhead value for networks. \""},{"line_number":78,"context_line":"                      \"Can be either 4 or 6, for IPv4 or IPv6, respectively.\"))"},{"line_number":79,"context_line":"]"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_9042113d","line":78,"updated":"2016-06-06 19:12:12.000000000","message":"Sorry, but does it make sense to have both local_ip and overlay_ip_version? I mean what if local_ip is an IPv4 address but forgets to set overlay_ip_version and you end up with confusion?\n\nI read through the comments that people put about how this is tricky - but I really don\u0027t want to see Yet Another Neutron Configuration Variable.","commit_id":"de0e141341dab53592e934b9f749d6a09d9bfd15"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1622af649932b2314ac2f0d278ae2653e459b752","unresolved":false,"context_lines":[{"line_number":75,"context_line":"               default\u003d4,"},{"line_number":76,"context_line":"               help\u003d_(\"IP address version used for tunnel endpoints. Used in \""},{"line_number":77,"context_line":"                      \"calculating the tunnel overhead value for networks. \""},{"line_number":78,"context_line":"                      \"Can be either 4 or 6, for IPv4 or IPv6, respectively.\"))"},{"line_number":79,"context_line":"]"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_b78c5f80","line":78,"in_reply_to":"7aa08908_105f41e6","updated":"2016-06-06 21:02:38.000000000","message":"So I see that agent_state[\u0027configurations\u0027][\u0027tunneling_ip\u0027] should be local_ip, but I don\u0027t see any use of it outside the l2pop code.  Maybe I\u0027m missing something.\n\nBut what happens when there aren\u0027t any agents running yet?  I think this really should be an admin-defined value, just like tenant_network_types \u003d vxlan and tunnel_types \u003d vxlan are.  And if an agent comes-up with the wrong version it should fail, since mixing and matching v4 and v6 endpoints isn\u0027t supported.\n\nIf that\u0027s the way forward, then I probably did some unnecessary extra work, and we might only need the server to know this value, as it is populating the network with the mtu.  I don\u0027t really want another config option either, but is there another way to do this reliably?  Teaches me to get involved in ML2... :-)","commit_id":"de0e141341dab53592e934b9f749d6a09d9bfd15"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"e1a5a95b5c0daf345df515bc588f8fded655046a","unresolved":false,"context_lines":[{"line_number":75,"context_line":"               default\u003d4,"},{"line_number":76,"context_line":"               help\u003d_(\"IP address version used for tunnel endpoints. Used in \""},{"line_number":77,"context_line":"                      \"calculating the tunnel overhead value for networks. \""},{"line_number":78,"context_line":"                      \"Can be either 4 or 6, for IPv4 or IPv6, respectively.\"))"},{"line_number":79,"context_line":"]"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_105f41e6","line":78,"in_reply_to":"7aa08908_9042113d","updated":"2016-06-06 19:14:13.000000000","message":"neutron-server should have access to the local_ip value of each agent via its report_states configurations dict. Why not use that instead of adding this new option?","commit_id":"de0e141341dab53592e934b9f749d6a09d9bfd15"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"0d52c5f16f6a2a96bab2b436e926502eef7be386","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                      \"config option.\")),"},{"line_number":65,"context_line":"    cfg.IntOpt(\u0027overlay_ip_version\u0027,"},{"line_number":66,"context_line":"               default\u003d4,"},{"line_number":67,"context_line":"               help\u003d_(\"IP address of all overlay (tunnel) network endpoints. \""},{"line_number":68,"context_line":"                      \"Use a value of 4 for IPv4 or 6 for IPv6.\"))"},{"line_number":69,"context_line":"]"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7aa08908_8aa75c0a","line":67,"range":{"start_line":67,"start_character":23,"end_line":67,"end_character":33},"updated":"2016-06-16 21:21:43.000000000","message":"\u0027IP address version\u0027 or \u0027IP version\u0027.","commit_id":"ef0696a202dbe600306323971e11761fce1a932e"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/common/config.py":[{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"1e89ee91ca54d0c8492ba91f7034f7af4e3cb016","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                      \"setting must be the same on all the agents.\")),"},{"line_number":43,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address.\")),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":47,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":48,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_ebc79893","line":45,"updated":"2016-06-08 16:44:14.000000000","message":"Let\u0027s note that this needs to match the overlay_ip_version value configured on the server in the help string.","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b92beca1943f62f3b2d8baf4a98a4fa91a1ffada","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                      \"setting must be the same on all the agents.\")),"},{"line_number":43,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address.\")),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":47,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":48,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_2b3fc787","line":45,"in_reply_to":"7aa08908_ebc79893","updated":"2016-06-14 21:23:56.000000000","message":"Done","commit_id":"3dcb18e598524a6b8138c3ba05cf7c85a38a5bdb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"70ca6160021a6c958563d772952546794b09f8ba","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                      \"To reserve a unique group for each possible \""},{"line_number":41,"context_line":"                      \"(24-bit) VNI, use a /8 such as 239.0.0.0/8. This \""},{"line_number":42,"context_line":"                      \"setting must be the same on all the agents.\")),"},{"line_number":43,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address. The IP verison of \""},{"line_number":46,"context_line":"                     \"this address must match the ml2 \u0027overlay_ip_version\u0027 \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_6828aa97","line":43,"range":{"start_line":43,"start_character":14,"end_line":43,"end_character":25},"updated":"2016-06-15 03:56:05.000000000","message":"Should the help message of local_ip configuration at neutron.plugins.ml2.drivers.openvswitch.agent.common.config be updated too?","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"26fb445eef9afbfb8308e4fc0b2f367e8370805b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                      \"To reserve a unique group for each possible \""},{"line_number":41,"context_line":"                      \"(24-bit) VNI, use a /8 such as 239.0.0.0/8. This \""},{"line_number":42,"context_line":"                      \"setting must be the same on all the agents.\")),"},{"line_number":43,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address. The IP verison of \""},{"line_number":46,"context_line":"                     \"this address must match the ml2 \u0027overlay_ip_version\u0027 \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_9794f58c","line":43,"range":{"start_line":43,"start_character":14,"end_line":43,"end_character":25},"in_reply_to":"7aa08908_6828aa97","updated":"2016-06-16 01:48:44.000000000","message":"Done","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"8088a310eb7a127a497702314eadfb9d5e4859aa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address. The IP verison of \""},{"line_number":46,"context_line":"                     \"this address must match the ml2 \u0027overlay_ip_version\u0027 \""},{"line_number":47,"context_line":"                     \"option configured on the agent.\")),"},{"line_number":48,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":50,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_3133b863","line":47,"updated":"2016-06-14 22:34:22.000000000","message":"s/configured on the agent/configured on the server/\n\nThe local_ip is used to determine the L3 overhead on the agent.","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"26fb445eef9afbfb8308e4fc0b2f367e8370805b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"              help\u003d_(\"Local IP address of the VXLAN endpoint. Can be \""},{"line_number":45,"context_line":"                     \"either an IPv4 or IPv6 address. The IP verison of \""},{"line_number":46,"context_line":"                     \"this address must match the ml2 \u0027overlay_ip_version\u0027 \""},{"line_number":47,"context_line":"                     \"option configured on the agent.\")),"},{"line_number":48,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":50,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_577a8d78","line":47,"in_reply_to":"7aa08908_3133b863","updated":"2016-06-16 01:48:44.000000000","message":"Done","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"7540d22d2f29c539c18c117084ca455cfe22345a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":47,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""},{"line_number":48,"context_line":"                     \"option in the \u0027[ml2]\u0027 section of the \u0027ml2_conf.ini\u0027 \""},{"line_number":49,"context_line":"                     \"file on the neutron server node.\")),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":52,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aa08908_ca9de458","line":49,"updated":"2016-06-16 21:27:37.000000000","message":"Maybe: ... neutron server node(s). ?","commit_id":"81529da0bf5e64c18b635720bddc74a4a280b4a2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"725a60d16a06260bf20f4c33aa1acce4c71ef312","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":47,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""},{"line_number":48,"context_line":"                     \"option in the \u0027[ml2]\u0027 section of the \u0027ml2_conf.ini\u0027 \""},{"line_number":49,"context_line":"                     \"file on the neutron server node.\")),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""},{"line_number":52,"context_line":"                       \"mechanism driver. It enables the plugin to populate \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aa08908_2afc683d","line":49,"in_reply_to":"7aa08908_ca9de458","updated":"2016-06-16 21:36:54.000000000","message":"I thought the same thing. Me fixey...","commit_id":"81529da0bf5e64c18b635720bddc74a4a280b4a2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                     \"Use either an IPv4 or IPv6 address that resides on one \""},{"line_number":46,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":47,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""},{"line_number":48,"context_line":"                     \"option in the \u0027[ml2]\u0027 section of the \u0027ml2_conf.ini\u0027 \""},{"line_number":49,"context_line":"                     \"file on the neutron server node(s).\")),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_f7874bd5","line":48,"updated":"2016-07-02 09:56:41.000000000","message":"I know there are (experimental) distributions that don\u0027t ship and load all the conf files we provide. Instead, they maintain their own configuration files.\n\nAlso to consider, oslo.config folks look into providing alternatives to file based configs.\n\nI say all that to suggest that we reword the option description to avoid mentioning file names or files at all.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                     \"Use either an IPv4 or IPv6 address that resides on one \""},{"line_number":46,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":47,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""},{"line_number":48,"context_line":"                     \"option in the \u0027[ml2]\u0027 section of the \u0027ml2_conf.ini\u0027 \""},{"line_number":49,"context_line":"                     \"file on the neutron server node(s).\")),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_5b5a532b","line":48,"in_reply_to":"1aa78d24_589d3e58","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6fed5707466ab1481ae2323d88e81826ce41c1a3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                     \"Use either an IPv4 or IPv6 address that resides on one \""},{"line_number":46,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":47,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""},{"line_number":48,"context_line":"                     \"option in the \u0027[ml2]\u0027 section of the \u0027ml2_conf.ini\u0027 \""},{"line_number":49,"context_line":"                     \"file on the neutron server node(s).\")),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027l2_population\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\"Extension to use alongside ml2 plugin\u0027s l2population \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_589d3e58","line":48,"in_reply_to":"1aa78d24_f7874bd5","updated":"2016-07-05 20:11:06.000000000","message":"How about more generic wording such as... ML2 plug-in configuration file?","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"f06d52ae966860202db0b988f1e80158495ccd3c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # VXLAN related parameters:"},{"line_number":72,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":73,"context_line":"        if cfg.CONF.ml2.local_ip is None:"},{"line_number":74,"context_line":"            cfg.CONF.ml2.local_ip \u003d cfg.CONF.VXLAN.local_ip"},{"line_number":75,"context_line":"        self.local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":76,"context_line":"        self.vxlan_mode \u003d lconst.VXLAN_NONE"},{"line_number":77,"context_line":"        if cfg.CONF.VXLAN.enable_vxlan:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_46ab0bd7","line":74,"range":{"start_line":74,"start_character":12,"end_line":74,"end_character":59},"updated":"2016-05-24 02:04:33.000000000","message":"I believe set_override() is not just for tests and you are supposed to use it to override an option value.","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"281c407d382691c7146732065a9a95723d962410","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # VXLAN related parameters:"},{"line_number":72,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":73,"context_line":"        if cfg.CONF.ml2.local_ip is None:"},{"line_number":74,"context_line":"            cfg.CONF.ml2.local_ip \u003d cfg.CONF.VXLAN.local_ip"},{"line_number":75,"context_line":"        self.local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":76,"context_line":"        self.vxlan_mode \u003d lconst.VXLAN_NONE"},{"line_number":77,"context_line":"        if cfg.CONF.VXLAN.enable_vxlan:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_3e486b5b","line":74,"range":{"start_line":74,"start_character":12,"end_line":74,"end_character":59},"in_reply_to":"bab6814e_46ab0bd7","updated":"2016-05-24 14:41:29.000000000","message":"Thanks Henry I\u0027ll take a look at set_override() here","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"9e8fb3b30e46324d650f6634e8fc48ebf52aa5f9","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":73,"context_line":"        if cfg.CONF.ml2.local_ip is None:"},{"line_number":74,"context_line":"            cfg.CONF.set_override(cfg.CONF.ml2.local_ip,"},{"line_number":75,"context_line":"                                  cfg.CONF.VXLAN.local_ip)"},{"line_number":76,"context_line":"        self.local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":77,"context_line":"        self.vxlan_mode \u003d lconst.VXLAN_NONE"},{"line_number":78,"context_line":"        if cfg.CONF.VXLAN.enable_vxlan:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_ea129257","line":75,"updated":"2016-05-24 19:19:14.000000000","message":"Does this work? I believe you have to do it like https://review.openstack.org/#/c/320121/2/neutron/tests/unit/plugins/ml2/drivers/agent/test__common_agent.py@53","commit_id":"76ee0822feaa67269d3689578f7eb765040affe3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"87f9d71655ac1a621ae95b3be8631c8b86959474","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":73,"context_line":"        if cfg.CONF.ml2.local_ip is None:"},{"line_number":74,"context_line":"            cfg.CONF.set_override(cfg.CONF.ml2.local_ip,"},{"line_number":75,"context_line":"                                  cfg.CONF.VXLAN.local_ip)"},{"line_number":76,"context_line":"        self.local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":77,"context_line":"        self.vxlan_mode \u003d lconst.VXLAN_NONE"},{"line_number":78,"context_line":"        if cfg.CONF.VXLAN.enable_vxlan:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_ea4a9226","line":75,"in_reply_to":"bab6814e_ea129257","updated":"2016-05-24 19:27:41.000000000","message":"Yeah, probably not, the unit tests didn\u0027t even flinch :(","commit_id":"76ee0822feaa67269d3689578f7eb765040affe3"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"dc0f7216126fd2662b9b4de4cd2d6de69da366a1","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if netaddr.IPAddress(self.local_ip).version !\u003d overlay_ip_version:"},{"line_number":124,"context_line":"            LOG.error(_LE(\"Tunneling cannot be enabled with mis-matched \""},{"line_number":125,"context_line":"                          \"local_ip \u0027%(ip)s\u0027 and overlay_ip_version \""},{"line_number":126,"context_line":"                          \"\u0027%(overlay)s\u0027.\"),"},{"line_number":127,"context_line":"                      {\u0027ip\u0027: self.local_ip, \u0027overlay\u0027: overlay_ip_version})"},{"line_number":128,"context_line":"            sys.exit(1)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_20e319a5","line":126,"updated":"2016-06-06 15:23:40.000000000","message":"Can we simplify this error message by simply indicating a mismatch between local_ip and overlay_ip_version rather than including their values?","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ceaae9bfcc721f66e20c39d34a86154a779aa0b0","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if netaddr.IPAddress(self.local_ip).version !\u003d overlay_ip_version:"},{"line_number":124,"context_line":"            LOG.error(_LE(\"Tunneling cannot be enabled with mis-matched \""},{"line_number":125,"context_line":"                          \"local_ip \u0027%(ip)s\u0027 and overlay_ip_version \""},{"line_number":126,"context_line":"                          \"\u0027%(overlay)s\u0027.\"),"},{"line_number":127,"context_line":"                      {\u0027ip\u0027: self.local_ip, \u0027overlay\u0027: overlay_ip_version})"},{"line_number":128,"context_line":"            sys.exit(1)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_d13e69b7","line":126,"in_reply_to":"7aa08908_20e319a5","updated":"2016-06-06 15:58:10.000000000","message":"Done","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"}],"neutron/plugins/ml2/drivers/openvswitch/agent/common/config.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":43,"context_line":"               help\u003d_(\"Peer patch port in tunnel bridge for integration \""},{"line_number":44,"context_line":"                      \"bridge.\")),"},{"line_number":45,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":46,"context_line":"              help\u003d_(\"IP address of local overlay (tunnel) network endpoint. \""},{"line_number":47,"context_line":"                     \"Use either an IPv4 or IPv6 address that resides on one \""},{"line_number":48,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":49,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_576d7f31","line":46,"updated":"2016-07-02 09:56:41.000000000","message":"same comment as in LB config.py.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"               help\u003d_(\"Peer patch port in tunnel bridge for integration \""},{"line_number":44,"context_line":"                      \"bridge.\")),"},{"line_number":45,"context_line":"    cfg.IPOpt(\u0027local_ip\u0027,"},{"line_number":46,"context_line":"              help\u003d_(\"IP address of local overlay (tunnel) network endpoint. \""},{"line_number":47,"context_line":"                     \"Use either an IPv4 or IPv6 address that resides on one \""},{"line_number":48,"context_line":"                     \"of the host network interfaces. The IP version of this \""},{"line_number":49,"context_line":"                     \"value must match the value of the \u0027overlay_ip_version\u0027 \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_1b544bfd","line":46,"in_reply_to":"1aa78d24_576d7f31","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"f06d52ae966860202db0b988f1e80158495ccd3c","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        ml2_conf \u003d self.conf.ml2"},{"line_number":150,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":151,"context_line":"        if ml2_conf.local_ip is None:"},{"line_number":152,"context_line":"            ml2_conf.local_ip \u003d ovs_conf.local_ip"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        self.fullsync \u003d False"},{"line_number":155,"context_line":"        # init bridge classes with configured datapath type."}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_86b5f332","line":152,"updated":"2016-05-24 02:04:33.000000000","message":"Use set_override()","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"f1f154f4327b2dac54b6ee156edfda419286b7d9","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        ml2_conf \u003d self.conf.ml2"},{"line_number":150,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":151,"context_line":"        if ml2_conf.local_ip is None:"},{"line_number":152,"context_line":"            ml2_conf.local_ip \u003d ovs_conf.local_ip"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        self.fullsync \u003d False"},{"line_number":155,"context_line":"        # init bridge classes with configured datapath type."}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_b7e498ac","line":152,"in_reply_to":"bab6814e_86b5f332","updated":"2016-05-24 08:22:34.000000000","message":"local_ip validation is done prior to this assignment @[1].\nPlease consider moving this assignment appropriately.\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L2154","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"281c407d382691c7146732065a9a95723d962410","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        ml2_conf \u003d self.conf.ml2"},{"line_number":150,"context_line":"        # backwards-compat - remove in P cycle"},{"line_number":151,"context_line":"        if ml2_conf.local_ip is None:"},{"line_number":152,"context_line":"            ml2_conf.local_ip \u003d ovs_conf.local_ip"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        self.fullsync \u003d False"},{"line_number":155,"context_line":"        # init bridge classes with configured datapath type."}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_dedcbf48","line":152,"in_reply_to":"bab6814e_b7e498ac","updated":"2016-05-24 14:41:29.000000000","message":"Sridhar, thanks for the info, I had only run the unit tests which didn\u0027t trip over this.  I\u0027ll see what I can do to fix this.","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"9e8fb3b30e46324d650f6634e8fc48ebf52aa5f9","unresolved":false,"context_lines":[{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"    # backwards-compat - remove in P cycle"},{"line_number":2153,"context_line":"    if cfg.CONF.ml2.local_ip is None:"},{"line_number":2154,"context_line":"        cfg.CONF.set_override(cfg.CONF.ml2.local_ip, cfg.CONF.OVS.local_ip)"},{"line_number":2155,"context_line":""},{"line_number":2156,"context_line":"    validate_tunnel_config(cfg.CONF.AGENT.tunnel_types, cfg.CONF.ml2.local_ip)"},{"line_number":2157,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_8a24a6af","line":2154,"updated":"2016-05-24 19:19:14.000000000","message":"ditto","commit_id":"76ee0822feaa67269d3689578f7eb765040affe3"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"dc0f7216126fd2662b9b4de4cd2d6de69da366a1","unresolved":false,"context_lines":[{"line_number":2130,"context_line":"    \"\"\"Verify the ip version for local_ip matches the overlay version.\"\"\""},{"line_number":2131,"context_line":"    if netaddr.IPAddress(local_ip).version !\u003d overlay_ip_version:"},{"line_number":2132,"context_line":"        LOG.error(_LE(\"Tunneling can\u0027t be enabled with mis-matched local_ip \""},{"line_number":2133,"context_line":"                      \"\u0027%(ip)s\u0027 and overlay_ip_version \u0027%(overlay)s\u0027.\"),"},{"line_number":2134,"context_line":"                  {\u0027ip\u0027: local_ip, \u0027overlay\u0027: overlay_ip_version})"},{"line_number":2135,"context_line":"        raise SystemExit(1)"},{"line_number":2136,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_9b2b6230","line":2133,"updated":"2016-06-06 15:23:40.000000000","message":"Can we simplify this error message by simply indicating a mismatch between local_ip and overlay_ip_version rather than including their values?","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ceaae9bfcc721f66e20c39d34a86154a779aa0b0","unresolved":false,"context_lines":[{"line_number":2130,"context_line":"    \"\"\"Verify the ip version for local_ip matches the overlay version.\"\"\""},{"line_number":2131,"context_line":"    if netaddr.IPAddress(local_ip).version !\u003d overlay_ip_version:"},{"line_number":2132,"context_line":"        LOG.error(_LE(\"Tunneling can\u0027t be enabled with mis-matched local_ip \""},{"line_number":2133,"context_line":"                      \"\u0027%(ip)s\u0027 and overlay_ip_version \u0027%(overlay)s\u0027.\"),"},{"line_number":2134,"context_line":"                  {\u0027ip\u0027: local_ip, \u0027overlay\u0027: overlay_ip_version})"},{"line_number":2135,"context_line":"        raise SystemExit(1)"},{"line_number":2136,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_314c0d70","line":2133,"in_reply_to":"7aa08908_9b2b6230","updated":"2016-06-06 15:58:10.000000000","message":"Done","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"}],"neutron/plugins/ml2/drivers/type_tunnel.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"b20ca224b79e2d7a2a3d71db746115187ed76b46","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            mtu.append(cfg.CONF.ml2.path_mtu)"},{"line_number":256,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":257,"context_line":"        ip_overhead \u003d 0"},{"line_number":258,"context_line":"        if local_ip:"},{"line_number":259,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":260,"context_line":"            ip_overhead \u003d p_const.IP_VERSION_MTU_OVERHEAD[version]"},{"line_number":261,"context_line":"        return min(mtu) - ip_overhead if mtu else 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_7c7b372a","line":258,"updated":"2016-05-24 07:59:06.000000000","message":"Do we validate the given IP anywhere?? What will be the behavior if an invalid ip is specified which leads to wrong IP version @L259?","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"f1f154f4327b2dac54b6ee156edfda419286b7d9","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            mtu.append(cfg.CONF.ml2.path_mtu)"},{"line_number":256,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":257,"context_line":"        ip_overhead \u003d 0"},{"line_number":258,"context_line":"        if local_ip:"},{"line_number":259,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":260,"context_line":"            ip_overhead \u003d p_const.IP_VERSION_MTU_OVERHEAD[version]"},{"line_number":261,"context_line":"        return min(mtu) - ip_overhead if mtu else 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_975194db","line":258,"in_reply_to":"bab6814e_7c7b372a","updated":"2016-05-24 08:22:34.000000000","message":"We are validating the local_ip here https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L2122","commit_id":"fe5344fb01194b4febed0f09182c9b1fa9c0884e"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"96f4567b4ade6e5a2740c8f3291c40a8e23073c3","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            mtu.append(cfg.CONF.ml2.path_mtu)"},{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_233fb426","line":258,"updated":"2016-06-02 21:54:00.000000000","message":"I\u0027m concerned that these are never validated against each other. I ran into a similar problem trying to move the VXLAN group address from the agent configuration into the server configuration. What about either:\n* Validating the local_ip\u0027s address family matches the configured overlay_ip_version when the tunnel endpoint is registered with the server.\n* Inferring this value from registered tunnel endpoints.","commit_id":"4edd2be0a0e58836d492be4a56225ab6dcf8bb11"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a33907edebd9a8cf4004b8a8640d2fd7f361f2e0","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            mtu.append(cfg.CONF.ml2.path_mtu)"},{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_daf4be88","line":258,"in_reply_to":"9abb7d3a_233fb426","updated":"2016-06-03 03:08:05.000000000","message":"Dustin - yes, I had mainly thrown this out there to get some feedback, it definitely needs a little work.\n\nRegarding your options:\n\n1) Can we easily force an agent into a failure mode if the tunnel endpoint it registers doesn\u0027t match?\n\n2) I don\u0027t think we can infer the value, since what would happen when we see both - which is correct?  And the server has to calculate this early to set the mtu on the network, possibly before and agent has started (at least in devstack).\n\nHow about if we just check for a mis-match in the agent and exit if it\u0027s local_ip value isn\u0027t valid wrt overlay_ip_version?","commit_id":"4edd2be0a0e58836d492be4a56225ab6dcf8bb11"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"1c6f07021e8d930ba59f2face0dad331daf9e653","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            mtu.append(cfg.CONF.ml2.path_mtu)"},{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_235e6612","line":258,"in_reply_to":"9abb7d3a_daf4be88","updated":"2016-06-03 14:44:50.000000000","message":"1) To expose the agent misconfiguration we could log warning and mark the agent as down.\n\n2) The case of existing mixed address family tunnel endpoints would be problematic, but isn\u0027t this an error case since the overlay mesh wouldn\u0027t work? We could compare the tunnel endpoint address family counts.\n\nChecking in the agent would be better, but it requires exposing the servers\u0027 configuration(s) to the agents. I started down this path with the vxlan_group parameter https://review.openstack.org/#/c/276893/. I would really like to find a good general mechanism to centralize deployment wide tunnel configurations and detect misconfigurations, but is seems like the existing RPC is insufficient for our needs.","commit_id":"4edd2be0a0e58836d492be4a56225ab6dcf8bb11"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"dc0f7216126fd2662b9b4de4cd2d6de69da366a1","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":262,"context_line":"            if version !\u003d cfg.CONF.ml2.overlay_ip_version:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_7b82f653","line":259,"updated":"2016-06-06 15:23:40.000000000","message":"Doesn\u0027t local_ip reside in the agent configuration? For example, under [vxlan] for Linux bridge and [ovs] for OVS. We can\u0027t move local_ip to ml2_conf.ini because only the server (running neutron-server) includes the ML2 plug-in components.","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4b0f2350c625dbc9279d96110c5f1ff3ecad456f","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":262,"context_line":"            if version !\u003d cfg.CONF.ml2.overlay_ip_version:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_46691a25","line":259,"in_reply_to":"7aa08908_31ab6d1f","updated":"2016-06-06 16:21:28.000000000","message":"Absolutely not: agents are not loading ml2_conf.ini. If your distro does it, it does it wrong.\n\nYes, I know devstack does it too, but that\u0027s devstack\u0027s bug. RDO, for one thing, loads just neutron.conf and agent conf file.","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"f72b467703ee86c4031a354182d432f92e399ef6","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":262,"context_line":"            if version !\u003d cfg.CONF.ml2.overlay_ip_version:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_cd56c2d1","line":259,"in_reply_to":"7aa08908_46691a25","updated":"2016-06-06 18:51:09.000000000","message":"+1 Ihar. A neutron-server process cannot expect the local_ip value to exist.","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ceaae9bfcc721f66e20c39d34a86154a779aa0b0","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        # Systems running the agent will have local_ip configured, but"},{"line_number":257,"context_line":"        # the server will not, so needs to be configured with the"},{"line_number":258,"context_line":"        # version since it will be calculating the MTU for the network."},{"line_number":259,"context_line":"        local_ip \u003d cfg.CONF.ml2.local_ip"},{"line_number":260,"context_line":"        if local_ip:"},{"line_number":261,"context_line":"            version \u003d netaddr.IPAddress(local_ip).version"},{"line_number":262,"context_line":"            if version !\u003d cfg.CONF.ml2.overlay_ip_version:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_31ab6d1f","line":259,"in_reply_to":"7aa08908_7b82f653","updated":"2016-06-06 15:58:10.000000000","message":"local_ip is already in ml2_conf.ini, just in multiple sections, unless I\u0027m basing this all on the fact that devstack and our distro put it there.  Plus the agent\u0027s seem to be started with ml2_conf.ini:\n\n/usr/bin/python /usr/local/bin/neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini\n\nI\u0027d be happy to tweak it, just need someone from the ML2 team to point me in the right direction.","commit_id":"5f3d06ab2ac9d67c64128733d8363fcb115c0a60"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"8088a310eb7a127a497702314eadfb9d5e4859aa","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        version \u003d netaddr.IPAddress(tunnel_ip).version"},{"line_number":332,"context_line":"        if version !\u003d cfg.CONF.ml2.overlay_ip_version:"},{"line_number":333,"context_line":"            msg \u003d _(\"Tunnel IP version does not match ML2 overlay_ip_version\")"},{"line_number":334,"context_line":"            raise exc.InvalidInput(error_message\u003dmsg)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        tunnel_type \u003d kwargs.get(\u0027tunnel_type\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_9119ccd3","line":333,"updated":"2016-06-14 22:34:22.000000000","message":"Should we include something (hostname, IP, agent ID) so an operator can discover which host is misconfigured?","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"70ca6160021a6c958563d772952546794b09f8ba","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        version \u003d netaddr.IPAddress(tunnel_ip).version"},{"line_number":332,"context_line":"        if version !\u003d cfg.CONF.ml2.overlay_ip_version:"},{"line_number":333,"context_line":"            msg \u003d _(\"Tunnel IP version does not match ML2 overlay_ip_version\")"},{"line_number":334,"context_line":"            raise exc.InvalidInput(error_message\u003dmsg)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        tunnel_type \u003d kwargs.get(\u0027tunnel_type\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_c3009f03","line":333,"in_reply_to":"7aa08908_9119ccd3","updated":"2016-06-15 03:56:05.000000000","message":"I maybe wrong here ,but I think it is ok, since this exception will be seen in the l2 agent, who knows itself.","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"26fb445eef9afbfb8308e4fc0b2f367e8370805b","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        version \u003d netaddr.IPAddress(tunnel_ip).version"},{"line_number":332,"context_line":"        if version !\u003d cfg.CONF.ml2.overlay_ip_version:"},{"line_number":333,"context_line":"            msg \u003d _(\"Tunnel IP version does not match ML2 overlay_ip_version\")"},{"line_number":334,"context_line":"            raise exc.InvalidInput(error_message\u003dmsg)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        tunnel_type \u003d kwargs.get(\u0027tunnel_type\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_772069b1","line":333,"in_reply_to":"7aa08908_9911ce56","updated":"2016-06-16 01:48:44.000000000","message":"I\u0027ll add host and tunnel IP, not sure agent ID is available here?","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":10558,"name":"Dustin Lundquist","email":"dustin@null-ptr.net","username":"dlundquist"},"change_message_id":"c341528729d161a6d232a7f6da6565bbe26c9d26","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        version \u003d netaddr.IPAddress(tunnel_ip).version"},{"line_number":332,"context_line":"        if version !\u003d cfg.CONF.ml2.overlay_ip_version:"},{"line_number":333,"context_line":"            msg \u003d _(\"Tunnel IP version does not match ML2 overlay_ip_version\")"},{"line_number":334,"context_line":"            raise exc.InvalidInput(error_message\u003dmsg)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        tunnel_type \u003d kwargs.get(\u0027tunnel_type\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_9911ce56","line":333,"in_reply_to":"7aa08908_c3009f03","updated":"2016-06-15 14:56:00.000000000","message":"This is the server side of the RPC, the agent side is in neutron.agent.rpc.PluginApi. This validation must be preformed in the server, since the overlay_ip_version configuration parameter is only used by neutron-server.","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":"import itertools"},{"line_number":17,"context_line":"import netaddr"},{"line_number":18,"context_line":"import operator"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_lib import exceptions as exc"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_376a731b","line":17,"updated":"2016-07-02 09:56:41.000000000","message":"it\u0027s a 3party lib, it goes in line 20+","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":"import itertools"},{"line_number":17,"context_line":"import netaddr"},{"line_number":18,"context_line":"import operator"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_lib import exceptions as exc"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_db2f6386","line":17,"in_reply_to":"1aa78d24_376a731b","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        Updates the database with the tunnel IP. All listening agents will also"},{"line_number":324,"context_line":"        be notified about the new tunnel IP."},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"},{"line_number":327,"context_line":"        tunnel_ip \u003d kwargs.get(\u0027tunnel_ip\u0027)"},{"line_number":328,"context_line":"        if not tunnel_ip:"},{"line_number":329,"context_line":"            msg \u003d _(\"Tunnel IP value needed by the ML2 plugin\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_9777e701","line":326,"updated":"2016-07-02 09:56:41.000000000","message":"nit: extract it when it\u0027s actually needed, in line 332+","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        Updates the database with the tunnel IP. All listening agents will also"},{"line_number":324,"context_line":"        be notified about the new tunnel IP."},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"},{"line_number":327,"context_line":"        tunnel_ip \u003d kwargs.get(\u0027tunnel_ip\u0027)"},{"line_number":328,"context_line":"        if not tunnel_ip:"},{"line_number":329,"context_line":"            msg \u003d _(\"Tunnel IP value needed by the ML2 plugin\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_3b4f876c","line":326,"in_reply_to":"1aa78d24_9777e701","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}],"neutron/tests/unit/plugins/ml2/drivers/base_type_tunnel.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"TUNNEL_IP_ONE \u003d \"10.10.10.10\""},{"line_number":29,"context_line":"TUNNEL_IP_TWO \u003d \"10.10.10.20\""},{"line_number":30,"context_line":"TUNNEL_IPv6_ONE \u003d \"2001:db8:1::10\""},{"line_number":31,"context_line":"HOST_ONE \u003d \u0027fake_host_one\u0027"},{"line_number":32,"context_line":"HOST_TWO \u003d \u0027fake_host_two\u0027"},{"line_number":33,"context_line":"TUN_MIN \u003d 100"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_b764a349","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":10},"updated":"2016-07-02 09:56:41.000000000","message":"It\u0027s not common to use lower chars in constants.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"TUNNEL_IP_ONE \u003d \"10.10.10.10\""},{"line_number":29,"context_line":"TUNNEL_IP_TWO \u003d \"10.10.10.20\""},{"line_number":30,"context_line":"TUNNEL_IPv6_ONE \u003d \"2001:db8:1::10\""},{"line_number":31,"context_line":"HOST_ONE \u003d \u0027fake_host_one\u0027"},{"line_number":32,"context_line":"HOST_TWO \u003d \u0027fake_host_two\u0027"},{"line_number":33,"context_line":"TUN_MIN \u003d 100"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_9b395bda","line":30,"range":{"start_line":30,"start_character":9,"end_line":30,"end_character":10},"in_reply_to":"1aa78d24_b764a349","updated":"2016-07-05 22:08:37.000000000","message":"Who said IPv6 was normal :)","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        self._test_tunnel_sync_raises(kwargs)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"class TunnelTypeMTUTestMixin(object):"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"    DRIVER_CLASS \u003d None"},{"line_number":420,"context_line":"    TYPE \u003d None"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_57545f53","line":417,"updated":"2016-07-02 09:56:41.000000000","message":"(No action required) you could use testscenarios instead.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}],"neutron/tests/unit/plugins/ml2/drivers/test_type_geneve.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"70ca6160021a6c958563d772952546794b09f8ba","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            elif endpoint[\u0027ip_address\u0027] \u003d\u003d TUNNEL_IP_TWO:"},{"line_number":44,"context_line":"                self.assertEqual(HOST_TWO, endpoint[\u0027host\u0027])"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _test_get_mtu(self, ip_version):"},{"line_number":47,"context_line":"        config.cfg.CONF.set_override(\u0027overlay_ip_version\u0027, ip_version,"},{"line_number":48,"context_line":"                                     group\u003d\u0027ml2\u0027)"},{"line_number":49,"context_line":"        ip_overhead \u003d p_const.IP_VERSION_MTU_OVERHEAD[ip_version]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_43b14f46","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":40},"updated":"2016-06-15 03:56:05.000000000","message":"nit: This maybe wild, but I wonder if this test at test_type_geneve.py test_type_vxlan.py and test_type_gre.py could be moved to base_type_tunnel.TunnelTypeTestMixin, since they looks similar.","commit_id":"1d65033239240841c432ada13554117563f00c60"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"26fb445eef9afbfb8308e4fc0b2f367e8370805b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            elif endpoint[\u0027ip_address\u0027] \u003d\u003d TUNNEL_IP_TWO:"},{"line_number":44,"context_line":"                self.assertEqual(HOST_TWO, endpoint[\u0027host\u0027])"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _test_get_mtu(self, ip_version):"},{"line_number":47,"context_line":"        config.cfg.CONF.set_override(\u0027overlay_ip_version\u0027, ip_version,"},{"line_number":48,"context_line":"                                     group\u003d\u0027ml2\u0027)"},{"line_number":49,"context_line":"        ip_overhead \u003d p_const.IP_VERSION_MTU_OVERHEAD[ip_version]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7aa08908_14674aeb","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":40},"in_reply_to":"7aa08908_43b14f46","updated":"2016-06-16 01:48:44.000000000","message":"Yes, I think I know what you mean, let me take a look at doing that to remove duplication, else I\u0027ll do it in a follow-on.","commit_id":"1d65033239240841c432ada13554117563f00c60"}],"releasenotes/notes/local_ip-moved-to-ml2-e6438b570844ef5c.yaml":[{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"2431d656cbd6dfd7085d2e4f75cd287de33beca7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    The local_ip value in ml2_conf.ini has been moved"},{"line_number":4,"context_line":"    into the common [ml2] section."},{"line_number":5,"context_line":"upgrade:"},{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_56db207c","line":3,"updated":"2016-05-26 13:08:44.000000000","message":"Suggestion: Move the local_ip option from the L2 agent configuration file to the [ml2] section in the ml2_conf.ini file.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"2431d656cbd6dfd7085d2e4f75cd287de33beca7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    The local_ip value in ml2_conf.ini has been moved"},{"line_number":4,"context_line":"    into the common [ml2] section."},{"line_number":5,"context_line":"upgrade:"},{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_36f01cfd","line":6,"updated":"2016-05-26 13:08:44.000000000","message":"Suggestion: Move the local_ip option from the L2 agent configuration file to the [ml2] section in the ml2_conf.ini file.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"2431d656cbd6dfd7085d2e4f75cd287de33beca7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_f62cd44b","line":9,"updated":"2016-05-26 13:08:44.000000000","message":"Do you mean sections in the L2 agent configuration file instead of the ml2_conf.ini file?\n\nSuggestion: Deprecate the local_ip option in the L2 agent configuration file and remove in the P cycle.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1ff1a3e1763a245b3c553f8fe8f32e34cdf8e56c","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9abb7d3a_d4130e5b","line":9,"in_reply_to":"9abb7d3a_95c5125d","updated":"2016-05-27 17:55:18.000000000","message":"In our HOS distro we only use the agent-specific files, like openvswitch_agent.ini, to put some minimal setup like log statements, we always use ml2_conf.ini for the [ovs] bits, so I don\u0027t think we want it to go away.  Devstack seems to have followed this pattern as well.\n\nAnd on all nodes we specify this when starting either the agent or the server:\n\n--config-file /etc/neutron/plugins/ml2/ml2_conf.ini\n\nBut I think you found an issue - on the controller nodes, local_ip might be undefined, if it\u0027s also not operating as a network node.  That causes the mtu value in the network to not be populated correctly.  What do we choose as the IP overhead in that case?  Default to the max(v4/v6) overhead?  Or do I need to add local_ip_overhead?","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"860ae341e684a28d1a3b30d7afb1af9e51800508","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9abb7d3a_bfa0e391","line":9,"in_reply_to":"9abb7d3a_d4130e5b","updated":"2016-05-27 18:28:17.000000000","message":"Yeah, local_ip should only reside on nodes with an L2 agent. Historically, the ML2 plug-in subtracted the constant value of overhead for a particular network type from the underlying physical network MTU and put the smaller value into the network object from which the L2 agent reads the MTU value when creating network components. In this patch, using the ML2 plug-in to determine the endpoint IP version from local_ip would break for a significant percentage of environments that follow the correct way to configure local_ip in agent configuration files. You can\u0027t combine v4 and v6 endpoints, so a new ML2 plug-in option probably makes the most sense... perhaps [ml2] overlay_ip_version or similar... with a sufficient explanation.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"40c4ef86bdc6c511e87f30ebc2b7677704e40335","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_4909b083","line":9,"in_reply_to":"bab6814e_0e968eef","updated":"2016-05-26 19:11:37.000000000","message":"Maybe if you stuff all the L2 agent configuration into ml2_conf.ini and tell the L2 agent to read it, but the L2 agent example configuration files (linuxbridge_agent.ini and openvswitch_agent.ini) contain these options.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"d1cc37d9809db7703a59061a9e1771a58c4eb5c7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9abb7d3a_95c5125d","line":9,"in_reply_to":"bab6814e_1fccf6b9","updated":"2016-05-27 13:18:30.000000000","message":"Prior to Liberty, it was customary to put L2 agent configuration in the ml2_conf.ini file. However, the ML2 plug-in and ml2_conf.ini configuration file should only reside on the controller (neutron-server) node. In DevStack, the ML2 plug-in and L2 agent typically reside on the same node or perhaps it includes the ML2 plug-in on all nodes. In production environments, the ML2 plug-in and L2 agent(s) typically reside on different nodes. Thus, the L2 agent should not depend on the ml2_conf.ini file. DevStack needs a patch to remove dependence on the ml2_conf.ini file everywhere.","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"138ebf8e343cc769a789fc00c716a47742d05f94","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_1fccf6b9","line":9,"in_reply_to":"bab6814e_4909b083","updated":"2016-05-26 19:47:44.000000000","message":"I was only checking on my running devstack, which has them all in ml2_conf.ini, but now I see the *.sample files which are auto-generated, have the local_ip values from the existing OVS and VXLAN sections.  Is that what you are talking about?\n\nBTW, the L2 agents I\u0027ve seen only ever specify ml2_conf.ini, never the agent-specific one:\n\n/usr/bin/python /usr/local/bin/neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini\n\nThe other .ini files are not present in /etc/neutron/...","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6cb528261826f1bd9ca3d7b140726f3cdda2910","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  - The local_ip value should be moved to the [ml2] section"},{"line_number":7,"context_line":"    of ml2_conf.ini on an upgrade."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - The local_ip values in the [OVS] and [VXLAN] sections"},{"line_number":10,"context_line":"    of ml2_conf.ini have been deprecated. Support will be"},{"line_number":11,"context_line":"    removed in the P cycle."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bab6814e_0e968eef","line":9,"in_reply_to":"bab6814e_f62cd44b","updated":"2016-05-26 18:52:36.000000000","message":"The existing options are both defined in ml2_conf.ini:\n\n[OVS]\nlocal_ip \u003d 1.2.3.4\n\n[VXLAN]\nlocal_ip \u003d 1.2.3.4\n\nThis one would be there too:\n\n[ml2]\nlocal_ip \u003d 1.2.3.4","commit_id":"505e799313cf6ee51a9575d4eb4d5336b9f763c1"}],"releasenotes/notes/overlay_ip_version-ml2-e6438b570844ef5c.yaml":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Properly calculate overlay (tunnel) protocol overhead for"},{"line_number":4,"context_line":"    environments using IPv4 or IPv6 endpoints. The \u0027ml2_conf.ini\u0027"},{"line_number":5,"context_line":"    file contains a new configuration option,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_f7390b43","line":2,"updated":"2016-07-02 09:56:41.000000000","message":"why do we pick prelude section? I think it\u0027s designed for notes that are relevant to the release as a whole; I think you should use fixes: section instead.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Properly calculate overlay (tunnel) protocol overhead for"},{"line_number":4,"context_line":"    environments using IPv4 or IPv6 endpoints. The \u0027ml2_conf.ini\u0027"},{"line_number":5,"context_line":"    file contains a new configuration option,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_1bda8b4c","line":2,"in_reply_to":"1aa78d24_389672f0","updated":"2016-07-05 22:08:37.000000000","message":"I\u0027ve just changed this file a little, I\u0027ll let Matt move things to a \u0027feature\u0027 section if required.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6fed5707466ab1481ae2323d88e81826ce41c1a3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Properly calculate overlay (tunnel) protocol overhead for"},{"line_number":4,"context_line":"    environments using IPv4 or IPv6 endpoints. The \u0027ml2_conf.ini\u0027"},{"line_number":5,"context_line":"    file contains a new configuration option,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_389672f0","line":2,"in_reply_to":"1aa78d24_f7390b43","updated":"2016-07-05 20:11:06.000000000","message":"This patch essentially introduces a new feature and changes how we calculate MTU for overlay network endpoints. Thus, a \u0027prelude\u0027 and perhaps a \u0027feature\u0027 section makes sense rather than \u0027fixes\u0027 which refers to a bug resolution.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Properly calculate overlay (tunnel) protocol overhead for"},{"line_number":4,"context_line":"    environments using IPv4 or IPv6 endpoints. The \u0027ml2_conf.ini\u0027"},{"line_number":5,"context_line":"    file contains a new configuration option,"},{"line_number":6,"context_line":"    \u0027overlay_ip_version\u0027, in the \u0027[ml2]\u0027 section that indicates"},{"line_number":7,"context_line":"    the IP version of all overlay network endpoints. Use \u00274\u0027 for"},{"line_number":8,"context_line":"    IPv4 and \u00276\u0027 for IPv6. Defaults to \u00274\u0027. Additionally, all"},{"line_number":9,"context_line":"    layer-2 agents must use the same IP version for endpoints."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_373c332f","line":6,"updated":"2016-07-02 09:56:41.000000000","message":"I\u0027ve heard we should use ``...`` for option names and such.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6fed5707466ab1481ae2323d88e81826ce41c1a3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Properly calculate overlay (tunnel) protocol overhead for"},{"line_number":4,"context_line":"    environments using IPv4 or IPv6 endpoints. The \u0027ml2_conf.ini\u0027"},{"line_number":5,"context_line":"    file contains a new configuration option,"},{"line_number":6,"context_line":"    \u0027overlay_ip_version\u0027, in the \u0027[ml2]\u0027 section that indicates"},{"line_number":7,"context_line":"    the IP version of all overlay network endpoints. Use \u00274\u0027 for"},{"line_number":8,"context_line":"    IPv4 and \u00276\u0027 for IPv6. Defaults to \u00274\u0027. Additionally, all"},{"line_number":9,"context_line":"    layer-2 agents must use the same IP version for endpoints."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_f8ab4a1b","line":6,"in_reply_to":"1aa78d24_373c332f","updated":"2016-07-05 20:11:06.000000000","message":"I don\u0027t see this in the reno documentation. Do we need to add it?","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    IPv4 and \u00276\u0027 for IPv6. Defaults to \u00274\u0027. Additionally, all"},{"line_number":9,"context_line":"    layer-2 agents must use the same IP version for endpoints."},{"line_number":10,"context_line":"upgrade:"},{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_d7116fb1","line":11,"updated":"2016-07-02 09:56:41.000000000","message":"There is no need to specify anything in default ipv4 scenario.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6fed5707466ab1481ae2323d88e81826ce41c1a3","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    IPv4 and \u00276\u0027 for IPv6. Defaults to \u00274\u0027. Additionally, all"},{"line_number":9,"context_line":"    layer-2 agents must use the same IP version for endpoints."},{"line_number":10,"context_line":"upgrade:"},{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_f807ca19","line":11,"in_reply_to":"1aa78d24_d7116fb1","updated":"2016-07-05 20:11:06.000000000","message":"True, but people should keep this option in mind for upgrades.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    IPv4 and \u00276\u0027 for IPv6. Defaults to \u00274\u0027. Additionally, all"},{"line_number":9,"context_line":"    layer-2 agents must use the same IP version for endpoints."},{"line_number":10,"context_line":"upgrade:"},{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_dbfe43ad","line":11,"in_reply_to":"1aa78d24_f807ca19","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43c99acbac11fff05bb6fd7b0640ad9b33f92985","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"},{"line_number":15,"context_line":"    overhead constants. The value of the \u0027overlay_ip_version\u0027"},{"line_number":16,"context_line":"    option adds either 20 bytes for IPv4 or 40 bytes for"},{"line_number":17,"context_line":"    IPv6 to the constant value to determine the total"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_b71663a5","line":14,"updated":"2016-07-02 09:56:41.000000000","message":"I don\u0027t think users care about constants at all. I don\u0027t think this belongs here at all.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"706e0e449d01591113f49d5ba1618c772fb1f82f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"},{"line_number":15,"context_line":"    overhead constants. The value of the \u0027overlay_ip_version\u0027"},{"line_number":16,"context_line":"    option adds either 20 bytes for IPv4 or 40 bytes for"},{"line_number":17,"context_line":"    IPv6 to the constant value to determine the total"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_1bf0cbfd","line":14,"in_reply_to":"1aa78d24_783c7ae2","updated":"2016-07-05 22:08:37.000000000","message":"Done","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6fed5707466ab1481ae2323d88e81826ce41c1a3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - Define the \u0027overlay_ip_version\u0027 option and value"},{"line_number":12,"context_line":"    appropriate for the environment."},{"line_number":13,"context_line":"other:"},{"line_number":14,"context_line":"  - Remove outer IP header length from overlay protocol"},{"line_number":15,"context_line":"    overhead constants. The value of the \u0027overlay_ip_version\u0027"},{"line_number":16,"context_line":"    option adds either 20 bytes for IPv4 or 40 bytes for"},{"line_number":17,"context_line":"    IPv6 to the constant value to determine the total"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1aa78d24_783c7ae2","line":14,"in_reply_to":"1aa78d24_b71663a5","updated":"2016-07-05 20:11:06.000000000","message":"I might agree. However, the second sentence appears useful.","commit_id":"8e893717b09310c2b502d7973a6b24103d67d2cd"}]}
