)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"4a9379686b9afc318f7eb2a55f6ad8b2a5c0a31a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aleksey Ruban \u003caleksey.ruban@nexenta.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-01 11:55:22 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added HA support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added HA support in NexentaEdge iSCSI driver"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_ff7ba779","line":7,"updated":"2016-07-02 01:11:27.000000000","message":"Please change title to: \n  Nexenta: Added HA support and enhance get_volume_stats()","commit_id":"f4fb2f7578b500eff6e4bdca51bae2686a1a39cf"}],"cinder/tests/unit/test_nexenta_edge.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"35ed8137d9ea214626a18bb6d3a9d99f4506cd0e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        def _safe_get(opt):"},{"line_number":61,"context_line":"            return getattr(self.cfg, opt)"},{"line_number":62,"context_line":"        super(TestNexentaEdgeISCSIDriver, self).setUp()"},{"line_number":63,"context_line":"        self.ctx \u003d context.get_admin_context()"},{"line_number":64,"context_line":"        self.cfg \u003d mock.Mock(spec\u003dconf.Configuration)"},{"line_number":65,"context_line":"        self.cfg.safe_get \u003d mock.Mock(side_effect\u003d_safe_get)"},{"line_number":66,"context_line":"        self.cfg.trace_flags \u003d \u0027fake_trace_flags\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_82bd2cda","line":63,"updated":"2016-07-07 01:05:22.000000000","message":"The driver doesn\u0027t seem to need admin context, please use normal context otherwise it may cover problems.","commit_id":"12ccd51a09e6668e73acc4ff4903db553e6390c7"}],"cinder/volume/drivers/nexenta/nexentaedge/iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b5db3f3fccea259e643f9033a4a705134c9aea69","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"@interface.volumedriver"},{"line_number":34,"context_line":"class NexentaEdgeISCSIDriver(driver.ISCSIDriver):"},{"line_number":35,"context_line":"    \"\"\"Executes volume driver commands on NexentaEdge cluster."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_3c1d6473","side":"PARENT","line":33,"updated":"2016-06-30 22:21:42.000000000","message":"This needs to be added back.","commit_id":"483bc008f339cbec6346f80b940a1d2a627bf09d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b5db3f3fccea259e643f9033a4a705134c9aea69","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":241,"context_line":"                LOG.exception(_LE(\u0027Error creating cloned volume\u0027))"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        if ((\u0027size\u0027 in volume) and (volume[\u0027size\u0027] \u003e src_vref[\u0027size\u0027])):"},{"line_number":244,"context_line":"            self.extend_volume(volume, volume[\u0027size\u0027])"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def create_export(self, context, volume, connector\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_971ef15c","side":"PARENT","line":243,"updated":"2016-06-30 22:21:42.000000000","message":"Why was this removed?","commit_id":"483bc008f339cbec6346f80b940a1d2a627bf09d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b5db3f3fccea259e643f9033a4a705134c9aea69","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        }"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def create_volume(self, volume):"},{"line_number":173,"context_line":"        LOG.warning(volume[\u0027name\u0027])"},{"line_number":174,"context_line":"        data \u003d {"},{"line_number":175,"context_line":"            \u0027objectPath\u0027: self.bucket_path + \u0027/\u0027 + volume[\u0027name\u0027],"},{"line_number":176,"context_line":"            \u0027volSizeMB\u0027: int(volume[\u0027size\u0027]) * units.Ki,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_fcff5cff","line":173,"updated":"2016-06-30 22:21:42.000000000","message":"Is this leftover debugging code? This should be removed.","commit_id":"42ffe5aa3733c3954f581ee3b3671d67cb9b752f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b5db3f3fccea259e643f9033a4a705134c9aea69","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                                           \u0027/\u0027 + volume[\u0027name\u0027]})"},{"line_number":193,"context_line":"        except exception.VolumeBackendAPIException:"},{"line_number":194,"context_line":"            LOG.info("},{"line_number":195,"context_line":"                _LI(\u0027Volume was already deleted from appliance, skipping\u0027),"},{"line_number":196,"context_line":"                resource\u003dvolume)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def extend_volume(self, volume, new_size):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_171cc168","line":195,"updated":"2016-06-30 22:21:42.000000000","message":"That period probably should have been kept here.","commit_id":"42ffe5aa3733c3954f581ee3b3671d67cb9b752f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"aae80426223c65031631a7a99a8c9585958e9d7e","unresolved":false,"context_lines":[{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def get_volume_stats(self, refresh\u003dFalse):"},{"line_number":286,"context_line":"        resp \u003d self.restapi.get(\u0027system/stats\u0027)"},{"line_number":287,"context_line":"        summary \u003d resp[\u0027stats\u0027][\u0027summary\u0027]"},{"line_number":288,"context_line":"        total \u003d nexenta_utils.str2gib_size(summary[\u0027total_capacity\u0027])"},{"line_number":289,"context_line":"        free \u003d nexenta_utils.str2gib_size(summary[\u0027total_available\u0027])"},{"line_number":290,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_b560220f","line":287,"updated":"2016-07-01 14:08:31.000000000","message":"These changes are not mentioned in the commit message. Can you add that information to the commit, or else do these changes in a separate patchset?","commit_id":"f82629ec348cabf2829481e78d3ec12de71fae88"}],"releasenotes/notes/nexentaedge-iscsi-ee5d6c05d65f97af.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c938fbcfbe17dbb4ec048bc0a374da4beeda2f32","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added HA support"},{"line_number":4,"context_line":"upgrade:"},{"line_number":5,"context_line":"  - get_volume_stats function now returns total and free capacity"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1aa78d24_594bee2b","line":3,"updated":"2016-07-02 19:41:11.000000000","message":"This needs to say for what HA support was added. Like this it implies that Cinder as a whole had HA support added.","commit_id":"d71c9e3eecf5bc1cb6759dcde025c730f8bbcb47"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c938fbcfbe17dbb4ec048bc0a374da4beeda2f32","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added HA support"},{"line_number":4,"context_line":"upgrade:"},{"line_number":5,"context_line":"  - get_volume_stats function now returns total and free capacity"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1aa78d24_995556c8","line":5,"updated":"2016-07-02 19:41:11.000000000","message":"Remove this. This is not something deployers need to be aware of to do upgrades, and this is an internal implementation detail for your driver that end users don\u0027t need to know about and probably wouldn\u0027t understand.","commit_id":"d71c9e3eecf5bc1cb6759dcde025c730f8bbcb47"}]}
