)]}'
{"quantum/plugins/linuxbridge/common/config.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":51,"context_line":"cfg.CONF.register_opts(vlan_opts, \"VLANS\")"},{"line_number":52,"context_line":"cfg.CONF.register_opts(bridge_opts, \"LINUX_BRIDGE\")"},{"line_number":53,"context_line":"cfg.CONF.register_opts(agent_opts, \"AGENT\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FCV0%3D","line":50,"updated":"2013-02-10 08:39:38.000000000","message":"Why do we need this here?\nThese configuration variables are isolated to the database code.\nIf this is a test issue then the tests should be updated.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":51,"context_line":"cfg.CONF.register_opts(vlan_opts, \"VLANS\")"},{"line_number":52,"context_line":"cfg.CONF.register_opts(bridge_opts, \"LINUX_BRIDGE\")"},{"line_number":53,"context_line":"cfg.CONF.register_opts(agent_opts, \"AGENT\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FBrI%3D","line":50,"in_reply_to":"AAAAM3%2F%2FB04%3D","updated":"2013-02-11 07:33:49.000000000","message":"The agents do not access the database (or at least they should not). This is done via the RPC. The only access to the database should be done via the plugin.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":51,"context_line":"cfg.CONF.register_opts(vlan_opts, \"VLANS\")"},{"line_number":52,"context_line":"cfg.CONF.register_opts(bridge_opts, \"LINUX_BRIDGE\")"},{"line_number":53,"context_line":"cfg.CONF.register_opts(agent_opts, \"AGENT\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FBck%3D","line":50,"in_reply_to":"AAAAM3%2F%2FBrI%3D","updated":"2013-02-11 11:43:50.000000000","message":"Understood. I guess these tests are invalid now.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":51,"context_line":"cfg.CONF.register_opts(vlan_opts, \"VLANS\")"},{"line_number":52,"context_line":"cfg.CONF.register_opts(bridge_opts, \"LINUX_BRIDGE\")"},{"line_number":53,"context_line":"cfg.CONF.register_opts(agent_opts, \"AGENT\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FB04%3D","line":50,"in_reply_to":"AAAAM3%2F%2FCV0%3D","updated":"2013-02-11 03:28:45.000000000","message":"The places where DATABASE option group is registered are\n\n$ grep -R \"DATABASE\" * | grep register_opts\nquantum/db/migration/cli.py:CONF.register_opts(_db_opts, \u0027DATABASE\u0027)\nquantum/db/api.py:cfg.CONF.register_opts(database_opts, \"DATABASE\")\n\nTherefore this means the DATABASE option group for all agents were accidentally loaded from quantum.db.api I guess. So the question I have now is how can we explicitly set DATABASE group options to each plugin\u0027s agents? That way the agent code and agent test scripts wouldn\u0027t be dependant on other modules.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"}],"quantum/plugins/ryu/common/config.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":44,"context_line":"cfg.CONF.import_group(\"AGENT\", \"quantum.plugins.linuxbridge.common.config\")"},{"line_number":45,"context_line":"cfg.CONF.register_opts(ovs_opts, \"OVS\")"},{"line_number":46,"context_line":"config.register_root_helper(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FCVs%3D","line":44,"updated":"2013-02-10 08:39:38.000000000","message":"This is very problematic. For example for Fedora each plugin has its own package. This means that the RYU plugin will not work unless the user has installed the linuxbridge plugin.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"cfg.CONF.import_group(\"DATABASE\", \"quantum.db.api\")"},{"line_number":44,"context_line":"cfg.CONF.import_group(\"AGENT\", \"quantum.plugins.linuxbridge.common.config\")"},{"line_number":45,"context_line":"cfg.CONF.register_opts(ovs_opts, \"OVS\")"},{"line_number":46,"context_line":"config.register_root_helper(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FB0w%3D","line":44,"in_reply_to":"AAAAM3%2F%2FCVs%3D","updated":"2013-02-11 03:28:45.000000000","message":"Done","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"}],"quantum/tests/unit/linuxbridge/test_defaults.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.linuxbridge.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOJA%3D","line":23,"updated":"2013-02-01 16:09:16.000000000","message":"This import should be in quantum.plugins.linuxbridge.common.config","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.linuxbridge.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FKc0%3D","line":23,"in_reply_to":"AAAAM3%2F%2FKfg%3D","updated":"2013-02-05 06:08:54.000000000","message":"Got it.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.linuxbridge.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FKfg%3D","line":23,"in_reply_to":"AAAAM3%2F%2FNgw%3D","updated":"2013-02-05 05:29:45.000000000","message":"You are correct that the file does not have DATABASE group defined, but you can add the import to ensure that the options from that file are loaded.  The DB options are a little tricky with plugins because the plugins are not required to use our database library.  In this case a little repetition is the only was to explicitly ensure the options are loaded when used.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.linuxbridge.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FNgw%3D","line":23,"in_reply_to":"AAAAM3%2F%2FOC8%3D","updated":"2013-02-02 02:05:20.000000000","message":"Mark, Salvatore\n\nBut quantum.plugins.linuxbridge.common.config does not have the DATABASE group defined. Therefore the test fails if this is ran alone.\n\nThis was one of the things I wanted to discuss which is about the DRY policy to options in Quantum. There are to many redefinitions of options across modules so having options be defined only in one module and the rest importing them would be maybe better?","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.linuxbridge.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOC8%3D","line":23,"in_reply_to":"AAAAM3%2F%2FOJA%3D","updated":"2013-02-01 17:12:11.000000000","message":"Uhm... I was wrong in approving too quickly this patch.\nMark\u0027s advice also makes sense.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_defaults(self):"},{"line_number":29,"context_line":"        self.assertEqual(\u0027sqlite://\u0027,"},{"line_number":30,"context_line":"                         cfg.CONF.DATABASE.sql_connection)"},{"line_number":31,"context_line":"        self.assertEqual(-1,"},{"line_number":32,"context_line":"                         cfg.CONF.DATABASE.sql_max_retries)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FCVw%3D","line":29,"updated":"2013-02-10 08:39:38.000000000","message":"All of the database code can be removed and it could be part of the database testing.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_defaults(self):"},{"line_number":29,"context_line":"        self.assertEqual(\u0027sqlite://\u0027,"},{"line_number":30,"context_line":"                         cfg.CONF.DATABASE.sql_connection)"},{"line_number":31,"context_line":"        self.assertEqual(-1,"},{"line_number":32,"context_line":"                         cfg.CONF.DATABASE.sql_max_retries)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FB0s%3D","line":29,"in_reply_to":"AAAAM3%2F%2FCVw%3D","updated":"2013-02-11 03:28:45.000000000","message":"I think these tests are just to check if the default option configurations are correct or not.","commit_id":"1048e98c5c6253d51988c4a8e75bb877b98a42e3"}],"quantum/tests/unit/nec/test_config.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from quantum.plugins.nec.common import config"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOJI%3D","line":24,"updated":"2013-02-01 16:09:16.000000000","message":"This import should be in quantum.plugins.nec.common.config","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"}],"quantum/tests/unit/openvswitch/test_ovs_defaults.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from quantum.plugins.openvswitch.common import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class ConfigurationTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOJM%3D","line":23,"updated":"2013-02-01 16:09:16.000000000","message":"This import should be quantum.plugins.openvswitch.common.config.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"}],"quantum/tests/unit/ryu/test_defaults.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from quantum.plugins.ryu.common import config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"cfg.CONF.import_opt(\u0027sql_connection\u0027, \u0027quantum.db.api\u0027, \u0027DATABASE\u0027)"},{"line_number":26,"context_line":"cfg.CONF.import_opt(\u0027root_helper\u0027,"},{"line_number":27,"context_line":"                    \u0027quantum.plugins.linuxbridge.common.config\u0027,"},{"line_number":28,"context_line":"                    \u0027AGENT\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOJQ%3D","line":25,"updated":"2013-02-01 16:09:16.000000000","message":"If these are required options for the Ryu plugin, this import should be in ryu.common.config.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"}],"quantum/tests/unit/test_policy.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bdb64e28a8b4df76b042490355c7e3e5f21ed967","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import quantum"},{"line_number":29,"context_line":"#NOTE this import loads tests required options"},{"line_number":30,"context_line":"from quantum.common import config"},{"line_number":31,"context_line":"from quantum.common import exceptions"},{"line_number":32,"context_line":"from quantum import context"},{"line_number":33,"context_line":"from quantum.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOJY%3D","line":30,"updated":"2013-02-01 16:09:16.000000000","message":"This is wrong place to fix this problem.  You should add the import_opt() quantun/policy.py to indicate the dependency on the required configuration option in that file.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import quantum"},{"line_number":29,"context_line":"#NOTE this import loads tests required options"},{"line_number":30,"context_line":"from quantum.common import config"},{"line_number":31,"context_line":"from quantum.common import exceptions"},{"line_number":32,"context_line":"from quantum import context"},{"line_number":33,"context_line":"from quantum.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOC4%3D","line":30,"in_reply_to":"AAAAM3%2F%2FOJY%3D","updated":"2013-02-01 17:12:11.000000000","message":"I agree with Mark\u0027s comment.","commit_id":"ee1d1cdc3cd0fd2b68e478f3ed783df4f205a8b6"}]}
