)]}'
{"cinder/tests/unit/consistencygroup/test_cg.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"74dcae81409fe3d3da5b2628efc2a5560a1970b3","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        self.volume.db.volume_get.reset_mock()"},{"line_number":205,"context_line":"        self.volume.db.volume_get \u003d volume_get_orig"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_update_consistencygroup_volume_not_found(self):"},{"line_number":208,"context_line":"        group \u003d tests_utils.create_consistencygroup("},{"line_number":209,"context_line":"            self.context,"},{"line_number":210,"context_line":"            availability_zone\u003dCONF.storage_availability_zone,"},{"line_number":211,"context_line":"            volume_type\u003d\u0027type1,type2\u0027)"},{"line_number":212,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":213,"context_line":"                          self.volume.update_consistencygroup,"},{"line_number":214,"context_line":"                          self.context,"},{"line_number":215,"context_line":"                          group,"},{"line_number":216,"context_line":"                          fake.VOLUME_ID)"},{"line_number":217,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":218,"context_line":"                          self.volume.update_consistencygroup,"},{"line_number":219,"context_line":"                          self.context,"},{"line_number":220,"context_line":"                          group,"},{"line_number":221,"context_line":"                          None,"},{"line_number":222,"context_line":"                          fake.VOLUME_ID)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    @mock.patch.object(driver.VolumeDriver,"},{"line_number":225,"context_line":"                       \"create_consistencygroup\","}],"source_content_type":"text/x-python","patch_set":28,"id":"3a71b18c_f41f2d59","line":222,"range":{"start_line":207,"start_character":0,"end_line":222,"end_character":41},"updated":"2016-12-01 11:03:46.000000000","message":"Does this test belong to this patch now? You aren\u0027t modifying update_consistencygroup, are you?","commit_id":"4ebac6ee98354bc5a1ce8a5f0513de7da2fa3deb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"886df6ca2ea896075da75f2a8bb45c4eeae1c4cd","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        self.volume.db.volume_get.reset_mock()"},{"line_number":205,"context_line":"        self.volume.db.volume_get \u003d volume_get_orig"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_update_consistencygroup_volume_not_found(self):"},{"line_number":208,"context_line":"        group \u003d tests_utils.create_consistencygroup("},{"line_number":209,"context_line":"            self.context,"},{"line_number":210,"context_line":"            availability_zone\u003dCONF.storage_availability_zone,"},{"line_number":211,"context_line":"            volume_type\u003d\u0027type1,type2\u0027)"},{"line_number":212,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":213,"context_line":"                          self.volume.update_consistencygroup,"},{"line_number":214,"context_line":"                          self.context,"},{"line_number":215,"context_line":"                          group,"},{"line_number":216,"context_line":"                          fake.VOLUME_ID)"},{"line_number":217,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":218,"context_line":"                          self.volume.update_consistencygroup,"},{"line_number":219,"context_line":"                          self.context,"},{"line_number":220,"context_line":"                          group,"},{"line_number":221,"context_line":"                          None,"},{"line_number":222,"context_line":"                          fake.VOLUME_ID)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    @mock.patch.object(driver.VolumeDriver,"},{"line_number":225,"context_line":"                       \"create_consistencygroup\","}],"source_content_type":"text/x-python","patch_set":28,"id":"3a71b18c_7af69fd8","line":222,"range":{"start_line":207,"start_character":0,"end_line":222,"end_character":41},"in_reply_to":"3a71b18c_f41f2d59","updated":"2016-12-01 14:02:17.000000000","message":"I\u0027m not modifying the update_consistencygroup rpc method but neither am I changing or adding this test, it was already there.","commit_id":"4ebac6ee98354bc5a1ce8a5f0513de7da2fa3deb"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4f781512c109553d6832212f24ed9da7bfbbbe19","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                          self.context,"},{"line_number":573,"context_line":"                          volume_id)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    def test_delete_volume_cluster(self):"},{"line_number":576,"context_line":"        \"\"\"Test volume deletion with host from other service in the cluster.\"\"\""},{"line_number":577,"context_line":"        self.volume.cluster \u003d \u0027mycluster\u0027"},{"line_number":578,"context_line":"        volume \u003d tests_utils.create_volume(self.context, status\u003d\u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_80fb6ec0","line":575,"range":{"start_line":575,"start_character":8,"end_line":575,"end_character":34},"updated":"2016-11-28 10:59:15.000000000","message":"This is a negative test, so the name doesn\u0027t really explain that.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21d8e06d41ccf01c25b455d0f9657f66896aec6","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                          self.context,"},{"line_number":573,"context_line":"                          volume_id)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    def test_delete_volume_cluster(self):"},{"line_number":576,"context_line":"        \"\"\"Test volume deletion with host from other service in the cluster.\"\"\""},{"line_number":577,"context_line":"        self.volume.cluster \u003d \u0027mycluster\u0027"},{"line_number":578,"context_line":"        volume \u003d tests_utils.create_volume(self.context, status\u003d\u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_abbccb06","line":575,"range":{"start_line":575,"start_character":8,"end_line":575,"end_character":34},"in_reply_to":"5a74a57a_80fb6ec0","updated":"2016-11-28 11:18:56.000000000","message":"This is a copy/paste error, and the docstring is also wrong.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4f781512c109553d6832212f24ed9da7bfbbbe19","unresolved":false,"context_lines":[{"line_number":3051,"context_line":"                          self.context,"},{"line_number":3052,"context_line":"                          snapshot_id)"},{"line_number":3053,"context_line":""},{"line_number":3054,"context_line":"    def test_delete_snapshot_cluster(self):"},{"line_number":3055,"context_line":"        \"\"\"Test snapshot can be deleted from other service in the cluster.\"\"\""},{"line_number":3056,"context_line":"        self.volume.cluster \u003d \u0027mycluster\u0027"},{"line_number":3057,"context_line":"        volume \u003d tests_utils.create_volume(self.context, status\u003d\u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_c001e6b0","line":3054,"range":{"start_line":3054,"start_character":8,"end_line":3054,"end_character":36},"updated":"2016-11-28 10:59:15.000000000","message":"ditto","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21d8e06d41ccf01c25b455d0f9657f66896aec6","unresolved":false,"context_lines":[{"line_number":3051,"context_line":"                          self.context,"},{"line_number":3052,"context_line":"                          snapshot_id)"},{"line_number":3053,"context_line":""},{"line_number":3054,"context_line":"    def test_delete_snapshot_cluster(self):"},{"line_number":3055,"context_line":"        \"\"\"Test snapshot can be deleted from other service in the cluster.\"\"\""},{"line_number":3056,"context_line":"        self.volume.cluster \u003d \u0027mycluster\u0027"},{"line_number":3057,"context_line":"        volume \u003d tests_utils.create_volume(self.context, status\u003d\u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_4b44171a","line":3054,"range":{"start_line":3054,"start_character":8,"end_line":3054,"end_character":36},"in_reply_to":"5a74a57a_c001e6b0","updated":"2016-11-28 11:18:56.000000000","message":"yup, same thing here, copy/paste issue.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"}],"cinder/volume/manager.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4f781512c109553d6832212f24ed9da7bfbbbe19","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        if volume[\u0027attach_status\u0027] \u003d\u003d fields.VolumeAttachStatus.ATTACHED:"},{"line_number":676,"context_line":"            # Volume is still attached, need to detach first"},{"line_number":677,"context_line":"            raise exception.VolumeAttached(volume_id\u003dvolume.id)"},{"line_number":678,"context_line":"        if not self._is_our_resource(volume):"},{"line_number":679,"context_line":"            raise exception.InvalidVolume("},{"line_number":680,"context_line":"                reason\u003d_(\"volume is not local to this node\"))"},{"line_number":681,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_60e012fb","line":678,"range":{"start_line":678,"start_character":0,"end_line":678,"end_character":45},"updated":"2016-11-28 10:59:15.000000000","message":"Can this actually happen, or is it only a safeguard?","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21d8e06d41ccf01c25b455d0f9657f66896aec6","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        if volume[\u0027attach_status\u0027] \u003d\u003d fields.VolumeAttachStatus.ATTACHED:"},{"line_number":676,"context_line":"            # Volume is still attached, need to detach first"},{"line_number":677,"context_line":"            raise exception.VolumeAttached(volume_id\u003dvolume.id)"},{"line_number":678,"context_line":"        if not self._is_our_resource(volume):"},{"line_number":679,"context_line":"            raise exception.InvalidVolume("},{"line_number":680,"context_line":"                reason\u003d_(\"volume is not local to this node\"))"},{"line_number":681,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_808b6ec2","line":678,"range":{"start_line":678,"start_character":0,"end_line":678,"end_character":45},"in_reply_to":"5a74a57a_60e012fb","updated":"2016-11-28 11:18:56.000000000","message":"AFAIK this should not happen if the code is right everywhere, but I wanted to be extra sure, at least at the beginning, because there have been too many changes to be sure I haven\u0027t introduced any weird bugs, and deleting a volume is \"kind of a big deal\".","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84ebd9075abe59efa8c39b612b4f723ccb8f8e45","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        if volume[\u0027attach_status\u0027] \u003d\u003d fields.VolumeAttachStatus.ATTACHED:"},{"line_number":676,"context_line":"            # Volume is still attached, need to detach first"},{"line_number":677,"context_line":"            raise exception.VolumeAttached(volume_id\u003dvolume.id)"},{"line_number":678,"context_line":"        if not self._is_our_resource(volume):"},{"line_number":679,"context_line":"            raise exception.InvalidVolume("},{"line_number":680,"context_line":"                reason\u003d_(\"volume is not local to this node\"))"},{"line_number":681,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_06a216fd","line":678,"range":{"start_line":678,"start_character":0,"end_line":678,"end_character":45},"in_reply_to":"5a74a57a_808b6ec2","updated":"2016-11-28 11:37:31.000000000","message":"+1 to that, I just wanted to make sure wrong routing is something regular.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"}],"cinder/volume/rpcapi.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4f781512c109553d6832212f24ed9da7bfbbbe19","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_408076f7","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"updated":"2016-11-28 10:59:15.000000000","message":"Why aren\u0027t we switching this one to cluster message routing?","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b6bc51079daab407c34b6afa878564474759bd2e","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_5cc73a63","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_3a845409","updated":"2016-11-29 14:54:22.000000000","message":"backend_id works for me if you wish to switch that.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21d8e06d41ccf01c25b455d0f9657f66896aec6","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_eb9c03c2","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_408076f7","updated":"2016-11-28 11:18:56.000000000","message":"We are [1], but since in one case we do it from a volume [1] and in another case [2] we do it using a user provided parameter I thought moving this to the manager was the best way.\n\n[1]: https://review.openstack.org/#/c/344225/26/cinder/volume/manager.py@1660\n[2]: https://github.com/openstack/cinder/blob/master/cinder/api/contrib/capabilities.py#L53","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"64365d3d37c12c3d7b8dff19e43a9f2765612ef2","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_8516a953","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_5cc73a63","updated":"2016-11-30 11:26:49.000000000","message":"**wish** may not be the right word here... but I\u0027ll change it anyway  ;-)","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"0670518dafa8d62c82193c794c32f9fe6f5ee520","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_965ee174","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_8516a953","updated":"2016-11-30 11:55:26.000000000","message":"My usage of \"wish\" in review comment means - your call, I won\u0027t -1 for that. :)","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"2177a97564e0b74453994ebb7ecd2b0b556f7ac6","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_51b99c78","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_965ee174","updated":"2016-11-30 18:28:48.000000000","message":"I know, what I meant is \"I don\u0027t wish to\" but I must, because it\u0027s the right change.  XD","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"83b42ad5ee480f4f6d41583e7ad2b146c660cb2a","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_3a845409","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_e6ea7a0e","updated":"2016-11-29 08:57:16.000000000","message":"We could go with something like `cluster_or_host`, `topic`, or `backend_id`...","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84ebd9075abe59efa8c39b612b4f723ccb8f8e45","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                   snapshot\u003dsnapshot,"},{"line_number":292,"context_line":"                   ref\u003dref)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def get_capabilities(self, ctxt, host, discover):"},{"line_number":295,"context_line":"        cctxt \u003d self._get_cctxt(host)"},{"line_number":296,"context_line":"        return cctxt.call(ctxt, \u0027get_capabilities\u0027, discover\u003ddiscover)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def get_backup_device(self, ctxt, backup, volume):"},{"line_number":299,"context_line":"        cctxt \u003d self._get_cctxt(volume.host, (\u00273.2\u0027, \u00273.0\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a74a57a_e6ea7a0e","line":296,"range":{"start_line":294,"start_character":0,"end_line":296,"end_character":70},"in_reply_to":"5a74a57a_eb9c03c2","updated":"2016-11-28 11:37:31.000000000","message":"Fair enough. We could probably rename the parameter to make sure it\u0027s obvious this can be both host and cluster, but I don\u0027t really have an idea for a good name.","commit_id":"cb1a733b011196c374e36392b293d202f8769942"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7ceb254abbfdc59b2b713286895a0ae514f83622","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        cctxt.cast(ctxt, \u0027delete_group\u0027, group\u003dgroup)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    def update_group(self, ctxt, group, add_volumes\u003dNone, remove_volumes\u003dNone):"},{"line_number":337,"context_line":"        cctxt \u003d self._get_cctxt(group.service_topic_queue)"},{"line_number":338,"context_line":"        cctxt.cast(ctxt, \u0027update_group\u0027, group\u003dgroup, add_volumes\u003dadd_volumes,"},{"line_number":339,"context_line":"                   remove_volumes\u003dremove_volumes)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_fca6460d","line":337,"range":{"start_line":337,"start_character":38,"end_line":337,"end_character":57},"updated":"2016-11-29 14:50:29.000000000","message":"I\u0027ve commented about that in scheduler operations patch, but it belongs here. Why are we switching this one without mention in the commit message and without switching update_consistencygroup as well?","commit_id":"568c99f9521e3d2920078098d69181028c733de5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"646d953e46b1932a56b6704a3d22810f5863eacb","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        cctxt.cast(ctxt, \u0027delete_group\u0027, group\u003dgroup)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    def update_group(self, ctxt, group, add_volumes\u003dNone, remove_volumes\u003dNone):"},{"line_number":337,"context_line":"        cctxt \u003d self._get_cctxt(group.service_topic_queue)"},{"line_number":338,"context_line":"        cctxt.cast(ctxt, \u0027update_group\u0027, group\u003dgroup, add_volumes\u003dadd_volumes,"},{"line_number":339,"context_line":"                   remove_volumes\u003dremove_volumes)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_c55a6150","line":337,"range":{"start_line":337,"start_character":38,"end_line":337,"end_character":57},"in_reply_to":"5a74a57a_fca6460d","updated":"2016-11-30 11:11:06.000000000","message":"This was mistakenly introduced here in one of the rebases, this should go with the patch that changes `update_consistencygroup` [1]\n\n[1] https://review.openstack.org/355968","commit_id":"568c99f9521e3d2920078098d69181028c733de5"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"5c016aad671b9a81f2b49499544c42fbef68838d","unresolved":false,"context_lines":[{"line_number":349,"context_line":"        cctxt.cast(ctxt, \u0027create_group_snapshot\u0027,"},{"line_number":350,"context_line":"                   group_snapshot\u003dgroup_snapshot)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def delete_group_snapshot(self, ctxt, group_snapshot):"},{"line_number":353,"context_line":"        cctxt \u003d self._get_cctxt(group_snapshot.group.host)"},{"line_number":354,"context_line":"        cctxt.cast(ctxt, \u0027delete_group_snapshot\u0027,"},{"line_number":355,"context_line":"                   group_snapshot\u003dgroup_snapshot)"}],"source_content_type":"text/x-python","patch_set":28,"id":"3a71b18c_746cfd9c","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":29},"updated":"2016-12-01 11:05:01.000000000","message":"Oh, what about this one, if we\u0027re already switching delete_cgsnapshot?","commit_id":"4ebac6ee98354bc5a1ce8a5f0513de7da2fa3deb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"886df6ca2ea896075da75f2a8bb45c4eeae1c4cd","unresolved":false,"context_lines":[{"line_number":349,"context_line":"        cctxt.cast(ctxt, \u0027create_group_snapshot\u0027,"},{"line_number":350,"context_line":"                   group_snapshot\u003dgroup_snapshot)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def delete_group_snapshot(self, ctxt, group_snapshot):"},{"line_number":353,"context_line":"        cctxt \u003d self._get_cctxt(group_snapshot.group.host)"},{"line_number":354,"context_line":"        cctxt.cast(ctxt, \u0027delete_group_snapshot\u0027,"},{"line_number":355,"context_line":"                   group_snapshot\u003dgroup_snapshot)"}],"source_content_type":"text/x-python","patch_set":28,"id":"3a71b18c_7a793f2f","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":29},"in_reply_to":"3a71b18c_746cfd9c","updated":"2016-12-01 14:02:17.000000000","message":"I don\u0027t know what is going on... Gerrit just went bananas on me. This patch is **not** what I submitted this morning!!  The hash doesn\u0027t match and this is correct in my local patch  :-(","commit_id":"4ebac6ee98354bc5a1ce8a5f0513de7da2fa3deb"}]}
