)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"b87db2ce6e42f66e0b0c1fadc0959a26d2ba08e2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Changed all occurences of volume to object notation in method attach()"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I83633d059270592ad98ecaa0934ab96114496af2"},{"line_number":12,"context_line":"Partial-Implements: blueprint cinder-objects"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba0121b8_7d166f56","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":44},"updated":"2016-04-04 06:47:51.000000000","message":"I can\u0027t reach the blueprint by this href link.\nIs this blueprint approved?","commit_id":"46e08020b04d51636d944cd02bc8ee4ef6260a3a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"aef791efccd0d93060ca3fba3be787c21380b98a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup for Volume Object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed all occurences of volume to object notation in method attach()"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I83633d059270592ad98ecaa0934ab96114496af2"},{"line_number":12,"context_line":"Partial-Implements: blueprint cinder-objects"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a061dce_304f9e6c","line":9,"updated":"2016-04-06 10:12:56.000000000","message":"Now you are doing a larger scope so your message should indicate that.","commit_id":"ac6954eb2f294397311c4ae48da62e971a794ff4"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"beead2a3a48183efce954294cb717086f060f5b0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup for Volume Object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed all occurences of volume to object notation in the api.py without having to change the unit tests"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I83633d059270592ad98ecaa0934ab96114496af2"},{"line_number":12,"context_line":"Partial-Implements: blueprint cinder-objects"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a061dce_364adfac","line":9,"updated":"2016-04-06 16:15:14.000000000","message":"Sorry, wrap this line at 70 chars.  In review, you\u0027ll see a dotted red line at that point.\n\nAlso, it would be good to say that a followup patch will\nmodify the unit tests, get the remaining occurences, and\nput in a check such as Duncan suggested.","commit_id":"d9691f893baeac51f0323da752a3377630798d7a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup for Volume Object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed all occurences of volume to object notation in the api.py"},{"line_number":10,"context_line":"which dont require a change to the unit tests"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"All other occurences which require change to unit tests will be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bab6814e_5c091331","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":22},"updated":"2016-05-18 11:03:34.000000000","message":"s/occurences/occurrences","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Cleanup for Volume Object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed all occurences of volume to object notation in the api.py"},{"line_number":10,"context_line":"which dont require a change to the unit tests"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"All other occurences which require change to unit tests will be"},{"line_number":13,"context_line":"changed in another follow-up patch. This will help it easier to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bab6814e_3709c82d","line":10,"range":{"start_line":10,"start_character":6,"end_line":10,"end_character":10},"updated":"2016-05-18 11:03:34.000000000","message":"s/dont/don\u0027t","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Changed all occurences of volume to object notation in the api.py"},{"line_number":10,"context_line":"which dont require a change to the unit tests"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"All other occurences which require change to unit tests will be"},{"line_number":13,"context_line":"changed in another follow-up patch. This will help it easier to"},{"line_number":14,"context_line":"review and improve readability"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bab6814e_7713505d","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":20},"updated":"2016-05-18 11:03:34.000000000","message":"s/occurences/occurrences","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2da97f730c180cc7165011879a136feb75bc8dfd","unresolved":false,"context_lines":[{"line_number":14,"context_line":"review and improve readability"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I83633d059270592ad98ecaa0934ab96114496af2"},{"line_number":17,"context_line":"Partial-Implements: blueprint cinder-objects"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"bab6814e_54ba4a0b","line":17,"range":{"start_line":17,"start_character":30,"end_line":17,"end_character":44},"updated":"2016-05-19 10:36:46.000000000","message":"The link is broken because this blueprint was accepted for kilo and is marked as implemented.\nSo instead of referring to an already implemented blueprint \n(A broken link) IMO we should file a new LP bug for such cleanup tasks.","commit_id":"7ac59d502f9f0a1adfd27edb034683f1c8ea7622"}],"cinder/volume/api.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"e7bbb89ecfd57e0c6704171253621a22e0bd7127","unresolved":false,"context_lines":[{"line_number":632,"context_line":"                                                     update\u003dFalse)[\u0027readonly\u0027]"},{"line_number":633,"context_line":"        if readonly \u003d\u003d \u0027True\u0027 and mode !\u003d \u0027ro\u0027:"},{"line_number":634,"context_line":"            raise exception.InvalidVolumeAttachMode(mode\u003dmode,"},{"line_number":635,"context_line":"                                                    volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"        attach_results \u003d self.volume_rpcapi.attach_volume(context,"},{"line_number":638,"context_line":"                                                          volume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_65afff7d","line":635,"updated":"2016-04-03 14:02:13.000000000","message":"volume[\u0027id\u0027] -\u003e volume.id","commit_id":"76e687b841dcaaa21d5782e7e5091e9a06d6e012"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"aef791efccd0d93060ca3fba3be787c21380b98a","unresolved":false,"context_lines":[{"line_number":659,"context_line":""},{"line_number":660,"context_line":"    @wrap_check_policy"},{"line_number":661,"context_line":"    def initialize_connection(self, context, volume, connector):"},{"line_number":662,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":663,"context_line":"            LOG.info(_LI(\u0027Unable to initialize the connection for \u0027"},{"line_number":664,"context_line":"                         \u0027volume, because it is in \u0027"},{"line_number":665,"context_line":"                         \u0027maintenance.\u0027), resource\u003dvolume)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_caecb3f5","line":662,"updated":"2016-04-06 10:12:56.000000000","message":"I think you can convert this one to volume.status.","commit_id":"ac6954eb2f294397311c4ae48da62e971a794ff4"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01575d65df4f6e834a38d3f14c92f309ce5985dc","unresolved":false,"context_lines":[{"line_number":451,"context_line":"            volume.save()"},{"line_number":452,"context_line":"            LOG.info(_LI(\"Volume updated successfully.\"), resource\u003dvolume)"},{"line_number":453,"context_line":"        else:"},{"line_number":454,"context_line":"            vref \u003d self.db.volume_update(context, volume.id, fields)"},{"line_number":455,"context_line":"            LOG.info(_LI(\"Volume updated successfully.\"), resource\u003dvref)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def get(self, context, volume_id, viewable_admin_meta\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_d322a751","line":454,"range":{"start_line":454,"start_character":12,"end_line":454,"end_character":68},"updated":"2016-04-14 09:33:33.000000000","message":"You cannot change that until you make sure comment in lines 446-448 is addressed. Please ensure that and remove it if in every usage of volume.api.API.update volume *object* is passed.","commit_id":"68ea9f3d2522b4d52f72c637214e898ab5201fed"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"f171fda8d1fe8beac306165fcf6d20208e49fe73","unresolved":false,"context_lines":[{"line_number":440,"context_line":"        # NOTE(karthikp):Making sure volume is always oslo-versioned"},{"line_number":441,"context_line":"        # If not we convert it at the start of update method"},{"line_number":442,"context_line":"        if not isinstance(volume, objects_base.CinderObject):"},{"line_number":443,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume[\u0027id\u0027])"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if volume.status \u003d\u003d \u0027maintenance\u0027:"},{"line_number":446,"context_line":"            LOG.info(_LI(\"Unable to update volume, \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_aa9f0e4f","line":443,"range":{"start_line":443,"start_character":0,"end_line":443,"end_character":68},"updated":"2016-04-22 09:27:58.000000000","message":"This will trigger a DB call. Use _from_db_object from Volume class instead (I know it\u0027s private, but it\u0027s still better than doing additional DB call).","commit_id":"237aafd66641dbe650291a2115fedadf2d55c3a3"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":249,"context_line":"            volume_type[\u0027extra_specs\u0027] \u003d extra_specs"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        if source_volume and volume_type:"},{"line_number":252,"context_line":"            if volume_type[\u0027id\u0027] !\u003d source_volume[\u0027volume_type_id\u0027]:"},{"line_number":253,"context_line":"                if not self._retype_is_possible("},{"line_number":254,"context_line":"                        context,"},{"line_number":255,"context_line":"                        volume_type[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_0bc74713","line":252,"range":{"start_line":252,"start_character":36,"end_line":252,"end_character":67},"updated":"2016-05-18 11:03:34.000000000","message":"Should we also change this to object notation.","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                if not self._retype_is_possible("},{"line_number":254,"context_line":"                        context,"},{"line_number":255,"context_line":"                        volume_type[\u0027id\u0027],"},{"line_number":256,"context_line":"                        source_volume[\u0027volume_type_id\u0027],"},{"line_number":257,"context_line":"                        volume_type):"},{"line_number":258,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested type \""},{"line_number":259,"context_line":"                            \"is not compatible; either match source volume, \""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_2bd68bc5","line":256,"range":{"start_line":256,"start_character":24,"end_line":256,"end_character":56},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    @wrap_check_policy"},{"line_number":439,"context_line":"    def update(self, context, volume, fields):"},{"line_number":440,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":441,"context_line":"            LOG.info(_LI(\"Unable to update volume, \""},{"line_number":442,"context_line":"                         \"because it is in maintenance.\"), resource\u003dvolume)"},{"line_number":443,"context_line":"            msg \u003d _(\"The volume cannot be updated during maintenance.\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_f6fe2604","line":440,"range":{"start_line":440,"start_character":9,"end_line":440,"end_character":44},"updated":"2016-05-18 11:03:34.000000000","message":"As you are handling this change in a separate patch you should make this patch dependent on the other one handling this change.","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":745,"context_line":"                reserve_opts \u003d {\u0027snapshots\u0027: 1, \u0027gigabytes\u0027: volume.size}"},{"line_number":746,"context_line":"            QUOTAS.add_volume_type_opts(context,"},{"line_number":747,"context_line":"                                        reserve_opts,"},{"line_number":748,"context_line":"                                        volume.get(\u0027volume_type_id\u0027))"},{"line_number":749,"context_line":"            reservations \u003d QUOTAS.reserve(context, **reserve_opts)"},{"line_number":750,"context_line":"        except exception.OverQuota as e:"},{"line_number":751,"context_line":"            overs \u003d e.kwargs[\u0027overs\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_568612ba","line":748,"range":{"start_line":748,"start_character":40,"end_line":748,"end_character":68},"updated":"2016-05-18 11:03:34.000000000","message":"Does volume object has a \u0027get\u0027 method?\n\nIt should be updated to volume.volume_type_id","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":877,"context_line":"                                    \u0027gigabytes\u0027: volume.size}"},{"line_number":878,"context_line":"                QUOTAS.add_volume_type_opts(context,"},{"line_number":879,"context_line":"                                            reserve_opts,"},{"line_number":880,"context_line":"                                            volume.get(\u0027volume_type_id\u0027))"},{"line_number":881,"context_line":"                reserve_opts_list.append(reserve_opts)"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"            for reserve_opts in reserve_opts_list:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_36442e73","line":880,"range":{"start_line":880,"start_character":44,"end_line":880,"end_character":72},"updated":"2016-05-18 11:03:34.000000000","message":"same as above","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":964,"context_line":"    @wrap_check_policy"},{"line_number":965,"context_line":"    def get_volume_metadata(self, context, volume):"},{"line_number":966,"context_line":"        \"\"\"Get all metadata associated with a volume.\"\"\""},{"line_number":967,"context_line":"        rv \u003d self.db.volume_metadata_get(context, volume[\u0027id\u0027])"},{"line_number":968,"context_line":"        LOG.info(_LI(\"Get volume metadata completed successfully.\"),"},{"line_number":969,"context_line":"                 resource\u003dvolume)"},{"line_number":970,"context_line":"        return dict(rv)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_f1fe3004","line":967,"range":{"start_line":967,"start_character":50,"end_line":967,"end_character":61},"updated":"2016-05-18 11:03:34.000000000","message":"Please change this to use object notation.","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":973,"context_line":"    def delete_volume_metadata(self, context, volume,"},{"line_number":974,"context_line":"                               key, meta_type\u003dcommon.METADATA_TYPES.user):"},{"line_number":975,"context_line":"        \"\"\"Delete the given metadata item from a volume.\"\"\""},{"line_number":976,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":977,"context_line":"            LOG.info(_LI(\u0027Unable to delete the volume metadata, \u0027"},{"line_number":978,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":979,"context_line":"            msg \u003d _(\"The volume metadata cannot be deleted when the volume \""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_f181104f","line":976,"range":{"start_line":976,"start_character":11,"end_line":976,"end_character":27},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":979,"context_line":"            msg \u003d _(\"The volume metadata cannot be deleted when the volume \""},{"line_number":980,"context_line":"                    \"is in maintenance mode.\")"},{"line_number":981,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":982,"context_line":"        self.db.volume_metadata_delete(context, volume[\u0027id\u0027], key, meta_type)"},{"line_number":983,"context_line":"        LOG.info(_LI(\"Delete volume metadata completed successfully.\"),"},{"line_number":984,"context_line":"                 resource\u003dvolume)"},{"line_number":985,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_b134a8de","line":982,"range":{"start_line":982,"start_character":48,"end_line":982,"end_character":60},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"        `metadata` argument will be deleted."},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        \"\"\""},{"line_number":1014,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":1015,"context_line":"            LOG.info(_LI(\u0027Unable to update the metadata for volume, \u0027"},{"line_number":1016,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":1017,"context_line":"            msg \u003d _(\"The volume metadata cannot be updated when the volume \""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_f1cf50b1","line":1014,"range":{"start_line":1014,"start_character":11,"end_line":1014,"end_character":27},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                    \"is in maintenance mode.\")"},{"line_number":1019,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1020,"context_line":"        self._check_metadata_properties(metadata)"},{"line_number":1021,"context_line":"        db_meta \u003d self.db.volume_metadata_update(context, volume[\u0027id\u0027],"},{"line_number":1022,"context_line":"                                                 metadata,"},{"line_number":1023,"context_line":"                                                 delete,"},{"line_number":1024,"context_line":"                                                 meta_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_51da9c79","line":1021,"range":{"start_line":1021,"start_character":58,"end_line":1021,"end_character":70},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"    @wrap_check_policy"},{"line_number":1033,"context_line":"    def get_volume_admin_metadata(self, context, volume):"},{"line_number":1034,"context_line":"        \"\"\"Get all administration metadata associated with a volume.\"\"\""},{"line_number":1035,"context_line":"        rv \u003d self.db.volume_admin_metadata_get(context, volume[\u0027id\u0027])"},{"line_number":1036,"context_line":"        LOG.info(_LI(\"Get volume admin metadata completed successfully.\"),"},{"line_number":1037,"context_line":"                 resource\u003dvolume)"},{"line_number":1038,"context_line":"        return dict(rv)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_d1d4cc48","line":1035,"range":{"start_line":1035,"start_character":56,"end_line":1035,"end_character":68},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1047,"context_line":""},{"line_number":1048,"context_line":"        \"\"\""},{"line_number":1049,"context_line":"        self._check_metadata_properties(metadata)"},{"line_number":1050,"context_line":"        db_meta \u003d self.db.volume_admin_metadata_update(context, volume[\u0027id\u0027],"},{"line_number":1051,"context_line":"                                                       metadata, delete, add,"},{"line_number":1052,"context_line":"                                                       update)"},{"line_number":1053,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_b1db081b","line":1050,"range":{"start_line":1050,"start_character":64,"end_line":1050,"end_character":76},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"    @wrap_check_policy"},{"line_number":1120,"context_line":"    def get_volume_image_metadata(self, context, volume):"},{"line_number":1121,"context_line":"        db_data \u003d self.db.volume_glance_metadata_get(context, volume[\u0027id\u0027])"},{"line_number":1122,"context_line":"        LOG.info(_LI(\"Get volume image-metadata completed successfully.\"),"},{"line_number":1123,"context_line":"                 resource\u003dvolume)"},{"line_number":1124,"context_line":"        return {meta_entry.key: meta_entry.value for meta_entry in db_data}"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_71f8807d","line":1121,"range":{"start_line":1121,"start_character":62,"end_line":1121,"end_character":74},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"    def _check_volume_availability(self, volume, force):"},{"line_number":1136,"context_line":"        \"\"\"Check if the volume can be used.\"\"\""},{"line_number":1137,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":1138,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be \u0027"},{"line_number":1139,"context_line":"                    \u0027available or in-use, but current status is: \u0027"},{"line_number":1140,"context_line":"                    \u0027%(vol_status)s.\u0027) % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_f12ab0e6","line":1137,"range":{"start_line":1137,"start_character":11,"end_line":1137,"end_character":27},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1137,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":1138,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be \u0027"},{"line_number":1139,"context_line":"                    \u0027available or in-use, but current status is: \u0027"},{"line_number":1140,"context_line":"                    \u0027%(vol_status)s.\u0027) % {\u0027vol_id\u0027: volume[\u0027id\u0027],"},{"line_number":1141,"context_line":"                                          \u0027vol_status\u0027: volume[\u0027status\u0027]}"},{"line_number":1142,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1143,"context_line":"        if not force and \u0027in-use\u0027 \u003d\u003d volume[\u0027status\u0027]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_713fe025","line":1140,"range":{"start_line":1140,"start_character":52,"end_line":1140,"end_character":64},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1138,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be \u0027"},{"line_number":1139,"context_line":"                    \u0027available or in-use, but current status is: \u0027"},{"line_number":1140,"context_line":"                    \u0027%(vol_status)s.\u0027) % {\u0027vol_id\u0027: volume[\u0027id\u0027],"},{"line_number":1141,"context_line":"                                          \u0027vol_status\u0027: volume[\u0027status\u0027]}"},{"line_number":1142,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1143,"context_line":"        if not force and \u0027in-use\u0027 \u003d\u003d volume[\u0027status\u0027]:"},{"line_number":1144,"context_line":"            msg \u003d _(\u0027Volume status is in-use.\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_9146c4bd","line":1141,"range":{"start_line":1141,"start_character":56,"end_line":1141,"end_character":72},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1140,"context_line":"                    \u0027%(vol_status)s.\u0027) % {\u0027vol_id\u0027: volume[\u0027id\u0027],"},{"line_number":1141,"context_line":"                                          \u0027vol_status\u0027: volume[\u0027status\u0027]}"},{"line_number":1142,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1143,"context_line":"        if not force and \u0027in-use\u0027 \u003d\u003d volume[\u0027status\u0027]:"},{"line_number":1144,"context_line":"            msg \u003d _(\u0027Volume status is in-use.\u0027)"},{"line_number":1145,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1146,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_b12028f9","line":1143,"range":{"start_line":1143,"start_character":37,"end_line":1143,"end_character":52},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1151,"context_line":"        if not CONF.enable_force_upload and force:"},{"line_number":1152,"context_line":"            LOG.info(_LI(\"Force upload to image is disabled, \""},{"line_number":1153,"context_line":"                         \"Force option will be ignored.\"),"},{"line_number":1154,"context_line":"                     resource\u003d{\u0027type\u0027: \u0027volume\u0027, \u0027id\u0027: volume[\u0027id\u0027]})"},{"line_number":1155,"context_line":"            force \u003d False"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"        self._check_volume_availability(volume, force)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_31127863","line":1154,"range":{"start_line":1154,"start_character":55,"end_line":1154,"end_character":67},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"                                                volume,"},{"line_number":1182,"context_line":"                                                recv_metadata)"},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"        response \u003d {\"id\": volume[\u0027id\u0027],"},{"line_number":1185,"context_line":"                    \"updated_at\": volume[\u0027updated_at\u0027],"},{"line_number":1186,"context_line":"                    \"status\": \u0027uploading\u0027,"},{"line_number":1187,"context_line":"                    \"display_description\": volume[\u0027display_description\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_1c0e6b34","line":1184,"range":{"start_line":1184,"start_character":26,"end_line":1184,"end_character":38},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1395,"context_line":""},{"line_number":1396,"context_line":"    @wrap_check_policy"},{"line_number":1397,"context_line":"    def update_readonly_flag(self, context, volume, flag):"},{"line_number":1398,"context_line":"        if volume[\u0027status\u0027] !\u003d \u0027available\u0027:"},{"line_number":1399,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be available \u0027"},{"line_number":1400,"context_line":"                    \u0027to update readonly flag, but current status is: \u0027"},{"line_number":1401,"context_line":"                    \u0027%(vol_status)s.\u0027) % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_fc3607b3","line":1398,"range":{"start_line":1398,"start_character":11,"end_line":1398,"end_character":27},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"ba4bd65e39d14b7e9f4ed40820a8796828f89498","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"    def manage_existing_snapshot(self, context, ref, volume,"},{"line_number":1592,"context_line":"                                 name\u003dNone, description\u003dNone,"},{"line_number":1593,"context_line":"                                 metadata\u003dNone):"},{"line_number":1594,"context_line":"        host \u003d volume_utils.extract_host(volume[\u0027host\u0027])"},{"line_number":1595,"context_line":"        try:"},{"line_number":1596,"context_line":"            # NOTE(jdg): We don\u0027t use this, we just make sure it\u0027s valid"},{"line_number":1597,"context_line":"            # and exists before sending off the call"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_1c14abf3","line":1594,"range":{"start_line":1594,"start_character":41,"end_line":1594,"end_character":55},"updated":"2016-05-18 11:03:34.000000000","message":"ditto","commit_id":"754e403b0d5d374237ae40c0b10004d667805451"}]}
