)]}'
{"cinder/cmd/rtstool.py":[{"author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"change_message_id":"28705fe29aa5d6b01a3a660edeb213fe5984ca31","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    targets \u003d []"},{"line_number":158,"context_line":"    for x in rtsroot.targets:"},{"line_number":159,"context_line":"        targets.append(x.wwn)"},{"line_number":160,"context_line":"    return targets"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def delete(iqn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_853a04cc","line":160,"updated":"2016-05-06 10:19:33.000000000","message":"return [x.wwn for x in rtsroot.targets]","commit_id":"af946be1234b9abd72b18d847e37606a0c86af39"}],"cinder/privileged/__init__.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"51f3caca7d963fa17d2f96b4c3742514c121d5eb","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"from oslo_privsep import capabilities as c"},{"line_number":3,"context_line":"from oslo_privsep import priv_context"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_c5d41d23","line":1,"updated":"2020-06-22 09:15:29.000000000","message":"I think we should have all the privsep stuff under the same directory, be it privsep or privileged.  With this patch we would have parts in one and part in the other.","commit_id":"ae7c289a83339df548b7b521fdb76da1c8195d51"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"51f3caca7d963fa17d2f96b4c3742514c121d5eb","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    __name__,"},{"line_number":7,"context_line":"    cfg_section\u003d\u0027privsep_cinder\u0027,"},{"line_number":8,"context_line":"    pypath\u003d__name__ + \u0027.default\u0027,"},{"line_number":9,"context_line":"    capabilities\u003d[c.CAP_SYS_ADMIN]"},{"line_number":10,"context_line":")"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_4523ed56","line":9,"updated":"2020-06-22 09:15:29.000000000","message":"This will not work on virtual environments, for those you\u0027ll need capabilities.CAP_DAC_READ_SEARCH, right?","commit_id":"ae7c289a83339df548b7b521fdb76da1c8195d51"}],"cinder/volume/targets/lio.py":[{"author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"change_message_id":"28705fe29aa5d6b01a3a660edeb213fe5984ca31","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        try:"},{"line_number":150,"context_line":"            target_lio.delete(iqn)"},{"line_number":151,"context_line":"        except Exception:"},{"line_number":152,"context_line":"            LOG.exception(_LE(\"Failed to remove iscsi target for volume \""},{"line_number":153,"context_line":"                              \"id:%s.\"), vol_id)"},{"line_number":154,"context_line":"            raise exception.ISCSITargetRemoveFailed(volume_id\u003dvol_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_f4b900ee","line":151,"updated":"2016-05-06 10:19:33.000000000","message":"Is there a more specific exception we could catch here?","commit_id":"af946be1234b9abd72b18d847e37606a0c86af39"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f09c3a7917640bb1d83bb57971084287bb4f99ac","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        try:"},{"line_number":150,"context_line":"            target_lio.delete(iqn)"},{"line_number":151,"context_line":"        except Exception:"},{"line_number":152,"context_line":"            LOG.exception(_LE(\"Failed to remove iscsi target for volume \""},{"line_number":153,"context_line":"                              \"id:%s.\"), vol_id)"},{"line_number":154,"context_line":"            raise exception.ISCSITargetRemoveFailed(volume_id\u003dvol_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_66990ac4","line":151,"in_reply_to":"dab17558_f4b900ee","updated":"2016-05-11 20:50:32.000000000","message":"We could maybe catch RTSLibError from rtslib_fb, but I suspect this is safer rather than making assumptions about their exception types.","commit_id":"af946be1234b9abd72b18d847e37606a0c86af39"}]}
