)]}'
{"neutron/plugins/ml2/drivers/mechanism_odl.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"5a8c0003c1080d716a789b553715c2b3038a3796","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        \"\"\"Send json to the OpenDaylight controller.\"\"\""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/json\u0027}"},{"line_number":313,"context_line":"        data \u003d jsonutils.dumps(obj, indent\u003d2) if obj else None"},{"line_number":314,"context_line":"        if self.url:"},{"line_number":315,"context_line":"            url \u003d \u0027/\u0027.join([self.url, urlpath])"},{"line_number":316,"context_line":"            LOG.debug(_(\u0027ODL-----\u003e sending URL (%s) \u003c-----ODL\u0027) % url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9UwI%3D","line":313,"updated":"2014-04-07 03:34:31.000000000","message":"Why is this even checked?  Seems like this should be checked once in the initialize() method.","commit_id":"2f69d4309624ae970e9568245eeb14eabb536bc7"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"1339ec24e78371ff3f5116bbde90d44c9cb72410","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        \"\"\"Send json to the OpenDaylight controller.\"\"\""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/json\u0027}"},{"line_number":313,"context_line":"        data \u003d jsonutils.dumps(obj, indent\u003d2) if obj else None"},{"line_number":314,"context_line":"        if self.url:"},{"line_number":315,"context_line":"            url \u003d \u0027/\u0027.join([self.url, urlpath])"},{"line_number":316,"context_line":"            LOG.debug(_(\u0027ODL-----\u003e sending URL (%s) \u003c-----ODL\u0027) % url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9UrM%3D","line":313,"in_reply_to":"AAAAWH%2F9UwI%3D","updated":"2014-04-07 04:08:08.000000000","message":"I moved it up into initialize.","commit_id":"2f69d4309624ae970e9568245eeb14eabb536bc7"},{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"a09b6c6bfd344f82b7971a819f02db65041c1903","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    def initialize(self):"},{"line_number":128,"context_line":"        self.url \u003d cfg.CONF.ml2_odl.url"},{"line_number":129,"context_line":"        if not self.url:"},{"line_number":130,"context_line":"            raise cfg.Error(_(\"The OpenDayLight mechanism driver must be \""},{"line_number":131,"context_line":"                              \"configured with a URL.\"))"},{"line_number":132,"context_line":"        self.timeout \u003d cfg.CONF.ml2_odl.timeout"},{"line_number":133,"context_line":"        self.username \u003d cfg.CONF.ml2_odl.username"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9S2E%3D","line":130,"updated":"2014-04-07 10:21:36.000000000","message":"I think you should rather raise cfg.RequiredOptError(\u0027url\u0027,\u0027ml2_odl\u0027)","commit_id":"437a38519b711d19380ed9feb808e6beeda98af3"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"4f2c926e17809633713ac22e064d997a9e9f976b","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    def initialize(self):"},{"line_number":128,"context_line":"        self.url \u003d cfg.CONF.ml2_odl.url"},{"line_number":129,"context_line":"        if not self.url:"},{"line_number":130,"context_line":"            raise cfg.Error(_(\"The OpenDayLight mechanism driver must be \""},{"line_number":131,"context_line":"                              \"configured with a URL.\"))"},{"line_number":132,"context_line":"        self.timeout \u003d cfg.CONF.ml2_odl.timeout"},{"line_number":133,"context_line":"        self.username \u003d cfg.CONF.ml2_odl.username"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9PVE%3D","line":130,"in_reply_to":"AAAAWH%2F9S2E%3D","updated":"2014-04-07 18:26:41.000000000","message":"Done","commit_id":"437a38519b711d19380ed9feb808e6beeda98af3"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"547b4cb4c13746e0e07bf1f51a2b237c1b968822","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def initialize(self):"},{"line_number":128,"context_line":"        self.url \u003d cfg.CONF.ml2_odl.url"},{"line_number":129,"context_line":"        if not self.url:"},{"line_number":130,"context_line":"            raise cfg.RequiredOptError(\u0027url\u0027, \u0027ml2_odl\u0027)"},{"line_number":131,"context_line":"        self.timeout \u003d cfg.CONF.ml2_odl.timeout"},{"line_number":132,"context_line":"        self.username \u003d cfg.CONF.ml2_odl.username"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9PTw%3D","line":129,"updated":"2014-04-07 18:30:54.000000000","message":"I think username/password are also required. Since you\u0027re making the change here, perhaps we can add similar logic for those as well?","commit_id":"c0498eaea6c89abaa31e4a994b8649677e0efb05"}]}
