)]}'
{"cinder/tests/test_volume.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":950,"context_line":"             \u0027host\u0027: \u0027fake_host\u0027,"},{"line_number":951,"context_line":"             \u0027id\u0027: \u0027fake_volume_id\u0027,"},{"line_number":952,"context_line":"             \u0027volume_admin_metadata\u0027: {}}"},{"line_number":953,"context_line":"        _mock_volume_update.return_value \u003d {\u0027wtf\u0027: \u0027is this\u0027}"},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        connector \u003d {\u0027ip\u0027: \u0027IP\u0027, \u0027initiator\u0027: \u0027INITIATOR\u0027}"},{"line_number":956,"context_line":"        qos_values \u003d {\u0027consumer\u0027: \u0027front-end\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93Po%3D","line":953,"updated":"2014-02-03 06:31:43.000000000","message":"I think these two return values are reversed: volume_update should return the volume info and admin_metadata_get should return WTF :)","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":950,"context_line":"             \u0027host\u0027: \u0027fake_host\u0027,"},{"line_number":951,"context_line":"             \u0027id\u0027: \u0027fake_volume_id\u0027,"},{"line_number":952,"context_line":"             \u0027volume_admin_metadata\u0027: {}}"},{"line_number":953,"context_line":"        _mock_volume_update.return_value \u003d {\u0027wtf\u0027: \u0027is this\u0027}"},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        connector \u003d {\u0027ip\u0027: \u0027IP\u0027, \u0027initiator\u0027: \u0027INITIATOR\u0027}"},{"line_number":956,"context_line":"        qos_values \u003d {\u0027consumer\u0027: \u0027front-end\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9zAA%3D","line":953,"in_reply_to":"AAAAUH%2F93Po%3D","updated":"2014-02-03 21:00:47.000000000","message":"So I should have removed the \"wtf\" there... :)\n\nThe reason it says WTF though is because as you point out, looking at this it should be swapped, the problem is that I noticed testing this that for *some* reason the mocked volume_update was calling the metadata_get... working on figuring that out.","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":670,"context_line":"            LOG.debug(_(\"Volume %s: creating export\"), volume_ref[\u0027id\u0027])"},{"line_number":671,"context_line":"            model_update \u003d self.driver.create_export(context, volume_ref)"},{"line_number":672,"context_line":"            if model_update:"},{"line_number":673,"context_line":"                self.db.volume_update(context, volume_ref[\u0027id\u0027], model_update)"},{"line_number":674,"context_line":"        except exception.CinderException as ex:"},{"line_number":675,"context_line":"            # If somehow the read *or* create export failed we want to ensure"},{"line_number":676,"context_line":"            # that the failure is logged (but not try rescheduling since"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93Pc%3D","side":"PARENT","line":673,"updated":"2014-02-03 06:31:43.000000000","message":"Hmm, looks like there was a bug here - volume_ref is returned below, but it is not updated with the model_update info (i.e., this line should have been volume_ref \u003d self.db.volume_update...)","commit_id":"a5c4cf84c0c5a6102573bccdfd35543ef3fa054c"}],"cinder/volume/manager.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":679,"context_line":"            LOG.debug(_(\"volume %s: removing export\"), volume_id)"},{"line_number":680,"context_line":"            self.driver.remove_export(context, volume)"},{"line_number":681,"context_line":"        except Exception:"},{"line_number":682,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":683,"context_line":"                msg \u003d (_(\"Failed to to remove export for volume:%s\"),"},{"line_number":684,"context_line":"                       volume_id)"},{"line_number":685,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93PE%3D","line":682,"updated":"2014-02-03 06:31:43.000000000","message":"Does it make sense to log the exception received and raise something else so we don\u0027t have random exceptions from drivers bubbling up?","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":679,"context_line":"            LOG.debug(_(\"volume %s: removing export\"), volume_id)"},{"line_number":680,"context_line":"            self.driver.remove_export(context, volume)"},{"line_number":681,"context_line":"        except Exception:"},{"line_number":682,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":683,"context_line":"                msg \u003d (_(\"Failed to to remove export for volume:%s\"),"},{"line_number":684,"context_line":"                       volume_id)"},{"line_number":685,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F90Ss%3D","line":682,"in_reply_to":"AAAAUH%2F93PE%3D","updated":"2014-02-03 21:00:47.000000000","message":"It does, the only thing I don\u0027t like about it is it changes the pattern of exception handling in this module.  IE this particular case becomes a one-off.  Updating the rest would be a good follow up.\nDone","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"df691628214aa8247291a14aee9fe3ad3f228613","unresolved":false,"context_lines":[{"line_number":680,"context_line":"            self.driver.remove_export(context, volume)"},{"line_number":681,"context_line":"        except Exception:"},{"line_number":682,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":683,"context_line":"                msg \u003d (_(\"Failed to to remove export for volume:%s\"),"},{"line_number":684,"context_line":"                       volume_id)"},{"line_number":685,"context_line":"                LOG.error(msg)"},{"line_number":686,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F90PE%3D","line":683,"updated":"2014-02-03 17:19:43.000000000","message":"Recommend adding a space after \u0027volume: \u0027 .","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":682,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":683,"context_line":"                msg \u003d (_(\"Failed to to remove export for volume:%s\"),"},{"line_number":684,"context_line":"                       volume_id)"},{"line_number":685,"context_line":"                LOG.error(msg)"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        self._notify_about_volume_usage(context, volume, \"detach.end\")"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93PM%3D","line":685,"updated":"2014-02-03 06:31:43.000000000","message":"Would rather use LOG.exception","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":682,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":683,"context_line":"                msg \u003d (_(\"Failed to to remove export for volume:%s\"),"},{"line_number":684,"context_line":"                       volume_id)"},{"line_number":685,"context_line":"                LOG.error(msg)"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        self._notify_about_volume_usage(context, volume, \"detach.end\")"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F90Sc%3D","line":685,"in_reply_to":"AAAAUH%2F93PM%3D","updated":"2014-02-03 21:00:47.000000000","message":"Done","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        model_update \u003d None"},{"line_number":766,"context_line":"        try:"},{"line_number":767,"context_line":"            LOG.debug(_(\"Volume %s: creating export\"), volume_id)"},{"line_number":768,"context_line":"            model_update \u003d self.driver.create_export(context, volume)"},{"line_number":769,"context_line":"            if model_update:"},{"line_number":770,"context_line":"                self.db.volume_update(context, volume_id, model_update)"},{"line_number":771,"context_line":"        except exception.CinderException as ex:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93Ok%3D","line":768,"updated":"2014-02-03 06:31:43.000000000","message":"Do we need to pass in the connector here for LIO?  I\u0027m just going based on the commit message where you said it needs initiator info.  If so, validate_connector should be called before.","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        model_update \u003d None"},{"line_number":766,"context_line":"        try:"},{"line_number":767,"context_line":"            LOG.debug(_(\"Volume %s: creating export\"), volume_id)"},{"line_number":768,"context_line":"            model_update \u003d self.driver.create_export(context, volume)"},{"line_number":769,"context_line":"            if model_update:"},{"line_number":770,"context_line":"                self.db.volume_update(context, volume_id, model_update)"},{"line_number":771,"context_line":"        except exception.CinderException as ex:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F90Is%3D","line":768,"in_reply_to":"AAAAUH%2F93Ok%3D","updated":"2014-02-03 21:00:47.000000000","message":"This isn\u0027t the cleanest right now, but for LIO we\u0027ll update with initiator info in the \"initialize_connection\".\n\nI agree that we should eventually have just \"initialize_connection\" and be done with the create_export and friends altogether.  I want to stage this in a bit though, the conversion from using export is going to be a big patch and there are a lot of issues I ran in to with trying to do all the clean up.\n\nThe code is currently pretty bad about disjointed use of these two methods.","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            LOG.debug(_(\"Volume %s: creating export\"), volume_id)"},{"line_number":768,"context_line":"            model_update \u003d self.driver.create_export(context, volume)"},{"line_number":769,"context_line":"            if model_update:"},{"line_number":770,"context_line":"                self.db.volume_update(context, volume_id, model_update)"},{"line_number":771,"context_line":"        except exception.CinderException as ex:"},{"line_number":772,"context_line":"            if model_update:"},{"line_number":773,"context_line":"                LOG.exception(_(\"Failed updating model of volume %(volume_id)s\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93O0%3D","line":770,"updated":"2014-02-03 06:31:43.000000000","message":"This should be:\n volume \u003d self.db.volume_update...","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            LOG.debug(_(\"Volume %s: creating export\"), volume_id)"},{"line_number":768,"context_line":"            model_update \u003d self.driver.create_export(context, volume)"},{"line_number":769,"context_line":"            if model_update:"},{"line_number":770,"context_line":"                self.db.volume_update(context, volume_id, model_update)"},{"line_number":771,"context_line":"        except exception.CinderException as ex:"},{"line_number":772,"context_line":"            if model_update:"},{"line_number":773,"context_line":"                LOG.exception(_(\"Failed updating model of volume %(volume_id)s\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9z4E%3D","line":770,"in_reply_to":"AAAAUH%2F93O0%3D","updated":"2014-02-03 21:00:47.000000000","message":"Done","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":775,"context_line":"                              {\u0027volume_id\u0027: volume_id, \u0027model\u0027: model_update})"},{"line_number":776,"context_line":"                raise exception.ExportFailure(reason\u003dex)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"        volume \u003d self.db.volume_get(context, volume_id)"},{"line_number":779,"context_line":"        self.driver.validate_connector(connector)"},{"line_number":780,"context_line":"        try:"},{"line_number":781,"context_line":"            conn_info \u003d self.driver.initialize_connection(volume, connector)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93Ow%3D","line":778,"updated":"2014-02-03 06:31:43.000000000","message":"This line can be removed","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"39c0d16d2ef77f3cef2e37ba2adea7efa54553a1","unresolved":false,"context_lines":[{"line_number":775,"context_line":"                              {\u0027volume_id\u0027: volume_id, \u0027model\u0027: model_update})"},{"line_number":776,"context_line":"                raise exception.ExportFailure(reason\u003dex)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"        volume \u003d self.db.volume_get(context, volume_id)"},{"line_number":779,"context_line":"        self.driver.validate_connector(connector)"},{"line_number":780,"context_line":"        try:"},{"line_number":781,"context_line":"            conn_info \u003d self.driver.initialize_connection(volume, connector)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9z34%3D","line":778,"in_reply_to":"AAAAUH%2F93Ow%3D","updated":"2014-02-03 21:00:47.000000000","message":"Done","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":776,"context_line":"                raise exception.ExportFailure(reason\u003dex)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"        volume \u003d self.db.volume_get(context, volume_id)"},{"line_number":779,"context_line":"        self.driver.validate_connector(connector)"},{"line_number":780,"context_line":"        try:"},{"line_number":781,"context_line":"            conn_info \u003d self.driver.initialize_connection(volume, connector)"},{"line_number":782,"context_line":"        except Exception as err:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93OU%3D","line":779,"updated":"2014-02-03 06:31:43.000000000","message":"I think validate_connector should go into a try/except and do remove_export if it fails, or better yet, just move it to the start of the function after require_driver_initialized","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e442846996e8a9b47c8666044c399837eb6edce0","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        except Exception as err:"},{"line_number":783,"context_line":"            err_msg \u003d (_(\u0027Unable to fetch connection information from \u0027"},{"line_number":784,"context_line":"                         \u0027backend: %(err)s\u0027) % {\u0027err\u0027: str(err)})"},{"line_number":785,"context_line":"            LOG.error(err_msg)"},{"line_number":786,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"        # Add qos_specs to connection info"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F93OQ%3D","line":785,"updated":"2014-02-03 06:31:43.000000000","message":"remove_export if initialize_connection failed","commit_id":"43394e2445b33b81cf8da01fc63e62840d6f825d"}],"etc/cinder/cinder.conf.sample":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"688512d7d4b06303b1a6bb4da9e726a5184f5321","unresolved":false,"context_lines":[{"line_number":1980,"context_line":"# binding method that must be present in tokens. (string"},{"line_number":1981,"context_line":"# value)"},{"line_number":1982,"context_line":"#enforce_token_bind\u003dpermissive"},{"line_number":1983,"context_line":""},{"line_number":1984,"context_line":""},{"line_number":1985,"context_line":"[matchmaker_ring]"},{"line_number":1986,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAAUH%2F9xaY%3D","line":1983,"updated":"2014-02-04 05:03:24.000000000","message":"Is this change intended to be part of this patch?  Seems unrelated.","commit_id":"2629e57f5052371509120e5f3587e7fd524f9252"}]}
