)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"404fd436003181f1fe5beff498c853f92aee017d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-05-27 15:00:48 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for volume v2 API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I68bd303c194f304ad15f899d335b72a8bf3ebe10"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_a106d719","line":8,"updated":"2015-05-29 06:33:09.000000000","message":"beef up the commit msg a bit and add the line:\n\n  implements bp: volume-v2\n\nsomewhere in the message","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"}],"openstackclient/volume/v2/backup.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2012-2013 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_ae6a46eb","line":1,"updated":"2015-05-29 06:30:49.000000000","message":"delete this, it\u0027s old and you don\u0027t work for the foundation :)","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2012-2013 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c3fad7bc","line":1,"in_reply_to":"7a016987_ae6a46eb","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Volume v2 Backup action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cliff import command"},{"line_number":22,"context_line":"from cliff import lister"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_6eb20e96","line":19,"updated":"2015-05-29 06:30:49.000000000","message":"six is a third party import and should be grouped with cliff (underneath it so it\u0027s alphabetical)","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Volume v2 Backup action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cliff import command"},{"line_number":22,"context_line":"from cliff import lister"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c321b74e","line":19,"in_reply_to":"7a016987_6eb20e96","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from openstackclient.common import utils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class ShowBackup(show.ShowOne):"},{"line_number":29,"context_line":"    \"\"\"Display backup details\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    log \u003d logging.getLogger(__name__ + \".ShowBackup\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_cec222e9","line":28,"updated":"2015-05-29 06:30:49.000000000","message":"flip show and delete around so Delete is first (alphabetically)","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from openstackclient.common import utils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class ShowBackup(show.ShowOne):"},{"line_number":29,"context_line":"    \"\"\"Display backup details\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    log \u003d logging.getLogger(__name__ + \".ShowBackup\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c3e897e4","line":28,"in_reply_to":"7a016987_cec222e9","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b22450f81700fd209d08f624c41803425232c7ee","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        volume_client \u003d self.app.client_manager.volume"},{"line_number":67,"context_line":"        backup \u003d utils.find_resource(volume_client.backups,"},{"line_number":68,"context_line":"                                     parsed_args.backup)"},{"line_number":69,"context_line":"        if backup._info.get(\"links\"):"},{"line_number":70,"context_line":"            backup._info.pop(\"links\")"},{"line_number":71,"context_line":"        return zip(*sorted(six.iteritems(backup._info)))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_34644320","line":69,"updated":"2015-05-30 06:43:36.000000000","message":"you can consolidate this to one line:\n\n  backup._info.pop(\u0027links\u0027, None)\n\nso it\u0027s benign if \u0027links\u0027 doesn\u0027t exist","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"f76a1857e43b1ae552d5b2b58ff1f061f469c050","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        volume_client \u003d self.app.client_manager.volume"},{"line_number":67,"context_line":"        backup \u003d utils.find_resource(volume_client.backups,"},{"line_number":68,"context_line":"                                     parsed_args.backup)"},{"line_number":69,"context_line":"        if backup._info.get(\"links\"):"},{"line_number":70,"context_line":"            backup._info.pop(\"links\")"},{"line_number":71,"context_line":"        return zip(*sorted(six.iteritems(backup._info)))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_72f408f0","line":69,"in_reply_to":"7a016987_34644320","updated":"2015-05-30 18:32:04.000000000","message":"Done","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"}],"openstackclient/volume/v2/snapshot.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_ee64be22","updated":"2015-05-29 06:30:49.000000000","message":"exact same comments as in backup","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_83ee1feb","in_reply_to":"7a016987_ee64be22","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"}],"openstackclient/volume/v2/type.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_0e7cbab3","updated":"2015-05-29 06:30:49.000000000","message":"exact same comments as in backup","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_63eb23dd","in_reply_to":"7a016987_0e7cbab3","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"Volume v1 Type action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_8e6f8afb","line":16,"updated":"2015-05-29 06:30:49.000000000","message":"v2","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"Volume v1 Type action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_e3b5d3ec","line":16,"in_reply_to":"7a016987_8e6f8afb","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"}],"openstackclient/volume/v2/volume.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_ee4b9e85","updated":"2015-05-29 06:30:49.000000000","message":"exact same comments as in backup","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a016987_a3cc7b89","in_reply_to":"7a016987_ee4b9e85","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b22450f81700fd209d08f624c41803425232c7ee","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"class ShowVolume(show.ShowOne):"},{"line_number":63,"context_line":"    \"\"\"Show volume details\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowVolume\u0027)"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_d46e0fff","line":63,"updated":"2015-05-30 06:43:36.000000000","message":"Use \"Display\" instead of \"Show\" -- sorry, i know it\u0027s annoying but we are trying to be consistent","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"f76a1857e43b1ae552d5b2b58ff1f061f469c050","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"class ShowVolume(show.ShowOne):"},{"line_number":63,"context_line":"    \"\"\"Show volume details\"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowVolume\u0027)"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_52e0ec28","line":63,"in_reply_to":"7a016987_d46e0fff","updated":"2015-05-30 18:32:04.000000000","message":"Done","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b22450f81700fd209d08f624c41803425232c7ee","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        volume \u003d utils.find_resource(volume_client.volumes, parsed_args.volume)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Remove key links from being displayed"},{"line_number":82,"context_line":"        if volume._info.get(\"links\"):"},{"line_number":83,"context_line":"            volume._info.pop(\"links\")"},{"line_number":84,"context_line":"        return zip(*sorted(six.iteritems(volume._info)))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_947537cc","line":82,"updated":"2015-05-30 06:43:36.000000000","message":"same as with backup, can do this in one line (and remove the comment)","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"f76a1857e43b1ae552d5b2b58ff1f061f469c050","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        volume \u003d utils.find_resource(volume_client.volumes, parsed_args.volume)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Remove key links from being displayed"},{"line_number":82,"context_line":"        if volume._info.get(\"links\"):"},{"line_number":83,"context_line":"            volume._info.pop(\"links\")"},{"line_number":84,"context_line":"        return zip(*sorted(six.iteritems(volume._info)))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_32db307e","line":82,"in_reply_to":"7a016987_947537cc","updated":"2015-05-30 18:32:04.000000000","message":"Done","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"}],"openstackclient/volume/v2/volume_type.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b22450f81700fd209d08f624c41803425232c7ee","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class ShowVolumeType(show.ShowOne):"},{"line_number":50,"context_line":"    \"\"\"Show volume type details\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    log \u003d logging.getLogger(__name__ + \".ShowVolumeType\")"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_747e3bb0","line":50,"updated":"2015-05-30 06:43:36.000000000","message":"s/Show/Display","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"f76a1857e43b1ae552d5b2b58ff1f061f469c050","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class ShowVolumeType(show.ShowOne):"},{"line_number":50,"context_line":"    \"\"\"Show volume type details\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    log \u003d logging.getLogger(__name__ + \".ShowVolumeType\")"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_12e6f443","line":50,"in_reply_to":"7a016987_747e3bb0","updated":"2015-05-30 18:32:04.000000000","message":"Done","commit_id":"d042fbd4105d2be54a5f6b46e99407a0327544f6"}],"setup.cfg":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0019446a2e1676bf5d086bea78acfda9324a3047","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    volume_type_unset \u003d openstackclient.volume.v1.type:UnsetVolumeType"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"openstack.volume.v2 \u003d"},{"line_number":364,"context_line":"    volume_show \u003d openstackclient.volume.v2.volume:ShowVolume"},{"line_number":365,"context_line":"    volume_delete \u003d openstackclient.volume.v2.volume:DeleteVolume"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    volume_type_show \u003d openstackclient.volume.v2.type:ShowVolumeType"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"7a016987_6e60ce01","line":364,"updated":"2015-05-29 06:30:49.000000000","message":"try and group these alphabetically, so it\u0027s delete before show\n\nand backup before snapshot before volume before volume_type","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    volume_type_unset \u003d openstackclient.volume.v1.type:UnsetVolumeType"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"openstack.volume.v2 \u003d"},{"line_number":364,"context_line":"    volume_show \u003d openstackclient.volume.v2.volume:ShowVolume"},{"line_number":365,"context_line":"    volume_delete \u003d openstackclient.volume.v2.volume:DeleteVolume"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    volume_type_show \u003d openstackclient.volume.v2.type:ShowVolumeType"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"7a016987_a37a3b22","line":364,"in_reply_to":"7a016987_6e60ce01","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f5b9529ee51b5a6f49dbb596e596b1542904a8e9","unresolved":false,"context_lines":[{"line_number":371,"context_line":"    snapshot_show \u003d openstackclient.volume.v2.snapshot:ShowSnapshot"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    backup_show \u003d openstackclient.volume.v2.backup:ShowBackup"},{"line_number":374,"context_line":"    backup_show \u003d openstackclient.volume.v2.backup:DeleteBackup"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"[build_sphinx]"},{"line_number":377,"context_line":"source-dir \u003d doc/source"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"7a016987_613c5fc8","line":374,"updated":"2015-05-29 06:34:42.000000000","message":"looks like this is causing your jenkins failures btw, should be backup_delete","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"},{"author":{"_account_id":13664,"name":"Amey Bhide","email":"abhide@vmware.com","username":"abhide"},"change_message_id":"d3197762e4431e794f6a1544bba3c4ac0d4987dd","unresolved":false,"context_lines":[{"line_number":371,"context_line":"    snapshot_show \u003d openstackclient.volume.v2.snapshot:ShowSnapshot"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    backup_show \u003d openstackclient.volume.v2.backup:ShowBackup"},{"line_number":374,"context_line":"    backup_show \u003d openstackclient.volume.v2.backup:DeleteBackup"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"[build_sphinx]"},{"line_number":377,"context_line":"source-dir \u003d doc/source"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"7a016987_43a267af","line":374,"in_reply_to":"7a016987_613c5fc8","updated":"2015-05-30 00:58:13.000000000","message":"Done","commit_id":"b274c66e57e71bc600b28076c7c7697a3daf0b1c"}]}
