)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":10,"context_line":"and VolumeAttachStatusField, that will hold the constants for the"},{"line_number":11,"context_line":"\u0027attach_status\u0027 field of the VolumeAttachStatus object. This enum"},{"line_number":12,"context_line":"and field are based off the base oslo.versionedobjects enum and field."},{"line_number":13,"context_line":"Thisalso changes over the volume object to use the new field and bumps"},{"line_number":14,"context_line":"the version so neer versions know to enforce valid values. Finally,"},{"line_number":15,"context_line":"all uses of strings for comparisona nd assignment to this field are"},{"line_number":16,"context_line":"changed over to use the constants defined within the enum."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa0719c6_a566fa26","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":8},"updated":"2016-03-22 13:50:37.000000000","message":"Missing space.","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u0027attach_status\u0027 field of the VolumeAttachStatus object. This enum"},{"line_number":12,"context_line":"and field are based off the base oslo.versionedobjects enum and field."},{"line_number":13,"context_line":"Thisalso changes over the volume object to use the new field and bumps"},{"line_number":14,"context_line":"the version so neer versions know to enforce valid values. Finally,"},{"line_number":15,"context_line":"all uses of strings for comparisona nd assignment to this field are"},{"line_number":16,"context_line":"changed over to use the constants defined within the enum."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa0719c6_8559365d","line":14,"range":{"start_line":14,"start_character":15,"end_line":14,"end_character":19},"updated":"2016-03-22 13:50:37.000000000","message":"?","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":12,"context_line":"and field are based off the base oslo.versionedobjects enum and field."},{"line_number":13,"context_line":"Thisalso changes over the volume object to use the new field and bumps"},{"line_number":14,"context_line":"the version so neer versions know to enforce valid values. Finally,"},{"line_number":15,"context_line":"all uses of strings for comparisona nd assignment to this field are"},{"line_number":16,"context_line":"changed over to use the constants defined within the enum."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Partial-Implements: bp cinder-object-fields"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa0719c6_4526fece","line":15,"range":{"start_line":15,"start_character":24,"end_line":15,"end_character":39},"updated":"2016-03-22 13:50:37.000000000","message":"Typo.","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This change adds a new enum and field, VolumeAttachStatus"},{"line_number":10,"context_line":"and VolumeAttachStatusField, that will hold the constants for the"},{"line_number":11,"context_line":"\u0027attach_status\u0027 field of the VolumeAttachStatus object. This enum"},{"line_number":12,"context_line":"and field are based off the base oslo.versionedobjects enum and field."},{"line_number":13,"context_line":"This also changes over the volume object to use the new field and bumps"},{"line_number":14,"context_line":"the version so newer versions know to enforce valid values. Finally,"},{"line_number":15,"context_line":"all uses of strings for comparison and assignment to this field are"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"bacf61ea_224e89c1","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":23},"updated":"2016-08-03 12:44:54.000000000","message":"nit: on","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":10,"context_line":"and VolumeAttachStatusField, that will hold the constants for the"},{"line_number":11,"context_line":"\u0027attach_status\u0027 field of the VolumeAttachStatus object. This enum"},{"line_number":12,"context_line":"and field are based off the base oslo.versionedobjects enum and field."},{"line_number":13,"context_line":"This also changes over the volume object to use the new field and bumps"},{"line_number":14,"context_line":"the version so newer versions know to enforce valid values. Finally,"},{"line_number":15,"context_line":"all uses of strings for comparison and assignment to this field are"},{"line_number":16,"context_line":"changed over to use the constants defined within the enum."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"bacf61ea_e27631d7","line":14,"range":{"start_line":13,"start_character":66,"end_line":14,"end_character":11},"updated":"2016-08-03 12:44:54.000000000","message":"-1: There\u0027s no need to bump the version, so we shouldn\u0027t.","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/api/v2/views/volumes.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        if volume[\u0027attach_status\u0027] \u003d\u003d fields.VolumeAttachStatus.ATTACHED:"},{"line_number":97,"context_line":"            attaches \u003d volume.volume_attachment"},{"line_number":98,"context_line":"            for attachment in attaches:"},{"line_number":99,"context_line":"                if attachment.get(\u0027attach_status\u0027) \u003d\u003d \\"},{"line_number":100,"context_line":"                        fields.VolumeAttachStatus.ATTACHED:"},{"line_number":101,"context_line":"                    a \u003d {\u0027id\u0027: attachment.get(\u0027volume_id\u0027),"},{"line_number":102,"context_line":"                         \u0027attachment_id\u0027: attachment.get(\u0027id\u0027),"},{"line_number":103,"context_line":"                         \u0027volume_id\u0027: attachment.get(\u0027volume_id\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_da614caa","line":100,"range":{"start_line":99,"start_character":16,"end_line":100,"end_character":59},"updated":"2016-03-22 13:50:37.000000000","message":"Can you use parentheses to wrap lines instead of \"\\\"? This is one of our hacking rules:\n\n[1] http://docs.openstack.org/developer/hacking/#general","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"}],"cinder/db/sqlalchemy/migrate_repo/versions/040_add_volume_attachment.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fa0719c6_85e656b2","updated":"2016-03-22 13:50:37.000000000","message":"I get the idea behind this, but we shouldn\u0027t normally change past DB migrations.","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"}],"cinder/objects/base.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"616cb24c73f224e464b0872ac119c3538f49eb8f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                         \u0027Volume\u0027: \u00271.3\u0027, \u0027VolumeTypeList\u0027: \u00271.1\u0027})"},{"line_number":100,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027, \u0027VolumeAttachment\u0027: \u00271.1\u0027,"},{"line_number":103,"context_line":"                         \u0027Volume\u0027: \u00271.4\u0027})"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_fca3dcaf","line":103,"range":{"start_line":102,"start_character":43,"end_line":103,"end_character":42},"updated":"2016-03-10 19:19:33.000000000","message":"You should actually create a new version in a similar way I\u0027ve noted on your Snapshot.status patch.","commit_id":"262630f39e702b8898775688a0dd7ced3354046f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":100,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027})"},{"line_number":103,"context_line":"OBJ_VERSIONS.add(\u00271.4\u0027, {\u0027VolumeAttachment\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.4\u0027})"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_faba50e0","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":69},"updated":"2016-03-22 13:50:37.000000000","message":"Thanks, this is exactly how this should look like. :)","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027Cluster\u0027: \u00271.0\u0027, \u0027ClusterList\u0027: \u00271.0\u0027,"},{"line_number":107,"context_line":"                         \u0027Service\u0027: \u00271.4\u0027, \u0027Volume\u0027: \u00271.4\u0027,"},{"line_number":108,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.3\u0027})"},{"line_number":109,"context_line":"OBJ_VERSIONS.add(\u00271.8\u0027, {\u0027VolumeAttachment\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.5\u0027})"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_d0013406","line":109,"range":{"start_line":109,"start_character":0,"end_line":109,"end_character":69},"updated":"2016-08-03 12:44:54.000000000","message":"-1: No version bump is needed","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OBJ_VERSIONS.add(\u00271.7\u0027, {\u0027Cluster\u0027: \u00271.0\u0027, \u0027ClusterList\u0027: \u00271.0\u0027,"},{"line_number":107,"context_line":"                         \u0027Service\u0027: \u00271.4\u0027, \u0027Volume\u0027: \u00271.4\u0027,"},{"line_number":108,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.3\u0027})"},{"line_number":109,"context_line":"OBJ_VERSIONS.add(\u00271.8\u0027, {\u0027VolumeAttachment\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.5\u0027})"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_36df2ed7","line":109,"range":{"start_line":109,"start_character":0,"end_line":109,"end_character":69},"in_reply_to":"bacf61ea_d0013406","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/objects/fields.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"class VolumeAttachStatus(Enum):"},{"line_number":90,"context_line":"    INVALID \u003d \u0027invalid\u0027"},{"line_number":91,"context_line":"    ATTACHED \u003d \u0027attached\u0027"},{"line_number":92,"context_line":"    ATTACHING \u003d \u0027attaching\u0027"},{"line_number":93,"context_line":"    DETACHED \u003d \u0027detached\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_2dcbf0a6","line":90,"range":{"start_line":90,"start_character":0,"end_line":90,"end_character":23},"updated":"2016-03-22 13:50:37.000000000","message":"I think you\u0027re not using this one anywhere, so either you missed an occurrence or this is not needed here.","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def __init__(self):"},{"line_number":136,"context_line":"        super(VolumeAttachStatus, self).__init__("},{"line_number":137,"context_line":"            valid_values\u003dVolumeAttachStatus.ALL)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"class VolumeAttachStatusField(BaseEnumField):"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_503c24bf","line":137,"range":{"start_line":137,"start_character":25,"end_line":137,"end_character":43},"updated":"2016-08-03 12:44:54.000000000","message":"nit: I really don\u0027t like referencing the class like this, it should be:\n\n valid_values\u003dself.ALL)\n\nAnd yeah, I see we do it everywhere in this file.  :-(","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def __init__(self):"},{"line_number":136,"context_line":"        super(VolumeAttachStatus, self).__init__("},{"line_number":137,"context_line":"            valid_values\u003dVolumeAttachStatus.ALL)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"class VolumeAttachStatusField(BaseEnumField):"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_f6230603","line":137,"range":{"start_line":137,"start_character":25,"end_line":137,"end_character":43},"in_reply_to":"bacf61ea_503c24bf","updated":"2016-09-13 15:08:17.000000000","message":"I will change that for this patch and upload a new patch that fixes all instances of that :)","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f275bfea3ccde8786c18b7180c5bb6586f239a28","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    AUTO_TYPE \u003d QoSConsumerValues()"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class VolumeAttachStatus(Enum):"},{"line_number":130,"context_line":"    ATTACHED \u003d \u0027attached\u0027"},{"line_number":131,"context_line":"    ATTACHING \u003d \u0027attaching\u0027"},{"line_number":132,"context_line":"    DETACHED \u003d \u0027detached\u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a98d1f4_998d4c7e","line":129,"updated":"2016-09-28 14:53:10.000000000","message":"Why does this inherit from Enum instead of BaseCinderEnum?","commit_id":"f8ad79bbedd1885b88718e66bf01861ba75bf88e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"00b0da2b44547ccdb50c1d386b539fd66f309b6f","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    ALL \u003d (ATTACHED, ATTACHING, DETACHED, ERROR_ATTACHING,"},{"line_number":137,"context_line":"           ERROR_DETACHING)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def __init__(self):"},{"line_number":140,"context_line":"        super(VolumeAttachStatus, self).__init__("},{"line_number":141,"context_line":"            valid_values\u003dself.ALL)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"class VolumeAttachStatusField(BaseEnumField):"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a98d1f4_f74e5795","line":141,"range":{"start_line":138,"start_character":0,"end_line":141,"end_character":34},"updated":"2016-09-28 15:31:49.000000000","message":"It doesn\u0027t need __init__ now. :)","commit_id":"260a71216b32a38e25a70d82f1dec16279329208"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"55e407d186030af155e1749ef924140fe9ce03e4","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    AUTO_TYPE \u003d QoSConsumerValues()"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class VolumeAttachStatus(Enum):"},{"line_number":130,"context_line":"    ATTACHED \u003d \u0027attached\u0027"},{"line_number":131,"context_line":"    ATTACHING \u003d \u0027attaching\u0027"},{"line_number":132,"context_line":"    DETACHED \u003d \u0027detached\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"fa6399be_f8d7e6ea","line":129,"range":{"start_line":129,"start_character":25,"end_line":129,"end_character":29},"updated":"2016-10-12 10:19:30.000000000","message":"This should be BaseCinderEnum as Eric pointed out (and fixed) in previous patchsets.","commit_id":"c6ff07120aefc0a7723de4da55239eb41f1702e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"55e407d186030af155e1749ef924140fe9ce03e4","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    ALL \u003d (ATTACHED, ATTACHING, DETACHED, ERROR_ATTACHING,"},{"line_number":137,"context_line":"           ERROR_DETACHING)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def __init__(self):"},{"line_number":140,"context_line":"        super(VolumeAttachStatus, self).__init__("},{"line_number":141,"context_line":"            valid_values\u003dself.ALL)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"class VolumeAttachStatusField(BaseEnumField):"}],"source_content_type":"text/x-python","patch_set":20,"id":"fa6399be_58fff266","line":141,"range":{"start_line":138,"start_character":0,"end_line":141,"end_character":34},"updated":"2016-10-12 10:19:30.000000000","message":"And then this won\u0027t be needed.","commit_id":"c6ff07120aefc0a7723de4da55239eb41f1702e0"}],"cinder/objects/volume.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    # Version 1.2: Added glance_metadata, consistencygroup and snapshots"},{"line_number":59,"context_line":"    # Version 1.3: Added finish_volume_migration()"},{"line_number":60,"context_line":"    # Version 1.4: Added cluster fields"},{"line_number":61,"context_line":"    # Version 1.5: Updated \u0027attach_status\u0027 field to use"},{"line_number":62,"context_line":"    #              VolumeAttachStatusField"},{"line_number":63,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    OPTIONAL_FIELDS \u003d (\u0027metadata\u0027, \u0027admin_metadata\u0027, \u0027glance_metadata\u0027,"},{"line_number":66,"context_line":"                       \u0027volume_type\u0027, \u0027volume_attachment\u0027, \u0027consistencygroup\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_70afa8e3","line":63,"range":{"start_line":61,"start_character":0,"end_line":63,"end_character":19},"updated":"2016-08-03 12:44:54.000000000","message":"-1: We don\u0027t need the version bump","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    # Version 1.2: Added glance_metadata, consistencygroup and snapshots"},{"line_number":59,"context_line":"    # Version 1.3: Added finish_volume_migration()"},{"line_number":60,"context_line":"    # Version 1.4: Added cluster fields"},{"line_number":61,"context_line":"    # Version 1.5: Updated \u0027attach_status\u0027 field to use"},{"line_number":62,"context_line":"    #              VolumeAttachStatusField"},{"line_number":63,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    OPTIONAL_FIELDS \u003d (\u0027metadata\u0027, \u0027admin_metadata\u0027, \u0027glance_metadata\u0027,"},{"line_number":66,"context_line":"                       \u0027volume_type\u0027, \u0027volume_attachment\u0027, \u0027consistencygroup\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_d6dd22e1","line":63,"range":{"start_line":61,"start_character":0,"end_line":63,"end_character":19},"in_reply_to":"bacf61ea_70afa8e3","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/objects/volume_attachment.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                       base.CinderObjectDictCompat,"},{"line_number":26,"context_line":"                       base.CinderComparableObject):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    # Version 1.1: Updated \u0027attach_status\u0027 field to use"},{"line_number":29,"context_line":"    #              VolumeAttachStatusField"},{"line_number":30,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    fields \u003d {"},{"line_number":33,"context_line":"        \u0027id\u0027: fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_70968895","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":19},"updated":"2016-08-03 12:44:54.000000000","message":"-1: We don\u0027t need the version bump","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                       base.CinderObjectDictCompat,"},{"line_number":26,"context_line":"                       base.CinderComparableObject):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    # Version 1.1: Updated \u0027attach_status\u0027 field to use"},{"line_number":29,"context_line":"    #              VolumeAttachStatusField"},{"line_number":30,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    fields \u003d {"},{"line_number":33,"context_line":"        \u0027id\u0027: fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_16fb0a48","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":19},"in_reply_to":"bacf61ea_70968895","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/api/contrib/test_admin_actions.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                                   \u0027provider_location\u0027: \u0027\u0027, \u0027size\u0027: 1,"},{"line_number":383,"context_line":"                                   \u0027attach_status\u0027:"},{"line_number":384,"context_line":"                                       fields.VolumeAttachStatus.DETACHED})"},{"line_number":385,"context_line":"        resp \u003d self._issue_volume_reset(self.ctx,"},{"line_number":386,"context_line":"                                        volume,"},{"line_number":387,"context_line":"                                        {\u0027status\u0027: \u0027available\u0027,"},{"line_number":388,"context_line":"                                         \u0027attach_status\u0027:"},{"line_number":389,"context_line":"                                             fields.VolumeAttachStatus."},{"line_number":390,"context_line":"                                             ERROR_DETACHING})"},{"line_number":391,"context_line":"        self.assertEqual(400, resp.status_int)"},{"line_number":392,"context_line":"        volume \u003d db.volume_get(self.ctx, volume[\u0027id\u0027])"},{"line_number":393,"context_line":"        self.assertEqual(\u0027available\u0027, volume[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_90505cd6","line":390,"range":{"start_line":385,"start_character":0,"end_line":390,"end_character":62},"updated":"2016-08-03 12:44:54.000000000","message":"nit: Why not rewrite this like you did in L359-363?","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                                   \u0027provider_location\u0027: \u0027\u0027, \u0027size\u0027: 1,"},{"line_number":383,"context_line":"                                   \u0027attach_status\u0027:"},{"line_number":384,"context_line":"                                       fields.VolumeAttachStatus.DETACHED})"},{"line_number":385,"context_line":"        resp \u003d self._issue_volume_reset(self.ctx,"},{"line_number":386,"context_line":"                                        volume,"},{"line_number":387,"context_line":"                                        {\u0027status\u0027: \u0027available\u0027,"},{"line_number":388,"context_line":"                                         \u0027attach_status\u0027:"},{"line_number":389,"context_line":"                                             fields.VolumeAttachStatus."},{"line_number":390,"context_line":"                                             ERROR_DETACHING})"},{"line_number":391,"context_line":"        self.assertEqual(400, resp.status_int)"},{"line_number":392,"context_line":"        volume \u003d db.volume_get(self.ctx, volume[\u0027id\u0027])"},{"line_number":393,"context_line":"        self.assertEqual(\u0027available\u0027, volume[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_c110fe02","line":390,"range":{"start_line":385,"start_character":0,"end_line":390,"end_character":62},"in_reply_to":"bacf61ea_90505cd6","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":527,"context_line":"        volume \u003d self._create_volume(self.ctx,"},{"line_number":528,"context_line":"                                     {\u0027provider_location\u0027: \u0027\u0027,"},{"line_number":529,"context_line":"                                      \u0027attach_status\u0027:"},{"line_number":530,"context_line":"                                          fields.VolumeAttachStatus.DETACHED,"},{"line_number":531,"context_line":"                                      \u0027replication_status\u0027: \u0027active\u0027})"},{"line_number":532,"context_line":"        volume \u003d self._migrate_volume_exec(self.ctx, volume, host,"},{"line_number":533,"context_line":"                                           expected_status)"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_10290c38","line":530,"range":{"start_line":530,"start_character":42,"end_line":530,"end_character":77},"updated":"2016-08-03 12:44:54.000000000","message":"-1: \u0027\u0027 should be replaced with None since the field is nullable.","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":527,"context_line":"        volume \u003d self._create_volume(self.ctx,"},{"line_number":528,"context_line":"                                     {\u0027provider_location\u0027: \u0027\u0027,"},{"line_number":529,"context_line":"                                      \u0027attach_status\u0027:"},{"line_number":530,"context_line":"                                          fields.VolumeAttachStatus.DETACHED,"},{"line_number":531,"context_line":"                                      \u0027replication_status\u0027: \u0027active\u0027})"},{"line_number":532,"context_line":"        volume \u003d self._migrate_volume_exec(self.ctx, volume, host,"},{"line_number":533,"context_line":"                                           expected_status)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_c1b55eed","line":530,"range":{"start_line":530,"start_character":42,"end_line":530,"end_character":77},"in_reply_to":"bacf61ea_10290c38","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/api/contrib/test_volume_transfer.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def _create_volume(display_name\u003d\u0027test_volume\u0027,"},{"line_number":55,"context_line":"                       display_description\u003d\u0027this is a test volume\u0027,"},{"line_number":56,"context_line":"                       status\u003d\u0027available\u0027,"},{"line_number":57,"context_line":"                       attach_status \u003d fields.VolumeAttachStatus.DETACHED,"},{"line_number":58,"context_line":"                       size\u003d1,"},{"line_number":59,"context_line":"                       project_id\u003dfake.PROJECT_ID):"},{"line_number":60,"context_line":"        \"\"\"Create a volume object.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_a1dd2544","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":74},"updated":"2016-05-25 13:31:30.000000000","message":"Spaces before and after \u003d are not in sync with pep8. Also please add new argument at the end - not in the middle, as you can break existing calls.","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def _create_volume(display_name\u003d\u0027test_volume\u0027,"},{"line_number":55,"context_line":"                       display_description\u003d\u0027this is a test volume\u0027,"},{"line_number":56,"context_line":"                       status\u003d\u0027available\u0027,"},{"line_number":57,"context_line":"                       attach_status \u003d fields.VolumeAttachStatus.DETACHED,"},{"line_number":58,"context_line":"                       size\u003d1,"},{"line_number":59,"context_line":"                       project_id\u003dfake.PROJECT_ID):"},{"line_number":60,"context_line":"        \"\"\"Create a volume object.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_5fbff05f","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":74},"in_reply_to":"bab6814e_a1dd2544","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"}],"cinder/tests/unit/api/contrib/test_volume_unmanage.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_unmanage_volume_attached(self):"},{"line_number":81,"context_line":"        \"\"\"Return 400 if the volume exists but is attached.\"\"\""},{"line_number":82,"context_line":"        vol \u003d utils.create_volume(self.ctxt, status\u003d\u0027in-use\u0027,"},{"line_number":83,"context_line":"                                  attach_status\u003dfields.VolumeAttachStatus."},{"line_number":84,"context_line":"                                  ATTACHED)"},{"line_number":85,"context_line":"        res \u003d self._get_resp(vol.id)"},{"line_number":86,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":87,"context_line":"        db.volume_destroy(self.ctxt, vol.id)"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_f0871810","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":43},"updated":"2016-08-03 12:44:54.000000000","message":"nit: This would look better as:\n\n vol \u003d utils.create_volume(\n     self.ctxt, status\u003d\u0027in-use\u0027,\n     attach_status\u003dfields.VolumeAttachStatus.ATTACHED)","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_unmanage_volume_attached(self):"},{"line_number":81,"context_line":"        \"\"\"Return 400 if the volume exists but is attached.\"\"\""},{"line_number":82,"context_line":"        vol \u003d utils.create_volume(self.ctxt, status\u003d\u0027in-use\u0027,"},{"line_number":83,"context_line":"                                  attach_status\u003dfields.VolumeAttachStatus."},{"line_number":84,"context_line":"                                  ATTACHED)"},{"line_number":85,"context_line":"        res \u003d self._get_resp(vol.id)"},{"line_number":86,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":87,"context_line":"        db.volume_destroy(self.ctxt, vol.id)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_a1805af8","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":43},"in_reply_to":"bacf61ea_f0871810","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/api/v1/stubs.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \u0027attached_mode\u0027: \u0027rw\u0027,"},{"line_number":38,"context_line":"        \u0027status\u0027: \u0027fakestatus\u0027,"},{"line_number":39,"context_line":"        \u0027migration_status\u0027: None,"},{"line_number":40,"context_line":"        \u0027attach_status\u0027: \u0027attached\u0027,"},{"line_number":41,"context_line":"        \u0027attach_status\u0027: fields.VolumeAttachStatus.ATTACHED,"},{"line_number":42,"context_line":"        \u0027bootable\u0027: False,"},{"line_number":43,"context_line":"        \u0027name\u0027: \u0027vol name\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_509ee454","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":36},"updated":"2016-08-03 12:44:54.000000000","message":"-1: This line should be removed","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \u0027attached_mode\u0027: \u0027rw\u0027,"},{"line_number":38,"context_line":"        \u0027status\u0027: \u0027fakestatus\u0027,"},{"line_number":39,"context_line":"        \u0027migration_status\u0027: None,"},{"line_number":40,"context_line":"        \u0027attach_status\u0027: \u0027attached\u0027,"},{"line_number":41,"context_line":"        \u0027attach_status\u0027: fields.VolumeAttachStatus.ATTACHED,"},{"line_number":42,"context_line":"        \u0027bootable\u0027: False,"},{"line_number":43,"context_line":"        \u0027name\u0027: \u0027vol name\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_e1a502a2","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":36},"in_reply_to":"bacf61ea_509ee454","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/api/v1/test_volumes.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_volume_show_no_attachments(self):"},{"line_number":589,"context_line":"        def stub_volume_get(self, context, volume_id, **kwargs):"},{"line_number":590,"context_line":"            vol \u003d stubs.stub_volume(volume_id,"},{"line_number":591,"context_line":"                                    attach_status\u003d"},{"line_number":592,"context_line":"                                    fields.VolumeAttachStatus.DETACHED)"},{"line_number":593,"context_line":"            return fake_volume.fake_volume_obj(context, **vol)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        self.stubs.Set(volume_api.API, \u0027get\u0027, stub_volume_get)"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_30e7f0e5","line":592,"range":{"start_line":590,"start_character":0,"end_line":592,"end_character":71},"updated":"2016-08-03 12:44:54.000000000","message":"nit: This would look better as:\n\n vol \u003d stubs.stub_volume(\n     volume_id,\n     attach_status\u003dfields.VolumeAttachStatus.DETACHED)","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_volume_show_no_attachments(self):"},{"line_number":589,"context_line":"        def stub_volume_get(self, context, volume_id, **kwargs):"},{"line_number":590,"context_line":"            vol \u003d stubs.stub_volume(volume_id,"},{"line_number":591,"context_line":"                                    attach_status\u003d"},{"line_number":592,"context_line":"                                    fields.VolumeAttachStatus.DETACHED)"},{"line_number":593,"context_line":"            return fake_volume.fake_volume_obj(context, **vol)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        self.stubs.Set(volume_api.API, \u0027get\u0027, stub_volume_get)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_013d862a","line":592,"range":{"start_line":590,"start_character":0,"end_line":592,"end_character":71},"in_reply_to":"bacf61ea_30e7f0e5","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/objects/test_fields.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    def setUp(self):"},{"line_number":133,"context_line":"        super(TestVolumeAttachStatus, self).setUp()"},{"line_number":134,"context_line":"        self.field \u003d fields.VolumeAttachStatusField()"},{"line_number":135,"context_line":"        self.coerce_good_values \u003d [(\u0027attaching\u0027, \u0027attaching\u0027),"},{"line_number":136,"context_line":"                                   (\u0027attached\u0027, \u0027attached\u0027),"},{"line_number":137,"context_line":"                                   (\u0027detached\u0027, \u0027detached\u0027),"},{"line_number":138,"context_line":"                                   (\u0027error_attaching\u0027, \u0027error_attaching\u0027),"},{"line_number":139,"context_line":"                                   (\u0027error_detaching\u0027, \u0027error_detaching\u0027)]"},{"line_number":140,"context_line":"        self.coerce_bad_values \u003d [\u0027acme\u0027]"},{"line_number":141,"context_line":"        self.to_primitive_values \u003d self.coerce_good_values[0:1]"},{"line_number":142,"context_line":"        self.from_primitive_values \u003d self.coerce_good_values[0:1]"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_f3e8c218","line":139,"range":{"start_line":135,"start_character":0,"end_line":139,"end_character":74},"updated":"2016-08-03 12:44:54.000000000","message":"-1: I know all other setUp methods in this file are wrong, but that\u0027s no excuse to keep doing it wrong:\n\n self.coerce_good_values \u003d [\n    (\u0027attaching\u0027, fields.VolumeAttachStatus.ATTACHING),\n    (\u0027attached\u0027, fields.VolumeAttachStatus.ATTACHED),\n    (\u0027detached\u0027, fields.VolumeAttachStatus.DETACHED),\n    (\u0027error_attaching\u0027, fields.VolumeAttachStatus.ERROR_ATTACHING),\n    (\u0027error_detaching\u0027, fields.VolumeAttachStatus.ERROR_DETACHING),\n ]","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    def setUp(self):"},{"line_number":133,"context_line":"        super(TestVolumeAttachStatus, self).setUp()"},{"line_number":134,"context_line":"        self.field \u003d fields.VolumeAttachStatusField()"},{"line_number":135,"context_line":"        self.coerce_good_values \u003d [(\u0027attaching\u0027, \u0027attaching\u0027),"},{"line_number":136,"context_line":"                                   (\u0027attached\u0027, \u0027attached\u0027),"},{"line_number":137,"context_line":"                                   (\u0027detached\u0027, \u0027detached\u0027),"},{"line_number":138,"context_line":"                                   (\u0027error_attaching\u0027, \u0027error_attaching\u0027),"},{"line_number":139,"context_line":"                                   (\u0027error_detaching\u0027, \u0027error_detaching\u0027)]"},{"line_number":140,"context_line":"        self.coerce_bad_values \u003d [\u0027acme\u0027]"},{"line_number":141,"context_line":"        self.to_primitive_values \u003d self.coerce_good_values[0:1]"},{"line_number":142,"context_line":"        self.from_primitive_values \u003d self.coerce_good_values[0:1]"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_a1e69aad","line":139,"range":{"start_line":135,"start_character":0,"end_line":139,"end_character":74},"in_reply_to":"bacf61ea_f3e8c218","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/tests/unit/objects/test_objects.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"616cb24c73f224e464b0872ac119c3538f49eb8f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027ServiceList\u0027: \u00271.1-cb758b200f0a3a90efabfc5aa2ffb627\u0027,"},{"line_number":34,"context_line":"    \u0027Snapshot\u0027: \u00271.0-404c1a8b48a808aa0b7cc92cd3ec1e57\u0027,"},{"line_number":35,"context_line":"    \u0027SnapshotList\u0027: \u00271.0-71661e7180ef6cc51501704a9bea4bf1\u0027,"},{"line_number":36,"context_line":"    \u0027Volume\u0027: \u00271.4-6d2727022ad4263b8b5853ab644237a8\u0027,"},{"line_number":37,"context_line":"    \u0027VolumeAttachment\u0027: \u00271.1-7e3f90acf8b1f2ff3681447976677f01\u0027,"},{"line_number":38,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-307d2b6c8dd55ef854f6386898e9e98e\u0027,"},{"line_number":39,"context_line":"    \u0027VolumeList\u0027: \u00271.1-03ba6cb8c546683e64e15c50042cb1a3\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_bc02f4b1","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":53},"updated":"2016-03-10 19:19:33.000000000","message":"According to UT failure this should be:\n\n 1.4-f9621b6e7b265b59d33eb2662baa2ca2","commit_id":"262630f39e702b8898775688a0dd7ced3354046f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"616cb24c73f224e464b0872ac119c3538f49eb8f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \u0027Snapshot\u0027: \u00271.0-404c1a8b48a808aa0b7cc92cd3ec1e57\u0027,"},{"line_number":35,"context_line":"    \u0027SnapshotList\u0027: \u00271.0-71661e7180ef6cc51501704a9bea4bf1\u0027,"},{"line_number":36,"context_line":"    \u0027Volume\u0027: \u00271.4-6d2727022ad4263b8b5853ab644237a8\u0027,"},{"line_number":37,"context_line":"    \u0027VolumeAttachment\u0027: \u00271.1-7e3f90acf8b1f2ff3681447976677f01\u0027,"},{"line_number":38,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-307d2b6c8dd55ef854f6386898e9e98e\u0027,"},{"line_number":39,"context_line":"    \u0027VolumeList\u0027: \u00271.1-03ba6cb8c546683e64e15c50042cb1a3\u0027,"},{"line_number":40,"context_line":"    \u0027VolumeType\u0027: \u00271.0-dd980cfd1eef2dcce941a981eb469fc8\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_9c1458e9","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":63},"updated":"2016-03-10 19:19:33.000000000","message":"And this:\n\n 1.1-c4daf9ff69b4628b74f1715ca4b70e6a","commit_id":"262630f39e702b8898775688a0dd7ced3354046f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d2c04c4cd0e620fa10ff18c63f791a4df01697a0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027Volume\u0027: \u00271.4-535e1c4a41d65a71bfb721b86faf8d1d\u0027,"},{"line_number":38,"context_line":"    \u0027VolumeAttachment\u0027: \u00271.1-6a2216211f579ffd7fd22708703c13a3\u0027,"},{"line_number":39,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":40,"context_line":"    \u0027VolumeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":41,"context_line":"    \u0027VolumeType\u0027: \u00271.1-6673dd9ce7c27e9c85279afb20833877\u0027,"},{"line_number":42,"context_line":"    \u0027VolumeTypeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027"},{"line_number":43,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a9d85d2_e6b3c9e7","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":57},"updated":"2016-06-21 13:37:34.000000000","message":"nit: Gorka moved that one for consistency, but I don\u0027t think it\u0027s a critical problem…","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"92554c3af8e29bfeabee97e8e62b2bcc4967067a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \u0027Volume\u0027: \u00271.4-535e1c4a41d65a71bfb721b86faf8d1d\u0027,"},{"line_number":38,"context_line":"    \u0027VolumeAttachment\u0027: \u00271.1-6a2216211f579ffd7fd22708703c13a3\u0027,"},{"line_number":39,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":40,"context_line":"    \u0027VolumeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":41,"context_line":"    \u0027VolumeType\u0027: \u00271.1-6673dd9ce7c27e9c85279afb20833877\u0027,"},{"line_number":42,"context_line":"    \u0027VolumeTypeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027"},{"line_number":43,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":14,"id":"bacf61ea_b9bdc0d9","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":57},"in_reply_to":"5a9d85d2_e6b3c9e7","updated":"2016-08-02 15:20:41.000000000","message":"Done","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d2c04c4cd0e620fa10ff18c63f791a4df01697a0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":40,"context_line":"    \u0027VolumeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":41,"context_line":"    \u0027VolumeType\u0027: \u00271.1-6673dd9ce7c27e9c85279afb20833877\u0027,"},{"line_number":42,"context_line":"    \u0027VolumeTypeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027"},{"line_number":43,"context_line":"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a9d85d2_46d29d01","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":60},"updated":"2016-06-21 13:37:34.000000000","message":"nit: You should leave this comma according to hacking rules [1].\n\n[1] http://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"92554c3af8e29bfeabee97e8e62b2bcc4967067a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":40,"context_line":"    \u0027VolumeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":41,"context_line":"    \u0027VolumeType\u0027: \u00271.1-6673dd9ce7c27e9c85279afb20833877\u0027,"},{"line_number":42,"context_line":"    \u0027VolumeTypeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027"},{"line_number":43,"context_line":"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bacf61ea_99f0bccb","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":60},"in_reply_to":"5a9d85d2_46d29d01","updated":"2016-08-02 15:20:41.000000000","message":"Done","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"5408d440a509b27a07367c837f9469ab83ffbaf4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    \u0027ServiceList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":40,"context_line":"    \u0027Snapshot\u0027: \u00271.1-d6a9d58f627bb2a5cf804b0dd7a12bc7\u0027,"},{"line_number":41,"context_line":"    \u0027SnapshotList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":42,"context_line":"    \u0027Volume\u0027: \u00271.5-8a56256db74c0642dca1a30739d88074\u0027,"},{"line_number":43,"context_line":"    \u0027VolumeList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":44,"context_line":"    \u0027VolumeAttachment\u0027: \u00271.0-6a2216211f579ffd7fd22708703c13a3\u0027,"},{"line_number":45,"context_line":"    \u0027VolumeAttachmentList\u0027: \u00271.0-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a8ec9b2_f652cfdc","line":42,"range":{"start_line":42,"start_character":19,"end_line":42,"end_character":51},"updated":"2016-09-14 06:24:29.000000000","message":"I am sorry,what\u0027s the hash stands for, just new hash value?","commit_id":"66d5c1bd5a3f93be16e270bc12e963cfd394c32e"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"9dd18d0295a499e4de2e1d6a25751b90c567f63a","unresolved":false,"context_lines":[{"line_number":3245,"context_line":"        \"\"\"Test volume can\u0027t be force delete in attached state.\"\"\""},{"line_number":3246,"context_line":"        volume \u003d tests_utils.create_volume(self.context, CONF.host,"},{"line_number":3247,"context_line":"                                           status\u003d\u0027in-use\u0027,"},{"line_number":3248,"context_line":"                                           attach_status \u003d"},{"line_number":3249,"context_line":"                                           fields.VolumeAttachStatus.ATTACHED)"},{"line_number":3250,"context_line":""},{"line_number":3251,"context_line":"        self.assertRaises(exception.InvalidVolume,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a122d0e_8e561d5a","line":3248,"range":{"start_line":3248,"start_character":56,"end_line":3248,"end_character":57},"updated":"2016-04-20 09:28:07.000000000","message":"There shouldn\u0027t really be a space, it\u0027s strange PEP8 haven\u0027t noticed that.","commit_id":"29948a1eeab69ad262eb9b3dd6f2969b282168b5"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":3287,"context_line":"        \"\"\"Test volume can\u0027t be force delete in attached state.\"\"\""},{"line_number":3288,"context_line":"        volume \u003d tests_utils.create_volume(self.context, CONF.host,"},{"line_number":3289,"context_line":"                                           status\u003d\u0027in-use\u0027,"},{"line_number":3290,"context_line":"                                           attach_status \u003d"},{"line_number":3291,"context_line":"                                           fields.VolumeAttachStatus.ATTACHED)"},{"line_number":3292,"context_line":""},{"line_number":3293,"context_line":"        self.assertRaises(exception.InvalidVolume,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_e1f8cd7e","line":3290,"range":{"start_line":3290,"start_character":56,"end_line":3290,"end_character":57},"updated":"2016-05-25 13:31:30.000000000","message":"That space shouldn\u0027t be there (pep8).","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":3287,"context_line":"        \"\"\"Test volume can\u0027t be force delete in attached state.\"\"\""},{"line_number":3288,"context_line":"        volume \u003d tests_utils.create_volume(self.context, CONF.host,"},{"line_number":3289,"context_line":"                                           status\u003d\u0027in-use\u0027,"},{"line_number":3290,"context_line":"                                           attach_status \u003d"},{"line_number":3291,"context_line":"                                           fields.VolumeAttachStatus.ATTACHED)"},{"line_number":3292,"context_line":""},{"line_number":3293,"context_line":"        self.assertRaises(exception.InvalidVolume,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_bf125c60","line":3290,"range":{"start_line":3290,"start_character":56,"end_line":3290,"end_character":57},"in_reply_to":"bab6814e_e1f8cd7e","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"}],"cinder/tests/unit/volume/drivers/netapp/eseries/fakes.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":764,"context_line":"    \u0027value\u0027: \u0027{\"3300000060080E50003416400000E90D56B047E5\":\"2\"}\u0027"},{"line_number":765,"context_line":"}"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"HARDWARE_INVENTORY_SINGLE_CONTROLLER \u003d {"},{"line_number":769,"context_line":"    \u0027controllers\u0027: ["},{"line_number":770,"context_line":"        {"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_e13f2d23","line":767,"updated":"2016-05-25 13:31:30.000000000","message":"We need to add that blank line in this patch?","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":764,"context_line":"    \u0027value\u0027: \u0027{\"3300000060080E50003416400000E90D56B047E5\":\"2\"}\u0027"},{"line_number":765,"context_line":"}"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"HARDWARE_INVENTORY_SINGLE_CONTROLLER \u003d {"},{"line_number":769,"context_line":"    \u0027controllers\u0027: ["},{"line_number":770,"context_line":"        {"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_fa6872bc","line":767,"in_reply_to":"bab6814e_e13f2d23","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"}],"cinder/volume/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d2c04c4cd0e620fa10ff18c63f791a4df01697a0","unresolved":false,"context_lines":[{"line_number":368,"context_line":"            return"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        # Build required conditions for conditional update"},{"line_number":371,"context_line":"        expected \u003d {\u0027attach_status\u0027: db.Not(fields.VolumeAttachStatus."},{"line_number":372,"context_line":"                                            ATTACHED),"},{"line_number":373,"context_line":"                    \u0027migration_status\u0027: self.AVAILABLE_MIGRATION_STATUS,"},{"line_number":374,"context_line":"                    \u0027consistencygroup_id\u0027: None}"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a9d85d2_a67c21ec","line":372,"range":{"start_line":371,"start_character":44,"end_line":372,"end_character":52},"updated":"2016-06-21 13:37:34.000000000","message":"Aw, can we not break this one? As Eric was pointing out - it makes grepping a lot harder.","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"92554c3af8e29bfeabee97e8e62b2bcc4967067a","unresolved":false,"context_lines":[{"line_number":368,"context_line":"            return"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        # Build required conditions for conditional update"},{"line_number":371,"context_line":"        expected \u003d {\u0027attach_status\u0027: db.Not(fields.VolumeAttachStatus."},{"line_number":372,"context_line":"                                            ATTACHED),"},{"line_number":373,"context_line":"                    \u0027migration_status\u0027: self.AVAILABLE_MIGRATION_STATUS,"},{"line_number":374,"context_line":"                    \u0027consistencygroup_id\u0027: None}"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bacf61ea_f9e0d8fc","line":372,"range":{"start_line":371,"start_character":44,"end_line":372,"end_character":52},"in_reply_to":"5a9d85d2_a67c21ec","updated":"2016-08-02 15:20:41.000000000","message":"Done","commit_id":"3c62bff5b2d5b4dd25a13176e8744ef0044110dd"}],"cinder/volume/driver.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a172f57b8c54715c6948400c72c87b0c0d9d9937","unresolved":false,"context_lines":[{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"    def _create_temp_volume_from_snapshot(self, context, volume, snapshot):"},{"line_number":1398,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1399,"context_line":""},{"line_number":1400,"context_line":"        try:"},{"line_number":1401,"context_line":"            model_update \u003d self.create_volume_from_snapshot(temp_vol_ref,"},{"line_number":1402,"context_line":"                                                            snapshot)"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_b3776a01","line":1399,"updated":"2016-08-03 12:44:54.000000000","message":"-1: This is probably involuntary, but please don\u0027t add new lines out of the scope of the change.","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"ad9e83d0652897103bd815c280724e4c6d7f43fd","unresolved":false,"context_lines":[{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"    def _create_temp_volume_from_snapshot(self, context, volume, snapshot):"},{"line_number":1398,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1399,"context_line":""},{"line_number":1400,"context_line":"        try:"},{"line_number":1401,"context_line":"            model_update \u003d self.create_volume_from_snapshot(temp_vol_ref,"},{"line_number":1402,"context_line":"                                                            snapshot)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a89bdaa_e17982c9","line":1399,"in_reply_to":"bacf61ea_b3776a01","updated":"2016-09-13 15:08:17.000000000","message":"Done","commit_id":"b3ce6befda1013a1dd9ff57fdb99ea2a3586010a"}],"cinder/volume/manager.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"16fc67bd0a661adc69d000b3cfd1374d264a7b48","unresolved":false,"context_lines":[{"line_number":1183,"context_line":"            new_vol_values \u003d {k: volume[k] for k in set(volume.keys()) -"},{"line_number":1184,"context_line":"                              self._VOLUME_CLONE_SKIP_PROPERTIES}"},{"line_number":1185,"context_line":"            new_vol_values[\u0027volume_type_id\u0027] \u003d volume_type_id"},{"line_number":1186,"context_line":"            new_vol_values[\u0027attach_status\u0027] \u003d fields.VolumeAttachStatus.\\"},{"line_number":1187,"context_line":"                DETACHED"},{"line_number":1188,"context_line":"            new_vol_values[\u0027status\u0027] \u003d \u0027creating\u0027"},{"line_number":1189,"context_line":"            new_vol_values[\u0027project_id\u0027] \u003d ctx.project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_da630c40","line":1186,"range":{"start_line":1186,"start_character":71,"end_line":1186,"end_character":73},"updated":"2016-03-22 13:50:37.000000000","message":"Can you use parentheses instead of \"\\\"?","commit_id":"508637b6262fa2cca0b947dfc39f8e8d9685ea60"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":995,"context_line":"            if instance_uuid and not uuidutils.is_uuid_like(instance_uuid):"},{"line_number":996,"context_line":"                self.db.volume_attachment_update(context, attachment_id,"},{"line_number":997,"context_line":"                                                 {\u0027attach_status\u0027:"},{"line_number":998,"context_line":"                                                  fields.VolumeAttachStatus."},{"line_number":999,"context_line":"                                                  ERROR_ATTACHING})"},{"line_number":1000,"context_line":"                raise exception.InvalidUUID(uuid\u003dinstance_uuid)"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"            volume \u003d self.db.volume_get(context, volume_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_214f75be","line":999,"range":{"start_line":998,"start_character":50,"end_line":999,"end_character":65},"updated":"2016-05-25 13:31:30.000000000","message":"Can we keep that in a single line?","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":995,"context_line":"            if instance_uuid and not uuidutils.is_uuid_like(instance_uuid):"},{"line_number":996,"context_line":"                self.db.volume_attachment_update(context, attachment_id,"},{"line_number":997,"context_line":"                                                 {\u0027attach_status\u0027:"},{"line_number":998,"context_line":"                                                  fields.VolumeAttachStatus."},{"line_number":999,"context_line":"                                                  ERROR_ATTACHING})"},{"line_number":1000,"context_line":"                raise exception.InvalidUUID(uuid\u003dinstance_uuid)"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"            volume \u003d self.db.volume_get(context, volume_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_705e61ea","line":999,"range":{"start_line":998,"start_character":50,"end_line":999,"end_character":65},"in_reply_to":"bab6814e_214f75be","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1033,"context_line":"                    self.db.volume_attachment_update("},{"line_number":1034,"context_line":"                        context, attachment_id,"},{"line_number":1035,"context_line":"                        {\u0027attach_status\u0027: fields.VolumeAttachStatus."},{"line_number":1036,"context_line":"                            ERROR_ATTACHING})"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"            volume \u003d self.db.volume_attached(context.elevated(),"},{"line_number":1039,"context_line":"                                             attachment_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_014a31ac","line":1036,"range":{"start_line":1035,"start_character":42,"end_line":1036,"end_character":43},"updated":"2016-05-25 13:31:30.000000000","message":"ditto","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1033,"context_line":"                    self.db.volume_attachment_update("},{"line_number":1034,"context_line":"                        context, attachment_id,"},{"line_number":1035,"context_line":"                        {\u0027attach_status\u0027: fields.VolumeAttachStatus."},{"line_number":1036,"context_line":"                            ERROR_ATTACHING})"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"            volume \u003d self.db.volume_attached(context.elevated(),"},{"line_number":1039,"context_line":"                                             attachment_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_1051d5d8","line":1036,"range":{"start_line":1035,"start_character":42,"end_line":1036,"end_character":43},"in_reply_to":"bab6814e_014a31ac","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"                         resource\u003dvolume)"},{"line_number":1088,"context_line":"                self.db.volume_update(context, volume_id,"},{"line_number":1089,"context_line":"                                      {\u0027status\u0027: \u0027available\u0027,"},{"line_number":1090,"context_line":"                                       \u0027attach_status\u0027: fields."},{"line_number":1091,"context_line":"                                       VolumeAttachStatus.DETACHED})"},{"line_number":1092,"context_line":"                return"},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"        self._notify_about_volume_usage(context, volume, \"detach.start\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_41ca791b","line":1091,"range":{"start_line":1090,"start_character":56,"end_line":1091,"end_character":66},"updated":"2016-05-25 13:31:30.000000000","message":"ditto","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"                         resource\u003dvolume)"},{"line_number":1088,"context_line":"                self.db.volume_update(context, volume_id,"},{"line_number":1089,"context_line":"                                      {\u0027status\u0027: \u0027available\u0027,"},{"line_number":1090,"context_line":"                                       \u0027attach_status\u0027: fields."},{"line_number":1091,"context_line":"                                       VolumeAttachStatus.DETACHED})"},{"line_number":1092,"context_line":"                return"},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"        self._notify_about_volume_usage(context, volume, \"detach.start\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_d0462d20","line":1091,"range":{"start_line":1090,"start_character":56,"end_line":1091,"end_character":66},"in_reply_to":"bab6814e_41ca791b","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1109,"context_line":"                self.db.volume_attachment_update("},{"line_number":1110,"context_line":"                    context, attachment.get(\u0027id\u0027),"},{"line_number":1111,"context_line":"                    {\u0027attach_status\u0027: fields.VolumeAttachStatus."},{"line_number":1112,"context_line":"                        ERROR_DETACHING})"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"        self.db.volume_detached(context.elevated(), volume_id,"},{"line_number":1115,"context_line":"                                attachment.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_c1d669c2","line":1112,"range":{"start_line":1111,"start_character":38,"end_line":1112,"end_character":39},"updated":"2016-05-25 13:31:30.000000000","message":"ditto","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1109,"context_line":"                self.db.volume_attachment_update("},{"line_number":1110,"context_line":"                    context, attachment.get(\u0027id\u0027),"},{"line_number":1111,"context_line":"                    {\u0027attach_status\u0027: fields.VolumeAttachStatus."},{"line_number":1112,"context_line":"                        ERROR_DETACHING})"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"        self.db.volume_detached(context.elevated(), volume_id,"},{"line_number":1115,"context_line":"                                attachment.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_b041e90d","line":1112,"range":{"start_line":1111,"start_character":38,"end_line":1112,"end_character":39},"in_reply_to":"bab6814e_c1d669c2","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dc47e819818c65b95a7e19f63fb5e9a956b932df","unresolved":false,"context_lines":[{"line_number":1191,"context_line":"            new_vol_values \u003d {k: volume[k] for k in set(volume.keys()) -"},{"line_number":1192,"context_line":"                              self._VOLUME_CLONE_SKIP_PROPERTIES}"},{"line_number":1193,"context_line":"            new_vol_values[\u0027volume_type_id\u0027] \u003d volume_type_id"},{"line_number":1194,"context_line":"            new_vol_values[\u0027attach_status\u0027] \u003d (fields.VolumeAttachStatus."},{"line_number":1195,"context_line":"                                               DETACHED)"},{"line_number":1196,"context_line":"            new_vol_values[\u0027status\u0027] \u003d \u0027creating\u0027"},{"line_number":1197,"context_line":"            new_vol_values[\u0027project_id\u0027] \u003d ctx.project_id"},{"line_number":1198,"context_line":"            new_vol_values[\u0027display_name\u0027] \u003d \u0027image-%s\u0027 % image_meta[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_81ebc177","line":1195,"range":{"start_line":1194,"start_character":47,"end_line":1195,"end_character":55},"updated":"2016-05-25 13:31:30.000000000","message":"ditto","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e72cb15153d4e44b6cbcb237f314d9a784ffec8","unresolved":false,"context_lines":[{"line_number":1191,"context_line":"            new_vol_values \u003d {k: volume[k] for k in set(volume.keys()) -"},{"line_number":1192,"context_line":"                              self._VOLUME_CLONE_SKIP_PROPERTIES}"},{"line_number":1193,"context_line":"            new_vol_values[\u0027volume_type_id\u0027] \u003d volume_type_id"},{"line_number":1194,"context_line":"            new_vol_values[\u0027attach_status\u0027] \u003d (fields.VolumeAttachStatus."},{"line_number":1195,"context_line":"                                               DETACHED)"},{"line_number":1196,"context_line":"            new_vol_values[\u0027status\u0027] \u003d \u0027creating\u0027"},{"line_number":1197,"context_line":"            new_vol_values[\u0027project_id\u0027] \u003d ctx.project_id"},{"line_number":1198,"context_line":"            new_vol_values[\u0027display_name\u0027] \u003d \u0027image-%s\u0027 % image_meta[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_10ba750a","line":1195,"range":{"start_line":1194,"start_character":47,"end_line":1195,"end_character":55},"in_reply_to":"bab6814e_81ebc177","updated":"2016-05-25 14:25:47.000000000","message":"Done","commit_id":"d101078d8fa3f98a1678700f2d1e5a4ca2f86526"}]}
