)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"f2b45eb288264e343191a8bf3160b426d283aabd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9abb7d3a_ba64ec21","line":12,"updated":"2016-05-31 20:32:34.000000000","message":"You\u0027re missing bug #.\n\nPartial-Bug: #1563069","commit_id":"961c5fcfbd117a3bca1f88fa52ea29d7f46d0ce0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4bd46d0bfbcdd06e30e7d11c9e24266f1dac153a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"},{"line_number":14,"context_line":"Partial-Bug: #1563069"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_3b2b6784","line":11,"updated":"2016-06-06 08:50:40.000000000","message":"this code is specifically related to the ml2 plugin. neutron may work with other plugins.\n\nconsider having a subdirectory in conf called ml2.","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"57b99aaefbba53e11c6a76de909712889b147eb1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"},{"line_number":14,"context_line":"Partial-Bug: #1563069"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_aa0eca31","line":11,"in_reply_to":"7aa08908_3b2b6784","updated":"2016-06-06 14:43:03.000000000","message":"This is a good suggestion.","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"a2b5be076d37f06b74a4f605dd924298a10ed72f","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"},{"line_number":14,"context_line":"Partial-Bug: #1563069"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_3da71f0c","line":11,"in_reply_to":"7aa08908_aa0eca31","updated":"2016-06-08 19:16:54.000000000","message":"I\u0027d go for just calling the module ml2.py, or having a subdirectory called plugins with ml2.py being one of the modules.","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"fd98f04660ee1f7cc7fec562340f2ed80e7c1b55","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"},{"line_number":14,"context_line":"Partial-Bug: #1563069"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1aa78d24_0bc73e13","line":11,"updated":"2016-07-04 06:56:02.000000000","message":"at least for plugins and drivers, i tend to think modularity is more important.  how do you think?","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"857a18b1c56894ae4fdcfcaeea63b44a08bb7dc0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring neutron configuration options for plugins to be in"},{"line_number":10,"context_line":"neutron/conf. This would allow centralization of all configuration"},{"line_number":11,"context_line":"options and provide an easy way to import."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10b62feae08a2524c7ff402bc733473f644a8a45"},{"line_number":14,"context_line":"Partial-Bug: #1563069"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1aa78d24_1aa8938c","line":11,"in_reply_to":"1aa78d24_0bc73e13","updated":"2016-07-06 17:44:54.000000000","message":"i think modularity is important,\nplan is to put config options definitions for ml2 plugin in neutron/conf/plugins/ml2_config.py","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"}],"neutron/conf/plugin.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d020f91415cdad7796276a8eb6fc4c0568530eb0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"               help\u003d_(\"Multicast group for VXLAN. When configured, will \""},{"line_number":97,"context_line":"                      \"enable sending all broadcast traffic to this multicast \""},{"line_number":98,"context_line":"                      \"group. When left unconfigured, will disable multicast \""},{"line_number":99,"context_line":"                      \"VXLAN mode.\")),"},{"line_number":100,"context_line":"]"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"ovs_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_2fa32a51","line":99,"range":{"start_line":99,"start_character":37,"end_line":99,"end_character":38},"updated":"2016-06-02 16:05:34.000000000","message":"Sometimes the config options end in commas, and sometimes they don\u0027t. Should we be consistent?","commit_id":"cf642f81d8798551386a7cf259b688ca8f28e1be"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f0ce77e25bb186a075106c9be22cf43d735e8954","unresolved":false,"context_lines":[{"line_number":96,"context_line":"               help\u003d_(\"Multicast group for VXLAN. When configured, will \""},{"line_number":97,"context_line":"                      \"enable sending all broadcast traffic to this multicast \""},{"line_number":98,"context_line":"                      \"group. When left unconfigured, will disable multicast \""},{"line_number":99,"context_line":"                      \"VXLAN mode.\")),"},{"line_number":100,"context_line":"]"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"ovs_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_3fa513b5","line":99,"range":{"start_line":99,"start_character":37,"end_line":99,"end_character":38},"in_reply_to":"9abb7d3a_2fa32a51","updated":"2016-06-02 17:17:38.000000000","message":"I think this is a style issue and not too big of a deal.  Anyone adding options to these will immediately know what is needed.","commit_id":"cf642f81d8798551386a7cf259b688ca8f28e1be"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"90e8ba97d7502853ecd7b4b718baae7fc35b9829","unresolved":false,"context_lines":[{"line_number":96,"context_line":"               help\u003d_(\"Multicast group for VXLAN. When configured, will \""},{"line_number":97,"context_line":"                      \"enable sending all broadcast traffic to this multicast \""},{"line_number":98,"context_line":"                      \"group. When left unconfigured, will disable multicast \""},{"line_number":99,"context_line":"                      \"VXLAN mode.\")),"},{"line_number":100,"context_line":"]"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"ovs_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_85167253","line":99,"range":{"start_line":99,"start_character":37,"end_line":99,"end_character":38},"in_reply_to":"9abb7d3a_3fa513b5","updated":"2016-06-02 18:01:53.000000000","message":"As far as I can tell, these options were copied from couple different places.\nI\u0027m OK with leaving them as just copy-paste nad clean in next patch.","commit_id":"cf642f81d8798551386a7cf259b688ca8f28e1be"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d020f91415cdad7796276a8eb6fc4c0568530eb0","unresolved":false,"context_lines":[{"line_number":233,"context_line":"    cfg.BoolOpt(\u0027enable_vxlan\u0027, default\u003dTrue,"},{"line_number":234,"context_line":"                help\u003d_(\"Enable VXLAN on the agent. Can be enabled when \""},{"line_number":235,"context_line":"                       \"agent is managed by ml2 plugin using linuxbridge \""},{"line_number":236,"context_line":"                       \"mechanism driver\")),"},{"line_number":237,"context_line":"    cfg.IntOpt(\u0027ttl\u0027,"},{"line_number":238,"context_line":"               help\u003d_(\"TTL for vxlan interface protocol packets.\")),"},{"line_number":239,"context_line":"    cfg.IntOpt(\u0027tos\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_cf809e8e","line":236,"range":{"start_line":236,"start_character":39,"end_line":236,"end_character":41},"updated":"2016-06-02 16:05:34.000000000","message":"Most help messages end in periods, should we be consistent with this?","commit_id":"cf642f81d8798551386a7cf259b688ca8f28e1be"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f0ce77e25bb186a075106c9be22cf43d735e8954","unresolved":false,"context_lines":[{"line_number":233,"context_line":"    cfg.BoolOpt(\u0027enable_vxlan\u0027, default\u003dTrue,"},{"line_number":234,"context_line":"                help\u003d_(\"Enable VXLAN on the agent. Can be enabled when \""},{"line_number":235,"context_line":"                       \"agent is managed by ml2 plugin using linuxbridge \""},{"line_number":236,"context_line":"                       \"mechanism driver\")),"},{"line_number":237,"context_line":"    cfg.IntOpt(\u0027ttl\u0027,"},{"line_number":238,"context_line":"               help\u003d_(\"TTL for vxlan interface protocol packets.\")),"},{"line_number":239,"context_line":"    cfg.IntOpt(\u0027tos\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_3f8cf334","line":236,"range":{"start_line":236,"start_character":39,"end_line":236,"end_character":41},"in_reply_to":"9abb7d3a_cf809e8e","updated":"2016-06-02 17:17:38.000000000","message":"I wouldn\u0027t fix that in this review as to keep this laser focused on just the moving.  It would be a good low-hanging fruit bug though :)","commit_id":"cf642f81d8798551386a7cf259b688ca8f28e1be"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4bd46d0bfbcdd06e30e7d11c9e24266f1dac153a","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron._i18n import _"},{"line_number":25,"context_line":"from neutron.plugins.common import constants as p_const"},{"line_number":26,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.common \\"},{"line_number":27,"context_line":"    import constants"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_bb3757e2","line":26,"updated":"2016-06-06 08:50:40.000000000","message":"what is the plugin does not use ovs?","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"077e22eb0cb7a95a5997d7345c1de14a0bc90682","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron._i18n import _"},{"line_number":25,"context_line":"from neutron.plugins.common import constants as p_const"},{"line_number":26,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.common \\"},{"line_number":27,"context_line":"    import constants"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_21937ffb","line":26,"in_reply_to":"7aa08908_bb3757e2","updated":"2016-06-08 17:10:58.000000000","message":"Linux Bridge plugin, Vendor plugins.\ni don\u0027t understand this suggestion. Can you please elaborate?","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"57b99aaefbba53e11c6a76de909712889b147eb1","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron._i18n import _"},{"line_number":25,"context_line":"from neutron.plugins.common import constants as p_const"},{"line_number":26,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.common \\"},{"line_number":27,"context_line":"    import constants"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_e7748bd0","line":26,"in_reply_to":"7aa08908_bb3757e2","updated":"2016-06-06 14:43:03.000000000","message":"garyk, what happens if the plugin doesn\u0027t use ovs?","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"}],"neutron/conf/plugins/ml2.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"c4002e45643a83a3a7e646b3224eef406e0de6ca","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":31,"context_line":"DEFAULT_VLAN_RANGES \u003d []"},{"line_number":32,"context_line":"DEFAULT_TUNNEL_RANGES \u003d []"},{"line_number":33,"context_line":"DEFAULT_TUNNEL_TYPES \u003d []"},{"line_number":34,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":35,"context_line":"DEFAULT_VXLAN_GROUP \u003d \u0027224.0.0.1\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_e277809d","line":32,"range":{"start_line":31,"start_character":0,"end_line":32,"end_character":26},"updated":"2016-06-09 14:49:56.000000000","message":"These are unused in the code base.","commit_id":"6a7a813b1a116e6b1966ce6a09f588313217a090"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"78e986c505ad9a1ea3a0a1abb533416e8f1d0e82","unresolved":false,"context_lines":[{"line_number":17,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":18,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":19,"context_line":"#    under the License."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron_lib import constants as n_const"},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_1c9f5351","line":20,"updated":"2016-06-22 20:16:09.000000000","message":"suggestion: This file name should not be just ml2\nI would suggest to have it named ml2_conf or ml2_opts. \n\nml2 is bit confusing and also dir in neutron tree","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"}],"neutron/opts.py":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"dfbceda8cbc8874aee38904523c7656a4a2ffb0f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import neutron.agent.metadata.config"},{"line_number":30,"context_line":"import neutron.agent.ovsdb.api"},{"line_number":31,"context_line":"import neutron.agent.securitygroups_rpc"},{"line_number":32,"context_line":"import neutron.conf.quota"},{"line_number":33,"context_line":"import neutron.conf.service"},{"line_number":34,"context_line":"import neutron.db.agents_db"},{"line_number":35,"context_line":"import neutron.db.agentschedulers_db"},{"line_number":36,"context_line":"import neutron.db.dvr_mac_db"}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_9d53e216","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":27},"updated":"2016-05-31 20:36:39.000000000","message":"you didn\u0027t import `neutron.conf.plugin` so your changes won\u0027t work.","commit_id":"961c5fcfbd117a3bca1f88fa52ea29d7f46d0ce0"}],"neutron/plugins/ml2/config.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"3caea177799dbd4ddaf7231cce47c65d474c6e26","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron.conf.plugins import ml2"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_27407a56","line":16,"updated":"2016-06-21 22:15:41.000000000","message":"I had to check why this import was needed and its because:\n\n\nhttps://github.com/openstack/neutron/blob/26230eb840df18f2e866ed12221a942a206c1729/neutron/tests/unit/plugins/ml2/test_plugin.py#L74\n\nThat module should be changed to just use oslo_config.cfg instead of importing it from this module.","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"4367d9e27204d11a9215361ad180f96c8fa4cf63","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron.conf.plugins import ml2"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_52ad8230","line":16,"in_reply_to":"3aaa91ec_27407a56","updated":"2016-06-21 22:21:48.000000000","message":"actually there\u0027s a lot of instances of that being done in that file.  You\u0027d need to change them all, and that will increase the size of this review a lot.  It\u0027s already pretty large as is.  I wonder if, dare I say, splitting the review up would be best.  I\u0027d like to get other opinions on the matter.","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"78e986c505ad9a1ea3a0a1abb533416e8f1d0e82","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron.conf.plugins import ml2"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_7c4ad7c6","line":16,"in_reply_to":"3aaa91ec_52ad8230","updated":"2016-06-22 20:16:09.000000000","message":"splitting can be tricky in this case. but patch could be splited this way. have first patch with definition of all opts in a file in ml2 dir and just replace imports for one agent and in subsequent patches do it for other agents.","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"}],"neutron/plugins/ml2/drivers/agent/config.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"3caea177799dbd4ddaf7231cce47c65d474c6e26","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.agent.common import config"},{"line_number":20,"context_line":"from neutron.conf.plugins import ml2"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_2717da52","line":17,"updated":"2016-06-21 22:15:41.000000000","message":"probably the same issue as the previous file.","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/common/config.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"05c85fa0fd8ae1ec51538f1dd0f74fa37823c158","unresolved":false,"context_lines":[{"line_number":19,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":20,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":21,"context_line":"DEFAULT_VXLAN_GROUP \u003d \u0027224.0.0.1\u0027"},{"line_number":22,"context_line":"DEFAULT_KERNEL_HZ_VALUE \u003d 250  # [Hz]"},{"line_number":23,"context_line":"DEFAULT_TC_TBF_LATENCY \u003d 50  # [ms]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"vxlan_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_4067b7b6","side":"PARENT","line":22,"updated":"2016-06-08 13:44:03.000000000","message":"Note the legit fullstack failure, it\u0027s trying to import this symbol and failing.","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"1453ac4f499df4e7e35d8f1fe1df4336223a6121","unresolved":false,"context_lines":[{"line_number":19,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":20,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":21,"context_line":"DEFAULT_VXLAN_GROUP \u003d \u0027224.0.0.1\u0027"},{"line_number":22,"context_line":"DEFAULT_KERNEL_HZ_VALUE \u003d 250  # [Hz]"},{"line_number":23,"context_line":"DEFAULT_TC_TBF_LATENCY \u003d 50  # [ms]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"vxlan_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_18507f31","side":"PARENT","line":22,"in_reply_to":"7aa08908_04493cd0","updated":"2016-06-08 15:45:57.000000000","message":"Here is the error Assaf pointed out,\nhttp://logs.openstack.org/22/320722/5/check/gate-neutron-dsvm-fullstack/36e081b/testr_results.html.gz\n\nHow about updating the import statement to neutron/conf in following file https://github.com/openstack/neutron/blob/master/neutron/tests/fullstack/test_qos.py#L28 \nand solving fullstack error ?\n\nconstants defined here are being used in the code that was moved to neutron/conf (except DEFAULT_KERNEL_HZ_VALUE) , if the constants stay here, there will be two copies of the same","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"a2b5be076d37f06b74a4f605dd924298a10ed72f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":20,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":21,"context_line":"DEFAULT_VXLAN_GROUP \u003d \u0027224.0.0.1\u0027"},{"line_number":22,"context_line":"DEFAULT_KERNEL_HZ_VALUE \u003d 250  # [Hz]"},{"line_number":23,"context_line":"DEFAULT_TC_TBF_LATENCY \u003d 50  # [ms]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"vxlan_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_fd8d9731","side":"PARENT","line":22,"in_reply_to":"7aa08908_18507f31","updated":"2016-06-08 19:16:54.000000000","message":"My question would be why isn\u0027t that code using the config option to get that value?  We shouldn\u0027t fix it in this patch but, seems like that code should get get the config option value, unless its actually testing the default value of the option, which it doesn\u0027t seem to be doing.\n\nI think importing the constant from neutron/conf/plugin.py (or whatever its named) into that failing test makes the most sense.  If that is ever fixed to just use the config option then that import will not be needed anymore and forced to be removed.","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"112fb6c92ee28009b8250839f750dd4c348145be","unresolved":false,"context_lines":[{"line_number":19,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":20,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":21,"context_line":"DEFAULT_VXLAN_GROUP \u003d \u0027224.0.0.1\u0027"},{"line_number":22,"context_line":"DEFAULT_KERNEL_HZ_VALUE \u003d 250  # [Hz]"},{"line_number":23,"context_line":"DEFAULT_TC_TBF_LATENCY \u003d 50  # [ms]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"vxlan_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_04493cd0","side":"PARENT","line":22,"in_reply_to":"7aa08908_4067b7b6","updated":"2016-06-08 15:07:14.000000000","message":"We should leave the constants here.","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"}],"neutron/plugins/ml2/drivers/macvtap/agent/config.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"112fb6c92ee28009b8250839f750dd4c348145be","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron._i18n import _"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DEFAULT_INTERFACE_MAPPINGS \u003d []"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"macvtap_opts \u003d ["},{"line_number":24,"context_line":"    cfg.ListOpt(\u0027physical_interface_mappings\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_24cd5831","side":"PARENT","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":31},"updated":"2016-06-08 15:07:14.000000000","message":"This one too.","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/common/config.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"112fb6c92ee28009b8250839f750dd4c348145be","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        exclude_mapping[dev_name] \u003d exclude_devices_set"},{"line_number":52,"context_line":"    return exclude_mapping"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"DEFAULT_DEVICE_MAPPINGS \u003d []"},{"line_number":55,"context_line":"DEFAULT_EXCLUDE_DEVICES \u003d []"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"agent_opts \u003d ["},{"line_number":58,"context_line":"    cfg.IntOpt(\u0027polling_interval\u0027, default\u003d2,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_a4d948f5","side":"PARENT","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":28},"updated":"2016-06-08 15:07:14.000000000","message":"same","commit_id":"8054e0c11ae75399b6a92c311550f8b3c53dc327"}],"neutron/plugins/ml2/drivers/openvswitch/agent/common/config.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"112fb6c92ee28009b8250839f750dd4c348145be","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from neutron.conf import plugin"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DEFAULT_BRIDGE_MAPPINGS \u003d []"},{"line_number":22,"context_line":"DEFAULT_VLAN_RANGES \u003d []"},{"line_number":23,"context_line":"DEFAULT_TUNNEL_RANGES \u003d []"},{"line_number":24,"context_line":"DEFAULT_TUNNEL_TYPES \u003d []"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"plugin.register_plugin_opts(plugin.ovs_opts, \"OVS\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_84b52c7f","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":25},"updated":"2016-06-08 15:07:14.000000000","message":"Weird how these are still here.","commit_id":"e8d3cad8198ffb8991e8fe7cb0054b7f5c10a16b"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"3caea177799dbd4ddaf7231cce47c65d474c6e26","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.agent.common import config"},{"line_number":18,"context_line":"from neutron.conf.plugins import ml2"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_32dd5643","line":15,"updated":"2016-06-21 22:15:41.000000000","message":"here too","commit_id":"7fc301ef8c9d77f4d0f64e37bdecb4b6bd51b9c2"}],"neutron/plugins/ml2/drivers/type_geneve.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"78b91b0f732bca90531c574bbe3580f2726dd5e7","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"geneve_opts \u003d ["},{"line_number":31,"context_line":"    cfg.ListOpt(\u0027vni_ranges\u0027,"},{"line_number":32,"context_line":"                default\u003d[],"},{"line_number":33,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":34,"context_line":"                       \"enumerating ranges of Geneve VNI IDs that are \""},{"line_number":35,"context_line":"                       \"available for tenant network allocation\")),"},{"line_number":36,"context_line":"    cfg.IntOpt(\u0027max_header_size\u0027,"},{"line_number":37,"context_line":"               default\u003dp_const.GENEVE_ENCAP_MIN_OVERHEAD,"},{"line_number":38,"context_line":"               help\u003d_(\"Geneve encapsulation header size is dynamic, this \""},{"line_number":39,"context_line":"                      \"value is used to calculate the maximum MTU \""},{"line_number":40,"context_line":"                      \"for the driver. \""},{"line_number":41,"context_line":"                      \"This is the sum of the sizes of the outer \""},{"line_number":42,"context_line":"                      \"ETH + IP + UDP + GENEVE header sizes. \""},{"line_number":43,"context_line":"                      \"The default size for this field is 50, which is the \""},{"line_number":44,"context_line":"                      \"size of the Geneve header without any additional \""},{"line_number":45,"context_line":"                      \"option headers.\")),"},{"line_number":46,"context_line":"]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"plugin.register_plugin_opts(geneve_opts, \"ml2_type_geneve\")"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_776144a8","line":46,"range":{"start_line":30,"start_character":0,"end_line":46,"end_character":1},"updated":"2016-06-03 15:43:49.000000000","message":"Did you forget to remove these options?","commit_id":"848b12a574790f73dbad33f0e3d9572673e09380"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"85cc7c486742ca043299d96dfa22e0ac43eed800","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"geneve_opts \u003d ["},{"line_number":31,"context_line":"    cfg.ListOpt(\u0027vni_ranges\u0027,"},{"line_number":32,"context_line":"                default\u003d[],"},{"line_number":33,"context_line":"                help\u003d_(\"Comma-separated list of \u003cvni_min\u003e:\u003cvni_max\u003e tuples \""},{"line_number":34,"context_line":"                       \"enumerating ranges of Geneve VNI IDs that are \""},{"line_number":35,"context_line":"                       \"available for tenant network allocation\")),"},{"line_number":36,"context_line":"    cfg.IntOpt(\u0027max_header_size\u0027,"},{"line_number":37,"context_line":"               default\u003dp_const.GENEVE_ENCAP_MIN_OVERHEAD,"},{"line_number":38,"context_line":"               help\u003d_(\"Geneve encapsulation header size is dynamic, this \""},{"line_number":39,"context_line":"                      \"value is used to calculate the maximum MTU \""},{"line_number":40,"context_line":"                      \"for the driver. \""},{"line_number":41,"context_line":"                      \"This is the sum of the sizes of the outer \""},{"line_number":42,"context_line":"                      \"ETH + IP + UDP + GENEVE header sizes. \""},{"line_number":43,"context_line":"                      \"The default size for this field is 50, which is the \""},{"line_number":44,"context_line":"                      \"size of the Geneve header without any additional \""},{"line_number":45,"context_line":"                      \"option headers.\")),"},{"line_number":46,"context_line":"]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"plugin.register_plugin_opts(geneve_opts, \"ml2_type_geneve\")"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_1221e64d","line":46,"range":{"start_line":30,"start_character":0,"end_line":46,"end_character":1},"in_reply_to":"9abb7d3a_776144a8","updated":"2016-06-03 15:57:47.000000000","message":"yup, thanks\ni must be sleeping when self reviewing. will remove it. \n\nRegarding one of your previous comment\n\"This also may be another low-hanging fruit bug but... what about removing the options from .../ml2/drivers/agent/config.py - these are duplicated options that are already in the conf/plugin.py so no need to have them anymore.\"\n\nI see a comment by Kevin and it mentions deduplication work\nhttps://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/agent/config.py#L30\n\nif agent_opts is removed in above file, comments by Kevin will also be deleted. it might be a bookmark, not sure","commit_id":"848b12a574790f73dbad33f0e3d9572673e09380"}]}
