)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"bdac69569f8e2bfaa7ad70c9b7b883fbe8b7e1a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"66ab4eac_e424b1e7","updated":"2022-02-18 12:14:43.000000000","message":"Code and UT look good. Zuul also passed. Minor query in release notes.","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6a58592b99a1045a0b84f300f407de32b1e4d455","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"54ec5d8e_85cd7291","updated":"2022-02-17 15:05:28.000000000","message":"recheck\n\nunrelated backup failure\nTraceback (most recent call last):\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py\", line 107, in test_incremental_backup_respective_parents\n    self.assertTrue(backup_usr[\u0027has_dependent_backups\u0027])\n  File \"/usr/lib/python3.8/unittest/case.py\", line 765, in assertTrue\n    raise self.failureException(msg)\nAssertionError: False is not true","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"4cf67ac18fb50a16a95c93510c558d961a5c0f0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"e3b24a35_e6c7844a","updated":"2022-02-22 10:34:15.000000000","message":"run-DellEMC Unity CI","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"df438820_ab8b47fe","updated":"2022-02-24 03:45:26.000000000","message":"Mostly some rewording suggestions for documentation.  Code and tests look good.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6fed3523459ef8452cb12a767805361c04675c36","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"a66f0d72_f15faf10","updated":"2022-02-23 18:01:18.000000000","message":"Thanks Raghavendra","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"0bc0f1b5_2ffa93f3","updated":"2022-02-24 14:14:38.000000000","message":"I have a number of \u0027nits\u0027 on wording or spelling in-line.  Think the comments could be handled with a follow-up patch.","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c5fba5833152a50823285144467a9c5e394b0282","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"2249ebe4_41f357e7","updated":"2022-02-24 13:51:27.000000000","message":"Looks great!  Small point about the release note, but that can be done in a followup.","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2f9580c54ca188652697f47e3b1ae21ad3ed00c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"6c906ce2_d673d123","updated":"2022-02-24 14:18:22.000000000","message":"Talked to Brian and he would like to workflow this.  So, here we go.","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"44aaf19e_57cff1f1","updated":"2022-02-24 17:33:13.000000000","message":"Thanks Brian and Jay, addressed the review comments here https://review.opendev.org/c/openstack/cinder/+/830879","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"c11ca065_05053eae","updated":"2022-02-24 10:03:59.000000000","message":"Thanks Brian for the review!","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"}],"api-ref/source/v3/parameters.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":2488,"context_line":"  type: object"},{"line_number":2489,"context_line":"reimage_reserved:"},{"line_number":2490,"context_line":"  description: |"},{"line_number":2491,"context_line":"    Refers to re-image a volume and ignore its \u0027reserved\u0027 status."},{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"f408ff0d_bb12c6ad","line":2491,"range":{"start_line":2491,"start_character":4,"end_line":2491,"end_character":65},"updated":"2022-02-24 03:45:26.000000000","message":"I suggest something like:\n\n  Normally, volumes to be re-imaged are in ``available`` or ``error`` status.\n  When ``true``, this parameter will allow a volume in the ``reserved`` status\n  to be re-imaged.  The ability to re-image a volume in ``reserved`` status\n  may be restricted to administrators in some clouds.  Default value is ``false``.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":2488,"context_line":"  type: object"},{"line_number":2489,"context_line":"reimage_reserved:"},{"line_number":2490,"context_line":"  description: |"},{"line_number":2491,"context_line":"    Refers to re-image a volume and ignore its \u0027reserved\u0027 status."},{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"92650884_af6307a1","line":2491,"range":{"start_line":2491,"start_character":4,"end_line":2491,"end_character":65},"in_reply_to":"f408ff0d_bb12c6ad","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":2491,"context_line":"    Refers to re-image a volume and ignore its \u0027reserved\u0027 status."},{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"},{"line_number":2495,"context_line":"  min_version: 3.68"},{"line_number":2496,"context_line":"remove_project_access:"},{"line_number":2497,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"754fc368_bc869de6","line":2494,"range":{"start_line":2494,"start_character":8,"end_line":2494,"end_character":14},"updated":"2022-02-24 03:45:26.000000000","message":"Make this \u0027boolean\u0027 (our definition of \u0027Valid boolean values\u0027 in the api-ref includes the allowed strings).","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":2491,"context_line":"    Refers to re-image a volume and ignore its \u0027reserved\u0027 status."},{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"},{"line_number":2495,"context_line":"  min_version: 3.68"},{"line_number":2496,"context_line":"remove_project_access:"},{"line_number":2497,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"5f4fe7ac_d1d6257e","line":2494,"range":{"start_line":2494,"start_character":8,"end_line":2494,"end_character":14},"in_reply_to":"754fc368_bc869de6","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"},{"line_number":2495,"context_line":"  min_version: 3.68"},{"line_number":2496,"context_line":"remove_project_access:"},{"line_number":2497,"context_line":"  description: |"},{"line_number":2498,"context_line":"    Removes volume type access from a project."}],"source_content_type":"text/x-yaml","patch_set":37,"id":"95b27f5b_b2db9d2c","line":2495,"range":{"start_line":2495,"start_character":2,"end_line":2495,"end_character":19},"updated":"2022-02-24 03:45:26.000000000","message":"I don\u0027t think you need this.  It\u0027s covered by the min_version of the os-reimage object.  I think we only put a version on fields within an object when they are new fields introduced in a later microversion.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":2492,"context_line":"  in: body"},{"line_number":2493,"context_line":"  required: false"},{"line_number":2494,"context_line":"  type: string"},{"line_number":2495,"context_line":"  min_version: 3.68"},{"line_number":2496,"context_line":"remove_project_access:"},{"line_number":2497,"context_line":"  description: |"},{"line_number":2498,"context_line":"    Removes volume type access from a project."}],"source_content_type":"text/x-yaml","patch_set":37,"id":"056e8534_e20dbd12","line":2495,"range":{"start_line":2495,"start_character":2,"end_line":2495,"end_character":19},"in_reply_to":"95b27f5b_b2db9d2c","updated":"2022-02-24 10:03:59.000000000","message":"Makes sense, this adds the following text \"New in version 3.68\" which won\u0027t make sense since the whole API is introduced in 3.68. Will remove in next PS.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"api-ref/source/v3/samples/versions/version-show-response.json":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":21,"context_line":"            ],"},{"line_number":22,"context_line":"            \"min_version\": \"3.0\","},{"line_number":23,"context_line":"            \"status\": \"CURRENT\","},{"line_number":24,"context_line":"            \"updated\": \"2021-12-16T00:00:00Z\","},{"line_number":25,"context_line":"            \"version\": \"3.68\""},{"line_number":26,"context_line":"        }"},{"line_number":27,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":37,"id":"08e01116_aa0a19a6","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":34},"updated":"2022-02-24 03:45:26.000000000","message":"Up to you, but this could be the yoga release date, 2022-03-30.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":21,"context_line":"            ],"},{"line_number":22,"context_line":"            \"min_version\": \"3.0\","},{"line_number":23,"context_line":"            \"status\": \"CURRENT\","},{"line_number":24,"context_line":"            \"updated\": \"2021-12-16T00:00:00Z\","},{"line_number":25,"context_line":"            \"version\": \"3.68\""},{"line_number":26,"context_line":"        }"},{"line_number":27,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":37,"id":"8c6a8c40_b35159b0","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":34},"in_reply_to":"08e01116_aa0a19a6","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"api-ref/source/v3/samples/volume-os-reimage-request.json":[{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"8996480880db55ec5afe7dd1bf4856c88f41c385","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os-retype\": {"},{"line_number":3,"context_line":"        \"image_id\": \"71543ced-a8af-45b6-a5c4-a46282108a90\","},{"line_number":4,"context_line":"        \"ignore_reserved\": false"},{"line_number":5,"context_line":"    }"}],"source_content_type":"application/json","patch_set":21,"id":"3f79a3b5_523e3c27","line":2,"range":{"start_line":2,"start_character":5,"end_line":2,"end_character":14},"updated":"2018-12-08 01:47:57.000000000","message":"os-reimage","commit_id":"63c24b8931e1b6a597ddad72c2738298ba84ccc6"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"57a870126ccb5568586ba8d1c53bbb07efa91684","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os-retype\": {"},{"line_number":3,"context_line":"        \"image_id\": \"71543ced-a8af-45b6-a5c4-a46282108a90\","},{"line_number":4,"context_line":"        \"ignore_reserved\": false"},{"line_number":5,"context_line":"    }"}],"source_content_type":"application/json","patch_set":21,"id":"3f79a3b5_78e9cea9","line":2,"range":{"start_line":2,"start_character":5,"end_line":2,"end_character":14},"in_reply_to":"3f79a3b5_523e3c27","updated":"2018-12-10 01:14:01.000000000","message":"Done","commit_id":"63c24b8931e1b6a597ddad72c2738298ba84ccc6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os-reimage\": {"},{"line_number":3,"context_line":"        \"image_id\": \"71543ced-a8af-45b6-a5c4-a46282108a90\","},{"line_number":4,"context_line":"        \"reimage_reserved\": true"},{"line_number":5,"context_line":"    }"},{"line_number":6,"context_line":"}"}],"source_content_type":"application/json","patch_set":37,"id":"91b782c8_a5924286","line":4,"range":{"start_line":4,"start_character":28,"end_line":4,"end_character":32},"updated":"2022-02-24 03:45:26.000000000","message":"I wonder if we should use \u0027false\u0027 in the examples since we don\u0027t want \"regular\" users to reimage reserved volumes.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os-reimage\": {"},{"line_number":3,"context_line":"        \"image_id\": \"71543ced-a8af-45b6-a5c4-a46282108a90\","},{"line_number":4,"context_line":"        \"reimage_reserved\": true"},{"line_number":5,"context_line":"    }"},{"line_number":6,"context_line":"}"}],"source_content_type":"application/json","patch_set":37,"id":"93c01ef9_6c29902c","line":4,"range":{"start_line":4,"start_character":28,"end_line":4,"end_character":32},"in_reply_to":"91b782c8_a5924286","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"api-ref/source/v3/volumes-v3-volumes-actions.inc":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":983,"context_line":"Re-image a volume with a specific image. Specify the ``os-reimage`` action"},{"line_number":984,"context_line":"in the request body."},{"line_number":985,"context_line":""},{"line_number":986,"context_line":"The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":987,"context_line":"\u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved` parameter"},{"line_number":988,"context_line":"is set to \u0027true\u0027. When reimaging a volume, the volume state will be changed"},{"line_number":989,"context_line":"to ``downloading`` first."},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"There are two separate policies to control this operation, one for re-imaging"}],"source_content_type":"text/x-c++src","patch_set":37,"id":"b77e0926_b01516d8","line":988,"range":{"start_line":986,"start_character":0,"end_line":988,"end_character":17},"updated":"2022-02-24 03:45:26.000000000","message":"Instead:\n\n  A volume in ``available`` or ``error`` status can be re-imaged directly.  To\n  re-image a volume in ``reserved`` status, you must include the\n  ``reimage_reserved`` parameter set to ``true``.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":983,"context_line":"Re-image a volume with a specific image. Specify the ``os-reimage`` action"},{"line_number":984,"context_line":"in the request body."},{"line_number":985,"context_line":""},{"line_number":986,"context_line":"The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":987,"context_line":"\u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved` parameter"},{"line_number":988,"context_line":"is set to \u0027true\u0027. When reimaging a volume, the volume state will be changed"},{"line_number":989,"context_line":"to ``downloading`` first."},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"There are two separate policies to control this operation, one for re-imaging"}],"source_content_type":"text/x-c++src","patch_set":37,"id":"d808111c_e7a9a415","line":988,"range":{"start_line":986,"start_character":0,"end_line":988,"end_character":17},"in_reply_to":"b77e0926_b01516d8","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":988,"context_line":"is set to \u0027true\u0027. When reimaging a volume, the volume state will be changed"},{"line_number":989,"context_line":"to ``downloading`` first."},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"There are two separate policies to control this operation, one for re-imaging"},{"line_number":992,"context_line":"an ``available`` or ``error`` volume and another for reimaging a ``reserved``"},{"line_number":993,"context_line":"volume, the default policies for these new actions are"},{"line_number":994,"context_line":"``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":995,"context_line":"administrative role or the owner of the volume can perform this operation."},{"line_number":996,"context_line":"Cloud providers can change these permissions through the policy.yaml file."},{"line_number":997,"context_line":""},{"line_number":998,"context_line":".. note:: In current version, The image signature verification is unsupported"},{"line_number":999,"context_line":"          when re-imaging a volume."}],"source_content_type":"text/x-c++src","patch_set":37,"id":"36e14f6c_898d76d4","line":996,"range":{"start_line":991,"start_character":0,"end_line":996,"end_character":74},"updated":"2022-02-24 03:45:26.000000000","message":"Leave this out.  It\u0027s covered in your release note and in the configuration docs.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":988,"context_line":"is set to \u0027true\u0027. When reimaging a volume, the volume state will be changed"},{"line_number":989,"context_line":"to ``downloading`` first."},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"There are two separate policies to control this operation, one for re-imaging"},{"line_number":992,"context_line":"an ``available`` or ``error`` volume and another for reimaging a ``reserved``"},{"line_number":993,"context_line":"volume, the default policies for these new actions are"},{"line_number":994,"context_line":"``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":995,"context_line":"administrative role or the owner of the volume can perform this operation."},{"line_number":996,"context_line":"Cloud providers can change these permissions through the policy.yaml file."},{"line_number":997,"context_line":""},{"line_number":998,"context_line":".. note:: In current version, The image signature verification is unsupported"},{"line_number":999,"context_line":"          when re-imaging a volume."}],"source_content_type":"text/x-c++src","patch_set":37,"id":"ce3738e0_98011dc2","line":996,"range":{"start_line":991,"start_character":0,"end_line":996,"end_character":74},"in_reply_to":"36e14f6c_898d76d4","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":995,"context_line":"administrative role or the owner of the volume can perform this operation."},{"line_number":996,"context_line":"Cloud providers can change these permissions through the policy.yaml file."},{"line_number":997,"context_line":""},{"line_number":998,"context_line":".. note:: In current version, The image signature verification is unsupported"},{"line_number":999,"context_line":"          when re-imaging a volume."},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"Response codes"},{"line_number":1002,"context_line":"--------------"}],"source_content_type":"text/x-c++src","patch_set":37,"id":"f223ffc0_4972380e","line":999,"range":{"start_line":998,"start_character":10,"end_line":999,"end_character":35},"updated":"2022-02-24 03:45:26.000000000","message":"Image signature verification is currently unsupported when re-imaging a volume.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":995,"context_line":"administrative role or the owner of the volume can perform this operation."},{"line_number":996,"context_line":"Cloud providers can change these permissions through the policy.yaml file."},{"line_number":997,"context_line":""},{"line_number":998,"context_line":".. note:: In current version, The image signature verification is unsupported"},{"line_number":999,"context_line":"          when re-imaging a volume."},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"Response codes"},{"line_number":1002,"context_line":"--------------"}],"source_content_type":"text/x-c++src","patch_set":37,"id":"0859ce0f_3194e744","line":999,"range":{"start_line":998,"start_character":10,"end_line":999,"end_character":35},"in_reply_to":"f223ffc0_4972380e","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"cinder/api/contrib/volume_actions.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return self._key_mgr"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":52,"context_line":"    @wsgi.action(\u0027os-attach\u0027)"},{"line_number":53,"context_line":"    @validation.schema(volume_action.attach)"},{"line_number":54,"context_line":"    def _attach(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac09172a","line":51,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                # to the user and in such cases it should raise 500 error."},{"line_number":85,"context_line":"                raise"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":88,"context_line":"    @wsgi.action(\u0027os-detach\u0027)"},{"line_number":89,"context_line":"    @validation.schema(volume_action.detach)"},{"line_number":90,"context_line":"    def _detach(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c16434d","line":87,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                # to the user and in such cases it should raise 500 error."},{"line_number":111,"context_line":"                raise"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":114,"context_line":"    @wsgi.action(\u0027os-reserve\u0027)"},{"line_number":115,"context_line":"    def _reserve(self, req, id, body):"},{"line_number":116,"context_line":"        \"\"\"Mark volume as reserved.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c13ff5a","line":113,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self.volume_api.reserve_volume(context, volume)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":124,"context_line":"    @wsgi.action(\u0027os-unreserve\u0027)"},{"line_number":125,"context_line":"    def _unreserve(self, req, id, body):"},{"line_number":126,"context_line":"        \"\"\"Unmark volume as reserved.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c228ba7","line":123,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.volume_api.unreserve_volume(context, volume)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":134,"context_line":"    @wsgi.action(\u0027os-begin_detaching\u0027)"},{"line_number":135,"context_line":"    def _begin_detaching(self, req, id, body):"},{"line_number":136,"context_line":"        \"\"\"Update volume status to \u0027detaching\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c2747b8","line":133,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.volume_api.begin_detaching(context, volume)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":144,"context_line":"    @wsgi.action(\u0027os-roll_detaching\u0027)"},{"line_number":145,"context_line":"    def _roll_detaching(self, req, id, body):"},{"line_number":146,"context_line":"        \"\"\"Roll back volume status to \u0027in-use\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc1b336d","line":143,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        return {\u0027connection_info\u0027: info}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":179,"context_line":"    @wsgi.action(\u0027os-terminate_connection\u0027)"},{"line_number":180,"context_line":"    @validation.schema(volume_action.terminate_connection)"},{"line_number":181,"context_line":"    def _terminate_connection(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec206f9d","line":178,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            msg \u003d _(\"Unable to terminate volume connection from backend.\")"},{"line_number":191,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation\u003dmsg)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":194,"context_line":"    @wsgi.action(\u0027os-volume_upload_image\u0027)"},{"line_number":195,"context_line":"    @validation.schema(volume_action.volume_upload_image, mv.V2_BASE_VERSION,"},{"line_number":196,"context_line":"                       mv.get_prior_version(mv.UPLOAD_IMAGE_PARAMS))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c353bdf","line":193,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dsix.text_type(error))"},{"line_number":258,"context_line":"        return {\u0027os-volume_upload_image\u0027: response}"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":261,"context_line":"    @wsgi.action(\u0027os-extend\u0027)"},{"line_number":262,"context_line":"    @validation.schema(volume_action.extend)"},{"line_number":263,"context_line":"    def _extend(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac3277f2","line":260,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        except exception.InvalidVolume as error:"},{"line_number":278,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003derror.msg)"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":281,"context_line":"    @wsgi.action(\u0027os-update_readonly_flag\u0027)"},{"line_number":282,"context_line":"    @validation.schema(volume_action.volume_readonly_update)"},{"line_number":283,"context_line":"    def _volume_readonly_update(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c2f2389","line":280,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        self.volume_api.update_readonly_flag(context, volume, readonly_flag)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":297,"context_line":"    @wsgi.action(\u0027os-retype\u0027)"},{"line_number":298,"context_line":"    @validation.schema(volume_action.retype)"},{"line_number":299,"context_line":"    def _retype(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c2c5f93","line":296,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        self.volume_api.retype(context, volume, new_type, policy)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    @wsgi.response(http_client.OK)"},{"line_number":309,"context_line":"    @wsgi.action(\u0027os-set_bootable\u0027)"},{"line_number":310,"context_line":"    @validation.schema(volume_action.set_bootable)"},{"line_number":311,"context_line":"    def _set_bootable(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c47eb54","line":308,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        self.volume_api.update(context, volume, update_dict)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    @wsgi.Controller.api_version(mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":325,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":326,"context_line":"    @wsgi.action(\u0027os-reimage\u0027)"},{"line_number":327,"context_line":"    @validation.schema(volume_action.reimage, mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":328,"context_line":"    def _reimage(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c4c2774","line":325,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return self._key_mgr"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":52,"context_line":"    @wsgi.action(\u0027os-attach\u0027)"},{"line_number":53,"context_line":"    @validation.schema(volume_action.attach)"},{"line_number":54,"context_line":"    def _attach(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fb94815","line":51,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                # to the user and in such cases it should raise 500 error."},{"line_number":85,"context_line":"                raise"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":88,"context_line":"    @wsgi.action(\u0027os-detach\u0027)"},{"line_number":89,"context_line":"    @validation.schema(volume_action.detach)"},{"line_number":90,"context_line":"    def _detach(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fb68427","line":87,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                # to the user and in such cases it should raise 500 error."},{"line_number":111,"context_line":"                raise"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":114,"context_line":"    @wsgi.action(\u0027os-reserve\u0027)"},{"line_number":115,"context_line":"    def _reserve(self, req, id, body):"},{"line_number":116,"context_line":"        \"\"\"Mark volume as reserved.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df30b0ba","line":113,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self.volume_api.reserve_volume(context, volume)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":124,"context_line":"    @wsgi.action(\u0027os-unreserve\u0027)"},{"line_number":125,"context_line":"    def _unreserve(self, req, id, body):"},{"line_number":126,"context_line":"        \"\"\"Unmark volume as reserved.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff356ca8","line":123,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.volume_api.unreserve_volume(context, volume)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":134,"context_line":"    @wsgi.action(\u0027os-begin_detaching\u0027)"},{"line_number":135,"context_line":"    def _begin_detaching(self, req, id, body):"},{"line_number":136,"context_line":"        \"\"\"Update volume status to \u0027detaching\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f3a3895","line":133,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.volume_api.begin_detaching(context, volume)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":144,"context_line":"    @wsgi.action(\u0027os-roll_detaching\u0027)"},{"line_number":145,"context_line":"    def _roll_detaching(self, req, id, body):"},{"line_number":146,"context_line":"        \"\"\"Roll back volume status to \u0027in-use\u0027.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf3ff484","line":143,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        return {\u0027connection_info\u0027: info}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":179,"context_line":"    @wsgi.action(\u0027os-terminate_connection\u0027)"},{"line_number":180,"context_line":"    @validation.schema(volume_action.terminate_connection)"},{"line_number":181,"context_line":"    def _terminate_connection(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f44a01a","line":178,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            msg \u003d _(\"Unable to terminate volume connection from backend.\")"},{"line_number":191,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation\u003dmsg)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":194,"context_line":"    @wsgi.action(\u0027os-volume_upload_image\u0027)"},{"line_number":195,"context_line":"    @validation.schema(volume_action.volume_upload_image, mv.V2_BASE_VERSION,"},{"line_number":196,"context_line":"                       mv.get_prior_version(mv.UPLOAD_IMAGE_PARAMS))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f415c08","line":193,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dsix.text_type(error))"},{"line_number":258,"context_line":"        return {\u0027os-volume_upload_image\u0027: response}"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":261,"context_line":"    @wsgi.action(\u0027os-extend\u0027)"},{"line_number":262,"context_line":"    @validation.schema(volume_action.extend)"},{"line_number":263,"context_line":"    def _extend(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f4e2839","line":260,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        except exception.InvalidVolume as error:"},{"line_number":278,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003derror.msg)"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":281,"context_line":"    @wsgi.action(\u0027os-update_readonly_flag\u0027)"},{"line_number":282,"context_line":"    @validation.schema(volume_action.volume_readonly_update)"},{"line_number":283,"context_line":"    def _volume_readonly_update(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f4be428","line":280,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        self.volume_api.update_readonly_flag(context, volume, readonly_flag)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":297,"context_line":"    @wsgi.action(\u0027os-retype\u0027)"},{"line_number":298,"context_line":"    @validation.schema(volume_action.retype)"},{"line_number":299,"context_line":"    def _retype(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df599000","line":296,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        self.volume_api.retype(context, volume, new_type, policy)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    @wsgi.response(http_client.OK)"},{"line_number":309,"context_line":"    @wsgi.action(\u0027os-set_bootable\u0027)"},{"line_number":310,"context_line":"    @validation.schema(volume_action.set_bootable)"},{"line_number":311,"context_line":"    def _set_bootable(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff5ecce6","line":308,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"226b551e5059744f8b2d7e154f1e3a45db07ddc2","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        self.volume_api.update(context, volume, update_dict)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    @wsgi.Controller.api_version(mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":325,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":326,"context_line":"    @wsgi.action(\u0027os-reimage\u0027)"},{"line_number":327,"context_line":"    @validation.schema(volume_action.reimage, mv.SUPPORT_REIMAGE_VOLUME)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ee6d999a","line":324,"updated":"2018-10-20 17:53:08.000000000","message":"This line is binding the uwsgi action os-reimage to version_select method\n\n{\u0027os-reimage\u0027: \u003cfunction version_select at 0x7fb229fc5cf8\u003e,\n\nRemoving this solved the issue,\n\n{\u0027os-reimage\u0027: \u003cbound method VolumeActionsController._reimage of \u003ccinder.api.contrib.volume_actions.VolumeActionsController object at 0x7f2dc60d1950\u003e\u003e,","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9540adac505afc8e7e198a4ff60e10c13829792","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        self.volume_api.update(context, volume, update_dict)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    @wsgi.Controller.api_version(mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":325,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":326,"context_line":"    @wsgi.action(\u0027os-reimage\u0027)"},{"line_number":327,"context_line":"    @validation.schema(volume_action.reimage, mv.SUPPORT_REIMAGE_VOLUME)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_32b672dd","line":324,"in_reply_to":"3f79a3b5_ee6d999a","updated":"2018-10-23 02:12:32.000000000","message":"We only support it after 3.56, so, we need get response with specific microversion, otherwise will get back a VersionNotFoundForAPIMethod [1].\n\n[1] https://review.openstack.org/#/c/606346/13/cinder/tests/unit/api/contrib/test_volume_actions.py@1476","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        self.volume_api.update(context, volume, update_dict)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    @wsgi.Controller.api_version(mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":325,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":326,"context_line":"    @wsgi.action(\u0027os-reimage\u0027)"},{"line_number":327,"context_line":"    @validation.schema(volume_action.reimage, mv.SUPPORT_REIMAGE_VOLUME)"},{"line_number":328,"context_line":"    def _reimage(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f5318df","line":325,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"eeecf39192320c5f5513189f0f393918e52ec5a5","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"},{"line_number":338,"context_line":"        ignore_in_use \u003d params.get(\u0027ignore_in_use\u0027, \u0027False\u0027)"},{"line_number":339,"context_line":"        ignore_in_use \u003d strutils.bool_from_string(ignore_in_use, strict\u003dTrue)"},{"line_number":340,"context_line":"        image_id \u003d body[\u0027os-reimage\u0027][\u0027image_id\u0027]"},{"line_number":341,"context_line":"        try:"},{"line_number":342,"context_line":"            self.volume_api.reimage(context, volume, image_id, ignore_in_use)"},{"line_number":343,"context_line":"        except exception.InvalidVolume as error:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_eef279e4","line":340,"range":{"start_line":340,"start_character":19,"end_line":340,"end_character":49},"updated":"2018-10-21 06:47:44.000000000","message":"maybe params[\u0027image_id\u0027] ?","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9540adac505afc8e7e198a4ff60e10c13829792","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"},{"line_number":338,"context_line":"        ignore_in_use \u003d params.get(\u0027ignore_in_use\u0027, \u0027False\u0027)"},{"line_number":339,"context_line":"        ignore_in_use \u003d strutils.bool_from_string(ignore_in_use, strict\u003dTrue)"},{"line_number":340,"context_line":"        image_id \u003d body[\u0027os-reimage\u0027][\u0027image_id\u0027]"},{"line_number":341,"context_line":"        try:"},{"line_number":342,"context_line":"            self.volume_api.reimage(context, volume, image_id, ignore_in_use)"},{"line_number":343,"context_line":"        except exception.InvalidVolume as error:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_f2af9a79","line":340,"range":{"start_line":340,"start_character":19,"end_line":340,"end_character":49},"in_reply_to":"3f79a3b5_eef279e4","updated":"2018-10-23 02:12:32.000000000","message":"Done","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92f69b61e2b1f71956bb41b731ecd2c48b4b404a","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        # Not found exception will be handled at the wsgi level"},{"line_number":332,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":333,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":334,"context_line":"            msg \u003d _(\"Can\u0027t re-image a volume which is attached to more than\""},{"line_number":335,"context_line":"                    \"one server.\")"},{"line_number":336,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_1820379d","line":334,"range":{"start_line":334,"start_character":21,"end_line":334,"end_character":27},"updated":"2018-12-04 21:46:04.000000000","message":"Do not use contractions in user-facing error messages.","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92f69b61e2b1f71956bb41b731ecd2c48b4b404a","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        # Not found exception will be handled at the wsgi level"},{"line_number":332,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":333,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":334,"context_line":"            msg \u003d _(\"Can\u0027t re-image a volume which is attached to more than\""},{"line_number":335,"context_line":"                    \"one server.\")"},{"line_number":336,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_18f7d72a","line":334,"range":{"start_line":334,"start_character":71,"end_line":334,"end_character":75},"updated":"2018-12-04 21:46:04.000000000","message":"need a space between words on the continuation line","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        # Not found exception will be handled at the wsgi level"},{"line_number":332,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":333,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":334,"context_line":"            msg \u003d _(\"Can\u0027t re-image a volume which is attached to more than\""},{"line_number":335,"context_line":"                    \"one server.\")"},{"line_number":336,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_d4a6cd0e","line":334,"range":{"start_line":334,"start_character":71,"end_line":334,"end_character":75},"in_reply_to":"3f79a3b5_18f7d72a","updated":"2018-12-07 08:17:02.000000000","message":"done, thanks, and I didn\u0027t know the messages rules about contractions","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"113d948839830aa21b544abd550f53d7ad94eab8","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":331,"context_line":"        # Not found exception will be handled at the wsgi level"},{"line_number":332,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":333,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":334,"context_line":"            msg \u003d _(\"Can\u0027t re-image a volume which is attached to more than\""},{"line_number":335,"context_line":"                    \"one server.\")"},{"line_number":336,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"},{"line_number":338,"context_line":"        ignore_reserved \u003d params.get(\u0027ignore_reserved\u0027, \u0027False\u0027)"},{"line_number":339,"context_line":"        ignore_reserved \u003d strutils.bool_from_string(ignore_reserved,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_48122866","line":336,"range":{"start_line":333,"start_character":0,"end_line":336,"end_character":57},"updated":"2018-12-07 02:46:51.000000000","message":"-1 I think this part should be moved to reimage in volume.api.","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":331,"context_line":"        # Not found exception will be handled at the wsgi level"},{"line_number":332,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":333,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":334,"context_line":"            msg \u003d _(\"Can\u0027t re-image a volume which is attached to more than\""},{"line_number":335,"context_line":"                    \"one server.\")"},{"line_number":336,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":337,"context_line":"        params \u003d body[\u0027os-reimage\u0027]"},{"line_number":338,"context_line":"        ignore_reserved \u003d params.get(\u0027ignore_reserved\u0027, \u0027False\u0027)"},{"line_number":339,"context_line":"        ignore_reserved \u003d strutils.bool_from_string(ignore_reserved,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_54e15d30","line":336,"range":{"start_line":333,"start_character":0,"end_line":336,"end_character":57},"in_reply_to":"3f79a3b5_48122866","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"}],"cinder/api/microversions.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"USE_QUOTA \u003d \u00273.65\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"SNAPSHOT_IN_USE \u003d \u00273.66\u0027"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"SUPPORT_REIMAGE_VOLUME \u003d \u00273.68\u0027"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"dbb4e3d3_c7de1ea0","line":172,"updated":"2022-02-24 03:45:26.000000000","message":"Make sure you pick up 3.67 when you resolve the merge conflict.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"USE_QUOTA \u003d \u00273.65\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"SNAPSHOT_IN_USE \u003d \u00273.66\u0027"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"SUPPORT_REIMAGE_VOLUME \u003d \u00273.68\u0027"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"40416c3e_3db07294","line":172,"in_reply_to":"dbb4e3d3_c7de1ea0","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"cinder/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92f69b61e2b1f71956bb41b731ecd2c48b4b404a","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"3.56"},{"line_number":446,"context_line":"----"},{"line_number":447,"context_line":"Support re-image volume."}],"source_content_type":"text/x-rst","patch_set":19,"id":"3f79a3b5_58422f3e","line":447,"updated":"2018-12-04 21:46:04.000000000","message":"You should be able to give a least a bit more of a description here than this. What does it do? Are there related policy rules? Are there restrictions? Whatever goes in here could probably also go in the release note.","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"3.56"},{"line_number":446,"context_line":"----"},{"line_number":447,"context_line":"Support re-image volume."}],"source_content_type":"text/x-rst","patch_set":19,"id":"3f79a3b5_f4974936","line":447,"in_reply_to":"3f79a3b5_58422f3e","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"42cd09de0eabc77648bd5b013912e3f3d9936a4f","unresolved":false,"context_lines":[{"line_number":467,"context_line":"Support ability to re-image a volume with a specific image. Specify the"},{"line_number":468,"context_line":"``os-reimage`` action in the request body."},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":471,"context_line":"\u0027reserved\u0027 volume can only be re-imaged when the `ignore_reserved` parameter"},{"line_number":472,"context_line":"is set to \u0027true\u0027. When reimaging a volume, the volume state will be changed"},{"line_number":473,"context_line":"to ``downloading`` first."},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"There are two separate policies to control this operation, one for re-imaging"},{"line_number":476,"context_line":"an ``available`` or ``error`` volume and another for reimaging an ``reserved``"},{"line_number":477,"context_line":"volume, the default policies for these new actions are"},{"line_number":478,"context_line":"``RULE_ADMIN_OR_OWNER``, that means only users with the administrative role or"},{"line_number":479,"context_line":"the owner of the volume to perform this operation. Cloud providers can change"},{"line_number":480,"context_line":"these permissions through the policy.yaml file."},{"line_number":481,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"5fc1f717_f0fcc8b6","line":481,"range":{"start_line":470,"start_character":0,"end_line":481,"end_character":0},"updated":"2019-04-01 10:48:57.000000000","message":"since this info is already added to the api-ref, i would prefer to keep this section brief here without this duplication","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"}],"cinder/api/schemas/volume_actions.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3bd9ee90e08b0cfc42ddd6d9c4e1e7cf7eb0955","unresolved":false,"context_lines":[{"line_number":206,"context_line":"reimage \u003d {"},{"line_number":207,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":208,"context_line":"    \u0027properties\u0027: {"},{"line_number":209,"context_line":"        \u0027os-retype\u0027: {"},{"line_number":210,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":211,"context_line":"            \u0027properties\u0027: {"},{"line_number":212,"context_line":"                \u0027image_id\u0027: {\u0027type\u0027: parameter_types.uuid},"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_778ca62d","line":209,"range":{"start_line":209,"start_character":12,"end_line":209,"end_character":18},"updated":"2018-10-04 06:37:14.000000000","message":"reimage","commit_id":"9db967dbaf805328cdf0dd75c8959d1c02aaded3"}],"cinder/policies/volume_actions.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92f69b61e2b1f71956bb41b731ecd2c48b4b404a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"TERMINATE_POLICY \u003d \"volume_extension:volume_actions:terminate_connection\""},{"line_number":41,"context_line":"INITIALIZE_POLICY \u003d \"volume_extension:volume_actions:initialize_connection\""},{"line_number":42,"context_line":"REIMAGE_POLICY \u003d \"volume:reimage\""},{"line_number":43,"context_line":"REIMAGE_RESERVED_POLICY \u003d \"block-storage:volume:actions:reimage_reserved\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"volume_action_policies \u003d ["},{"line_number":46,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_98a6870e","line":43,"range":{"start_line":43,"start_character":27,"end_line":43,"end_character":41},"updated":"2018-12-04 21:46:04.000000000","message":"Why does this have the block-storage prefix but REIMAGE_POLICY doesn\u0027t? Isn\u0027t part of the new policy names supposed to have the service type in the rule name, so in that case you\u0027d want block-storage as the prefix on both? Something like:\n\nservice-type:resource:method:extra\n\nblock-storage:volumes:action:reimage\n\nThe naming rules guide is here:\n\nhttps://docs.openstack.org/oslo.policy/latest/user/usage.html#naming-policies\n\nLooking at that, this should be:\n\nblock-storage:volumes:reimage and block-storage:volumes:reimage-reserved.","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"TERMINATE_POLICY \u003d \"volume_extension:volume_actions:terminate_connection\""},{"line_number":41,"context_line":"INITIALIZE_POLICY \u003d \"volume_extension:volume_actions:initialize_connection\""},{"line_number":42,"context_line":"REIMAGE_POLICY \u003d \"volume:reimage\""},{"line_number":43,"context_line":"REIMAGE_RESERVED_POLICY \u003d \"block-storage:volume:actions:reimage_reserved\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"volume_action_policies \u003d ["},{"line_number":46,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_d4d24dd0","line":43,"range":{"start_line":43,"start_character":27,"end_line":43,"end_character":41},"in_reply_to":"3f79a3b5_98a6870e","updated":"2018-12-07 08:17:02.000000000","message":"Done.","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"42cd09de0eabc77648bd5b013912e3f3d9936a4f","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":238,"context_line":"        name\u003dREIMAGE_POLICY,"},{"line_number":239,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":240,"context_line":"        description\u003d\"Reimage a volume.\","},{"line_number":241,"context_line":"        operations\u003d["},{"line_number":242,"context_line":"            {"},{"line_number":243,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5fc1f717_2730d3e8","line":240,"range":{"start_line":240,"start_character":29,"end_line":240,"end_character":38},"updated":"2019-04-01 10:48:57.000000000","message":"an available/error state volume\n\n(the volume maybe in backing-up/retyping/extending... states)","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":328,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":329,"context_line":"        name\u003dREIMAGE_POLICY,"},{"line_number":330,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":331,"context_line":"        description\u003d\"Reimage a available/error volume.\","},{"line_number":332,"context_line":"        operations\u003d["},{"line_number":333,"context_line":"            {"},{"line_number":334,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"a4847b71_41724fcc","line":331,"range":{"start_line":331,"start_character":21,"end_line":331,"end_character":54},"updated":"2022-02-24 03:45:26.000000000","message":"Reimage a volume in \u0027available\u0027 or \u0027error\u0027 status.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":329,"context_line":"        name\u003dREIMAGE_POLICY,"},{"line_number":330,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":331,"context_line":"        description\u003d\"Reimage a available/error volume.\","},{"line_number":332,"context_line":"        operations\u003d["},{"line_number":333,"context_line":"            {"},{"line_number":334,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"d8b93f81_57b0d107","line":331,"range":{"start_line":331,"start_character":21,"end_line":331,"end_character":54},"in_reply_to":"a4847b71_41724fcc","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":338,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":339,"context_line":"        name\u003dREIMAGE_RESERVED_POLICY,"},{"line_number":340,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":341,"context_line":"        description\u003d\"Reimage a reserved volume.\","},{"line_number":342,"context_line":"        operations\u003d["},{"line_number":343,"context_line":"            {"},{"line_number":344,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"38c8dd38_cd95e7ae","line":341,"range":{"start_line":341,"start_character":21,"end_line":341,"end_character":47},"updated":"2022-02-24 03:45:26.000000000","message":"Reimage a volume in \u0027reserved\u0027 status.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":338,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":339,"context_line":"        name\u003dREIMAGE_RESERVED_POLICY,"},{"line_number":340,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":341,"context_line":"        description\u003d\"Reimage a reserved volume.\","},{"line_number":342,"context_line":"        operations\u003d["},{"line_number":343,"context_line":"            {"},{"line_number":344,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"20e5d8d3_46f004f5","line":341,"range":{"start_line":341,"start_character":21,"end_line":341,"end_character":47},"in_reply_to":"38c8dd38_cd95e7ae","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"cinder/tests/unit/api/contrib/test_volume_actions.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            req.body \u003d jsonutils.dump_as_bytes({_action: None})"},{"line_number":98,"context_line":"            req.content_type \u003d \u0027application/json\u0027"},{"line_number":99,"context_line":"            res \u003d req.get_response(app)"},{"line_number":100,"context_line":"            self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def test_initialize_connection(self):"},{"line_number":103,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec55cffa","line":100,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":115,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":116,"context_line":"            self.assertEqual(http_client.OK, res.status_int)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def test_initialize_connection_without_connector(self):"},{"line_number":119,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c3a1bc3","line":116,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":130,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":131,"context_line":"            self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI.initialize_connection\u0027)"},{"line_number":134,"context_line":"    def test_initialize_connection_without_initiator(self,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac37d7db","line":131,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":145,"context_line":"                               fake_auth_context\u003dself.context))"},{"line_number":146,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_initialize_connection_exception(self):"},{"line_number":149,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c440349","line":146,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":162,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":163,"context_line":"            self.assertEqual(http_client.INTERNAL_SERVER_ERROR,"},{"line_number":164,"context_line":"                             res.status_int)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def test_terminate_connection(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c41bf36","line":163,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027INTERNAL_SERVER_ERROR\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":178,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":179,"context_line":"            self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def test_terminate_connection_without_connector(self):"},{"line_number":182,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c704ba7","line":179,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":193,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":194,"context_line":"            self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def test_terminate_connection_with_exception(self):"},{"line_number":197,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c750798","line":194,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":209,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":210,"context_line":"            self.assertEqual(http_client.INTERNAL_SERVER_ERROR,"},{"line_number":211,"context_line":"                             res.status_int)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_attach_to_instance(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc69f3c0","line":210,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027INTERNAL_SERVER_ERROR\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":224,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":225,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027instance_uuid\u0027: fake.INSTANCE_ID,"},{"line_number":228,"context_line":"                              \u0027host_name\u0027: \u0027fake_host\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec6e2fc7","line":225,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":235,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":236,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":237,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def test_attach_to_host(self):"},{"line_number":240,"context_line":"        # using \u0027read-write\u0027 mode attach volume by default"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c63fbde","line":237,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":250,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":251,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_volume_attach_to_instance_raises_remote_error(self):"},{"line_number":254,"context_line":"        volume_remote_error \u003d \\"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac6037d2","line":251,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":299,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":300,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    def test_detach_null_attachment_id(self):"},{"line_number":303,"context_line":"        body \u003d {\u0027os-detach\u0027: {\u0027attachment_id\u0027: None}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c5de314","line":300,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":311,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":312,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def test_volume_detach_raises_remote_error(self):"},{"line_number":315,"context_line":"        volume_remote_error \u003d \\"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c5a1f1f","line":312,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":355,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":356,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":357,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Invalid request to attach volume with an invalid mode"},{"line_number":360,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027instance_uuid\u0027: \u0027fake\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c95ab94","line":357,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":368,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":369,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":370,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":371,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027host_name\u0027: \u0027fake_host\u0027,"},{"line_number":372,"context_line":"                              \u0027mountpoint\u0027: \u0027/dev/vdc\u0027,"},{"line_number":373,"context_line":"                              \u0027mode\u0027: \u0027ww\u0027}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c9ae7c3","line":370,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":379,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":380,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":381,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    def test_attach_to_instance_no_mountpoint(self):"},{"line_number":384,"context_line":"        # The mountpoint parameter is required. If not provided the"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc9ed3b6","line":381,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":412,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":413,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    def test_roll_detaching(self):"},{"line_number":416,"context_line":"        def fake_roll_detaching(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_eca38ffe","line":413,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":429,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":430,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def test_extend_volume(self):"},{"line_number":433,"context_line":"        def fake_extend_volume(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8ca8dbda","line":430,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":446,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":447,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_extend_volume_invalid_status(self):"},{"line_number":450,"context_line":"        def fake_extend_volume(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_aca59703","line":447,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        req.headers[\"content-type\"] \u003d \"application/json\""},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4cb2c34c","line":464,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c7e0b6d","line":466,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6caf7fe0","line":466,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c83c757","line":467,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc77b38e","line":467,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c91bb9e","line":468,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec7cef72","line":468,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c8ba368","line":469,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac8ef777","line":469,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"},{"line_number":473,"context_line":"        def fake_update_readonly_flag(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c88df6a","line":470,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":487,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0ce36b3c","line":490,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":487,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2ce8a713","line":490,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ccec932a","line":491,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ecf14f02","line":491,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8cd69b54","line":492,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_acd35763","line":492,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4ce08328","line":493,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6cdd3f6c","line":493,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"},{"line_number":497,"context_line":"        body \u003d {\"os-set_bootable\": {\"bootable\": bootable}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0ccccbbc","line":494,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        req.headers[\u0027content-type\u0027] \u003d \u0027application/json\u0027"},{"line_number":551,"context_line":"        req.body \u003d jsonutils.dump_as_bytes({\u0027os-retype\u0027: None})"},{"line_number":552,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":553,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    def test_retype_volume_bad_policy(self):"},{"line_number":556,"context_line":"        # Request with invalid migration policy should fail"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2cd18757","line":553,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        retype_body \u003d {\u0027new_type\u0027: \u0027foo\u0027, \u0027migration_policy\u0027: \u0027invalid\u0027}"},{"line_number":565,"context_line":"        req.body \u003d jsonutils.dump_as_bytes({\u0027os-retype\u0027: retype_body})"},{"line_number":566,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":567,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"    def test_retype_volume_bad_status(self):"},{"line_number":570,"context_line":"        # Should fail if volume does not have proper status"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ccc57392","line":567,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":578,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"        self._retype_volume_exec(http_client.BAD_REQUEST, vol_type_new.id,"},{"line_number":581,"context_line":"                                 vol.id)"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    def test_retype_type_no_exist(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_eccaaf9e","line":580,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  status\u003d\u0027available\u0027,"},{"line_number":589,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":590,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":591,"context_line":"        self._retype_volume_exec(http_client.NOT_FOUND, \u0027fake_vol_type\u0027,"},{"line_number":592,"context_line":"                                 vol.id)"},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    def test_retype_same_type(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8cbf7bfc","line":591,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027NOT_FOUND\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":599,"context_line":"                                  status\u003d\u0027available\u0027,"},{"line_number":600,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":601,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":602,"context_line":"        self._retype_volume_exec(http_client.BAD_REQUEST, vol_type_old.id,"},{"line_number":603,"context_line":"                                 vol.id)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def test_retype_over_quota(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_acbcb707","line":602,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":615,"context_line":"                                  usages\u003d{\u0027gigabytes\u0027: {\u0027reserved\u0027: 5,"},{"line_number":616,"context_line":"                                                        \u0027in_use\u0027: 15}})"},{"line_number":617,"context_line":"        self.retype_mocks[\u0027reserve\u0027].side_effect \u003d exc"},{"line_number":618,"context_line":"        self._retype_volume_exec(http_client.REQUEST_ENTITY_TOO_LARGE,"},{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4cb96314","line":618,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027REQUEST_ENTITY_TOO_LARGE\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        self._retype_volume_exec(http_client.REQUEST_ENTITY_TOO_LARGE,"},{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6cb69f28","line":621,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c312bbc","line":622,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c3667b5","line":623,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc3a5396","line":624,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec3f0f84","line":625,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c445b1c","line":626,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac41170b","line":627,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c4e433a","line":628,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c4bff27","line":629,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c5a8bf4","line":630,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c5f47e5","line":631,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc5333de","line":632,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec586ffa","line":633,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c6d3b9c","line":634,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac6a777f","line":635,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c6723ba","line":637,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c645fb4","line":638,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0cffebb1","line":640,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":644,"context_line":"               False, False))"},{"line_number":645,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c0427c5","line":642,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":644,"context_line":"               False, False))"},{"line_number":645,"context_line":"    @ddt.unpack"},{"line_number":646,"context_line":"    def test_retype_volume_qos(self, vol_status, consumer_pass,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc0813da","line":643,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        self._retype_volume_exec(expected_status, vol_type_new, vol.id)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec0dcfe7","line":727,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        self._retype_volume_exec(expected_status, vol_type_new, vol.id)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8cf21be4","line":728,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_acefd7f8","line":729,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"},{"line_number":733,"context_line":"    def test_retype_volume_encryption(self, vol_status, expected_status,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4cfc03b6","line":730,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"},{"line_number":733,"context_line":"    def test_retype_volume_encryption(self, vol_status, expected_status,"},{"line_number":734,"context_line":"                                      has_type\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6cf9bfc3","line":731,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1031,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":1032,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":1033,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":1034,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def test_volume_upload_image_without_type(self):"},{"line_number":1037,"context_line":"        id \u003d fake.VOLUME2_ID"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c284b34","line":1034,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":1047,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":1048,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":1049,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":"    @mock.patch.object(volume_api.API, \u0027get\u0027, fake_volume_get)"},{"line_number":1052,"context_line":"    def test_extend_volume_valueerror(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c2d0745","line":1049,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1151,"context_line":"                                                        body\u003dbody)"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1154,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1155,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1156,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1157,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc21f351","line":1154,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1193,"context_line":"                                                        body\u003dbody)"},{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1196,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1197,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1198,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1199,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec262f68","line":1196,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"                          body\u003dbody)"},{"line_number":1220,"context_line":""},{"line_number":1221,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1222,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1223,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.status)"},{"line_number":1224,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1225,"context_line":"        db.volume_destroy(context.get_admin_context(), volume.id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c1bfb1b","line":1222,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1247,"context_line":"                          body\u003dbody)"},{"line_number":1248,"context_line":""},{"line_number":1249,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1250,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1251,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.status)"},{"line_number":1252,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1253,"context_line":"        db.volume_destroy(context.get_admin_context(), volume.id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac18371f","line":1250,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1275,"context_line":"                          body\u003dbody)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1278,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1279,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.status)"},{"line_number":1280,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1281,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c15e3e5","line":1278,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1289,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1290,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.previous_status)"},{"line_number":1291,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c121f00","line":1288,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"                                                        body\u003dbody)"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1312,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1313,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1314,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0ccdab91","line":1312,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1332,"context_line":"                                                        body\u003dbody)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1335,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1336,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1337,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1338,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2cd2e734","line":1335,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                                                        body\u003dbody)"},{"line_number":1415,"context_line":""},{"line_number":1416,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1417,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1418,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1419,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1420,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ccd6d327","line":1417,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1438,"context_line":"                                                        body\u003dbody)"},{"line_number":1439,"context_line":""},{"line_number":1440,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1441,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1442,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1443,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1444,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ecdb8f4b","line":1441,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            req.body \u003d jsonutils.dump_as_bytes({_action: None})"},{"line_number":98,"context_line":"            req.content_type \u003d \u0027application/json\u0027"},{"line_number":99,"context_line":"            res \u003d req.get_response(app)"},{"line_number":100,"context_line":"            self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def test_initialize_connection(self):"},{"line_number":103,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf97f439","line":100,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":115,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":116,"context_line":"            self.assertEqual(http_client.OK, res.status_int)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def test_initialize_connection_without_connector(self):"},{"line_number":119,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f9ca05b","line":116,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":130,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":131,"context_line":"            self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI.initialize_connection\u0027)"},{"line_number":134,"context_line":"    def test_initialize_connection_without_initiator(self,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f995c69","line":131,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":145,"context_line":"                               fake_auth_context\u003dself.context))"},{"line_number":146,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_initialize_connection_exception(self):"},{"line_number":149,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fa628ae","line":146,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":162,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":163,"context_line":"            self.assertEqual(http_client.INTERNAL_SERVER_ERROR,"},{"line_number":164,"context_line":"                             res.status_int)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def test_terminate_connection(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fa3e49d","line":163,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027INTERNAL_SERVER_ERROR\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":178,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":179,"context_line":"            self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def test_terminate_connection_without_connector(self):"},{"line_number":182,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfb190e5","line":179,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":193,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":194,"context_line":"            self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def test_terminate_connection_with_exception(self):"},{"line_number":197,"context_line":"        with mock.patch.object(volume_api.API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffb6ccdb","line":194,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            res \u003d req.get_response(fakes.wsgi_app("},{"line_number":209,"context_line":"                fake_auth_context\u003dself.context))"},{"line_number":210,"context_line":"            self.assertEqual(http_client.INTERNAL_SERVER_ERROR,"},{"line_number":211,"context_line":"                             res.status_int)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_attach_to_instance(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fab1870","line":210,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027INTERNAL_SERVER_ERROR\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":224,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":225,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027instance_uuid\u0027: fake.INSTANCE_ID,"},{"line_number":228,"context_line":"                              \u0027host_name\u0027: \u0027fake_host\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfb054de","line":225,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":235,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":236,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":237,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def test_attach_to_host(self):"},{"line_number":240,"context_line":"        # using \u0027read-write\u0027 mode attach volume by default"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fc5803d","line":237,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":250,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":251,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_volume_attach_to_instance_raises_remote_error(self):"},{"line_number":254,"context_line":"        volume_remote_error \u003d \\"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fc2bc37","line":251,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":299,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":300,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    def test_detach_null_attachment_id(self):"},{"line_number":303,"context_line":"        body \u003d {\u0027os-detach\u0027: {\u0027attachment_id\u0027: None}}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fbf08ac","line":300,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":311,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":312,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def test_volume_detach_raises_remote_error(self):"},{"line_number":315,"context_line":"        volume_remote_error \u003d \\"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fbc44b4","line":312,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":355,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":356,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":357,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Invalid request to attach volume with an invalid mode"},{"line_number":360,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027instance_uuid\u0027: \u0027fake\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfd670f9","line":357,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":368,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":369,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":370,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":371,"context_line":"        body \u003d {\u0027os-attach\u0027: {\u0027host_name\u0027: \u0027fake_host\u0027,"},{"line_number":372,"context_line":"                              \u0027mountpoint\u0027: \u0027/dev/vdc\u0027,"},{"line_number":373,"context_line":"                              \u0027mode\u0027: \u0027ww\u0027}}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffdb2c1d","line":370,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":379,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":380,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":381,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    def test_attach_to_instance_no_mountpoint(self):"},{"line_number":384,"context_line":"        # The mountpoint parameter is required. If not provided the"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fe0f8cd","line":381,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":412,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":413,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    def test_roll_detaching(self):"},{"line_number":416,"context_line":"        def fake_roll_detaching(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfe5b4dd","line":413,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":429,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":430,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def test_extend_volume(self):"},{"line_number":433,"context_line":"        def fake_extend_volume(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fca6047","line":430,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":446,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":447,"context_line":"        self.assertEqual(http_client.ACCEPTED, res.status_int)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_extend_volume_invalid_status(self):"},{"line_number":450,"context_line":"        def fake_extend_volume(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fc71c3f","line":447,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        req.headers[\"content-type\"] \u003d \"application/json\""},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fd4e8e9","line":464,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fd1a4f9","line":466,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfff5067","line":466,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9ff9d883","line":467,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff048c7f","line":467,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5ff340a1","line":468,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bffe1468","line":468,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fedc8b7","line":469,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    @ddt.data((True, http_client.ACCEPTED), (False, http_client.ACCEPTED),"},{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7ff07c93","line":469,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":467,"context_line":"              (\u00271\u0027, http_client.ACCEPTED), (\u00270\u0027, http_client.ACCEPTED),"},{"line_number":468,"context_line":"              (\u0027true\u0027, http_client.ACCEPTED), (\u0027false\u0027, http_client.ACCEPTED),"},{"line_number":469,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":470,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":471,"context_line":"    @ddt.unpack"},{"line_number":472,"context_line":"    def test_update_readonly_flag(self, readonly, return_code):"},{"line_number":473,"context_line":"        def fake_update_readonly_flag(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fea04a0","line":470,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":487,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df24301d","line":490,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":487,"context_line":"            fake_auth_context\u003dself.context))"},{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff29ecf0","line":490,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f2eb8f7","line":491,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        self.assertEqual(return_code, res.status_int)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf337461","line":491,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f38203b","line":492,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f35dc42","line":492,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027OK\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f42a8ad","line":493,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    @ddt.data((True, http_client.OK), (False, http_client.OK),"},{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f3f6423","line":493,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":491,"context_line":"              (\u00271\u0027, http_client.OK), (\u00270\u0027, http_client.OK),"},{"line_number":492,"context_line":"              (\u0027true\u0027, http_client.OK), (\u0027false\u0027, http_client.OK),"},{"line_number":493,"context_line":"              (\u0027tt\u0027, http_client.BAD_REQUEST), (11, http_client.BAD_REQUEST),"},{"line_number":494,"context_line":"              (None, http_client.BAD_REQUEST))"},{"line_number":495,"context_line":"    @ddt.unpack"},{"line_number":496,"context_line":"    def test_set_bootable(self, bootable, return_code):"},{"line_number":497,"context_line":"        body \u003d {\"os-set_bootable\": {\"bootable\": bootable}}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df0d1093","line":494,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        req.headers[\u0027content-type\u0027] \u003d \u0027application/json\u0027"},{"line_number":551,"context_line":"        req.body \u003d jsonutils.dump_as_bytes({\u0027os-retype\u0027: None})"},{"line_number":552,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":553,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    def test_retype_volume_bad_policy(self):"},{"line_number":556,"context_line":"        # Request with invalid migration policy should fail"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff124cb3","line":553,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        retype_body \u003d {\u0027new_type\u0027: \u0027foo\u0027, \u0027migration_policy\u0027: \u0027invalid\u0027}"},{"line_number":565,"context_line":"        req.body \u003d jsonutils.dump_as_bytes({\u0027os-retype\u0027: retype_body})"},{"line_number":566,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":567,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"    def test_retype_volume_bad_status(self):"},{"line_number":570,"context_line":"        # Should fail if volume does not have proper status"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f079871","line":567,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":578,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"        self._retype_volume_exec(http_client.BAD_REQUEST, vol_type_new.id,"},{"line_number":581,"context_line":"                                 vol.id)"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    def test_retype_type_no_exist(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf0cd493","line":580,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  status\u003d\u0027available\u0027,"},{"line_number":589,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":590,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":591,"context_line":"        self._retype_volume_exec(http_client.NOT_FOUND, \u0027fake_vol_type\u0027,"},{"line_number":592,"context_line":"                                 vol.id)"},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    def test_retype_same_type(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f2100fd","line":591,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027NOT_FOUND\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":599,"context_line":"                                  status\u003d\u0027available\u0027,"},{"line_number":600,"context_line":"                                  volume_type_id\u003dvol_type_old.id,"},{"line_number":601,"context_line":"                                  testcase_instance\u003dself)"},{"line_number":602,"context_line":"        self._retype_volume_exec(http_client.BAD_REQUEST, vol_type_old.id,"},{"line_number":603,"context_line":"                                 vol.id)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def test_retype_over_quota(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f1e3cbd","line":602,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":615,"context_line":"                                  usages\u003d{\u0027gigabytes\u0027: {\u0027reserved\u0027: 5,"},{"line_number":616,"context_line":"                                                        \u0027in_use\u0027: 15}})"},{"line_number":617,"context_line":"        self.retype_mocks[\u0027reserve\u0027].side_effect \u003d exc"},{"line_number":618,"context_line":"        self._retype_volume_exec(http_client.REQUEST_ENTITY_TOO_LARGE,"},{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f1b88cb","line":618,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027REQUEST_ENTITY_TOO_LARGE\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        self._retype_volume_exec(http_client.REQUEST_ENTITY_TOO_LARGE,"},{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f18c4cb","line":621,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                                 vol_type_new.id, vol.id)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df72f018","line":622,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff77ac06","line":623,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":621,"context_line":"    @ddt.data((\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST),"},{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f7c78eb","line":624,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":622,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf8134c5","line":625,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":623,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED),"},{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f66e058","line":626,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":624,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED),"},{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f639c46","line":627,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":625,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f706809","line":628,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":626,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f6d242f","line":629,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":627,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, True),"},{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df5bd086","line":630,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":628,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, True),"},{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff600c37","line":631,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":629,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False, False),"},{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f555855","line":632,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":630,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf5a947f","line":633,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":631,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f4fc0be","line":634,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":632,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":633,"context_line":"              (\u0027available\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False, False),"},{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f4cfcc8","line":635,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":634,"context_line":"              (\u0027available\u0027, \u0027\u0027, http_client.ACCEPTED, True, False),"},{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f4948b7","line":637,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":635,"context_line":"              (\u0027in-use\u0027, \u0027front-end\u0027, http_client.BAD_REQUEST, False,"},{"line_number":636,"context_line":"               False, False),"},{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f4684a9","line":638,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":637,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":638,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfc0b0fc","line":640,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":639,"context_line":"               False, False),"},{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":644,"context_line":"               False, False))"},{"line_number":645,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffc56c0a","line":642,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":640,"context_line":"              (\u0027available\u0027, \u0027front-end\u0027, http_client.ACCEPTED, False,"},{"line_number":641,"context_line":"               False, False),"},{"line_number":642,"context_line":"              (\u0027in-use\u0027, \u0027\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":643,"context_line":"              (\u0027in-use\u0027, \u0027back-end\u0027, http_client.ACCEPTED, False,"},{"line_number":644,"context_line":"               False, False))"},{"line_number":645,"context_line":"    @ddt.unpack"},{"line_number":646,"context_line":"    def test_retype_volume_qos(self, vol_status, consumer_pass,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fca3817","line":643,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        self._retype_volume_exec(expected_status, vol_type_new, vol.id)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfcff426","line":727,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        self._retype_volume_exec(expected_status, vol_type_new, vol.id)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fd4a0bc","line":728,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fd15cca","line":729,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":727,"context_line":"    @ddt.data((\u0027available\u0027, http_client.ACCEPTED, False, False, False),"},{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"},{"line_number":733,"context_line":"    def test_retype_volume_encryption(self, vol_status, expected_status,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fde28db","line":730,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":728,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, False, False),"},{"line_number":729,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False, False),"},{"line_number":730,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED, True, False),"},{"line_number":731,"context_line":"              (\u0027available\u0027, http_client.ACCEPTED))"},{"line_number":732,"context_line":"    @ddt.unpack"},{"line_number":733,"context_line":"    def test_retype_volume_encryption(self, vol_status, expected_status,"},{"line_number":734,"context_line":"                                      has_type\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fdbe4ea","line":731,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027ACCEPTED\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1031,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":1032,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":1033,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":1034,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def test_volume_upload_image_without_type(self):"},{"line_number":1037,"context_line":"        id \u003d fake.VOLUME2_ID"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfe99082","line":1034,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":1047,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":1048,"context_line":"        res \u003d req.get_response(fakes.wsgi_app(fake_auth_context\u003dself.context))"},{"line_number":1049,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, res.status_int)"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":"    @mock.patch.object(volume_api.API, \u0027get\u0027, fake_volume_get)"},{"line_number":1052,"context_line":"    def test_extend_volume_valueerror(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffeecc88","line":1049,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027http.client\u0027 has no \u0027BAD_REQUEST\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1151,"context_line":"                                                        body\u003dbody)"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1154,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1155,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1156,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1157,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fe318a1","line":1154,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1193,"context_line":"                                                        body\u003dbody)"},{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1196,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1197,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1198,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1199,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfe8547b","line":1196,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"                          body\u003dbody)"},{"line_number":1220,"context_line":""},{"line_number":1221,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1222,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1223,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.status)"},{"line_number":1224,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1225,"context_line":"        db.volume_destroy(context.get_admin_context(), volume.id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5ffd803a","line":1222,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1247,"context_line":"                          body\u003dbody)"},{"line_number":1248,"context_line":""},{"line_number":1249,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1250,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1251,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.status)"},{"line_number":1252,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1253,"context_line":"        db.volume_destroy(context.get_admin_context(), volume.id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7ffabc44","line":1250,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1275,"context_line":"                          body\u003dbody)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        self.assertFalse(mock_copy_to_image.called)"},{"line_number":1278,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1279,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.status)"},{"line_number":1280,"context_line":"        self.assertIsNone(vol_db.previous_status)"},{"line_number":1281,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1ff7085d","line":1278,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1289,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1290,"context_line":"        self.assertEqual(\u0027in-use\u0027, vol_db.previous_status)"},{"line_number":1291,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3ff44455","line":1288,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"                                                        body\u003dbody)"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1312,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1313,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1314,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df8e70d6","line":1312,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1332,"context_line":"                                                        body\u003dbody)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1335,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1336,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1337,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1338,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff932cfe","line":1335,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                                                        body\u003dbody)"},{"line_number":1415,"context_line":""},{"line_number":1416,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1417,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1418,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1419,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1420,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f98f81a","line":1417,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1438,"context_line":"                                                        body\u003dbody)"},{"line_number":1439,"context_line":""},{"line_number":1440,"context_line":"        self.assertDictEqual(expected, res_dict)"},{"line_number":1441,"context_line":"        vol_db \u003d objects.Volume.get_by_id(self.context, volume.id)"},{"line_number":1442,"context_line":"        self.assertEqual(\u0027uploading\u0027, vol_db.status)"},{"line_number":1443,"context_line":"        self.assertEqual(\u0027available\u0027, vol_db.previous_status)"},{"line_number":1444,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf9db40a","line":1441,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1501,"context_line":"                  \u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID,"},{"line_number":1502,"context_line":"                  \u0027project_id\u0027: fake.PROJECT_ID}"},{"line_number":1503,"context_line":"        vol \u003d fake_volume.fake_volume_obj(self.context, **db_vol)"},{"line_number":1504,"context_line":"        va_objs \u003d [objects.VolumeAttachment(context\u003dself.context, id\u003di)"},{"line_number":1505,"context_line":"                   for i in [fake.OBJECT_ID, fake.OBJECT2_ID, fake.OBJECT3_ID]]"},{"line_number":1506,"context_line":"        va_list \u003d objects.VolumeAttachmentList(context\u003dself.context,"},{"line_number":1507,"context_line":"                                               objects\u003dva_objs)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f8260a8","line":1504,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1503,"context_line":"        vol \u003d fake_volume.fake_volume_obj(self.context, **db_vol)"},{"line_number":1504,"context_line":"        va_objs \u003d [objects.VolumeAttachment(context\u003dself.context, id\u003di)"},{"line_number":1505,"context_line":"                   for i in [fake.OBJECT_ID, fake.OBJECT2_ID, fake.OBJECT3_ID]]"},{"line_number":1506,"context_line":"        va_list \u003d objects.VolumeAttachmentList(context\u003dself.context,"},{"line_number":1507,"context_line":"                                               objects\u003dva_objs)"},{"line_number":1508,"context_line":"        vol.volume_attachment \u003d va_list"},{"line_number":1509,"context_line":"        self.mock_object(volume_api.API, \u0027get\u0027, return_value\u003dvol)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f7f1cbc","line":1506,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachmentList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"42cd09de0eabc77648bd5b013912e3f3d9936a4f","unresolved":false,"context_lines":[{"line_number":1458,"context_line":"    def _build_reimage_req(self, body, vol_id,"},{"line_number":1459,"context_line":"                           version\u003dmv.SUPPORT_REIMAGE_VOLUME):"},{"line_number":1460,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":1461,"context_line":"            \u0027/v2/fakeproject/volumes/%s/action\u0027 % vol_id)"},{"line_number":1462,"context_line":"        req.method \u003d \"POST\""},{"line_number":1463,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":1464,"context_line":"        req.environ[\u0027cinder.context\u0027] \u003d self.context"}],"source_content_type":"text/x-python","patch_set":26,"id":"5fc1f717_c7730fb4","line":1461,"range":{"start_line":1461,"start_character":14,"end_line":1461,"end_character":16},"updated":"2019-04-01 10:48:57.000000000","message":"v3","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"}],"cinder/tests/unit/volume/test_rpcapi.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                           rpc_method\u003d\u0027cast\u0027,"},{"line_number":102,"context_line":"                           server\u003d\u0027fake_host\u0027,"},{"line_number":103,"context_line":"                           volume\u003dself.fake_volume_obj,"},{"line_number":104,"context_line":"                           request_spec\u003dobjects.RequestSpec.from_primitives("},{"line_number":105,"context_line":"                               {}),"},{"line_number":106,"context_line":"                           filter_properties\u003d{\u0027availability_zone\u0027: \u0027fake_az\u0027},"},{"line_number":107,"context_line":"                           allow_reschedule\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c10d3c41","line":104,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    @ddt.data(\u00273.0\u0027, \u00273.8\u0027)"},{"line_number":380,"context_line":"    def test_failover(self, version):"},{"line_number":381,"context_line":"        self.can_send_version_mock.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":382,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027fake_host\u0027,"},{"line_number":383,"context_line":"                                  cluster_name\u003dNone)"},{"line_number":384,"context_line":"        expected_method \u003d \u0027failover\u0027 if version \u003d\u003d \u00273.8\u0027 else \u0027failover_host\u0027"},{"line_number":385,"context_line":"        self._test_rpc_api(\u0027failover\u0027, rpc_method\u003d\u0027cast\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e112b861","line":382,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI._get_cctxt\u0027)"},{"line_number":392,"context_line":"    def test_failover_completed(self, cctxt_mock):"},{"line_number":393,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027fake_host\u0027,"},{"line_number":394,"context_line":"                                  cluster_name\u003d\u0027cluster_name\u0027)"},{"line_number":395,"context_line":"        self._test_rpc_api(\u0027failover_completed\u0027, rpc_method\u003d\u0027cast\u0027,"},{"line_number":396,"context_line":"                           fanout\u003dTrue, server\u003d\u0027fake_host\u0027, service\u003dservice,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8107441f","line":393,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        backup_device_dict \u003d {\u0027backup_device\u0027: self.fake_volume,"},{"line_number":419,"context_line":"                              \u0027is_snapshot\u0027: False,"},{"line_number":420,"context_line":"                              \u0027secure_enabled\u0027: True}"},{"line_number":421,"context_line":"        backup_device_obj \u003d objects.BackupDeviceInfo.from_primitive("},{"line_number":422,"context_line":"            backup_device_dict, self.context)"},{"line_number":423,"context_line":"        self._test_rpc_api(\u0027get_backup_device\u0027,"},{"line_number":424,"context_line":"                           rpc_method\u003d\u0027call\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a104c01a","line":421,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        backup_device_dict \u003d {\u0027backup_device\u0027: self.fake_volume,"},{"line_number":439,"context_line":"                              \u0027is_snapshot\u0027: False,"},{"line_number":440,"context_line":"                              \u0027secure_enabled\u0027: True}"},{"line_number":441,"context_line":"        backup_device_obj \u003d objects.BackupDeviceInfo.from_primitive("},{"line_number":442,"context_line":"            backup_device_dict, self.context)"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        self._test_rpc_api(\u0027get_backup_device\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41012c07","line":441,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":499,"context_line":"    @ddt.unpack"},{"line_number":500,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI._get_cctxt\u0027)"},{"line_number":501,"context_line":"    def test_do_cleanup(self, host, cluster, get_cctxt_mock):"},{"line_number":502,"context_line":"        cleanup_request \u003d objects.CleanupRequest(self.context,"},{"line_number":503,"context_line":"                                                 host\u003dhost,"},{"line_number":504,"context_line":"                                                 cluster_name\u003dcluster)"},{"line_number":505,"context_line":"        rpcapi \u003d volume_rpcapi.VolumeAPI()"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_61fea807","line":502,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027CleanupRequest\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":510,"context_line":"            self.context, \u0027do_cleanup\u0027, cleanup_request\u003dcleanup_request)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def test_do_cleanup_too_old(self):"},{"line_number":513,"context_line":"        cleanup_request \u003d objects.CleanupRequest(self.context)"},{"line_number":514,"context_line":"        rpcapi \u003d volume_rpcapi.VolumeAPI()"},{"line_number":515,"context_line":"        with mock.patch.object(rpcapi.client, \u0027can_send_version\u0027,"},{"line_number":516,"context_line":"                               return_value\u003dFalse) as can_send_mock:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0cf92b1b","line":513,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027CleanupRequest\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":531,"context_line":"            version,"},{"line_number":532,"context_line":"            can_send_version):"},{"line_number":533,"context_line":"        can_send_version.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":534,"context_line":"        service \u003d objects.Service(self.context, host\u003dhost,"},{"line_number":535,"context_line":"                                  cluster_name\u003dcluster_name)"},{"line_number":536,"context_line":"        expected_kwargs_diff \u003d {"},{"line_number":537,"context_line":"            \u0027want_objects\u0027: True} if version \u003d\u003d \u00273.10\u0027 else {}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2cfe6704","line":534,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":559,"context_line":"            version,"},{"line_number":560,"context_line":"            can_send_version):"},{"line_number":561,"context_line":"        can_send_version.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":562,"context_line":"        service \u003d objects.Service(self.context, host\u003dhost,"},{"line_number":563,"context_line":"                                  cluster_name\u003dcluster_name)"},{"line_number":564,"context_line":"        expected_kwargs_diff \u003d {"},{"line_number":565,"context_line":"            \u0027want_objects\u0027: True} if version \u003d\u003d \u00273.10\u0027 else {}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc025309","line":562,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"    @mock.patch(\u0027oslo_messaging.RPCClient.can_send_version\u0027, mock.Mock())"},{"line_number":580,"context_line":"    def test_set_log_levels(self):"},{"line_number":581,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027host1\u0027)"},{"line_number":582,"context_line":"        self._test_rpc_api(\u0027set_log_levels\u0027,"},{"line_number":583,"context_line":"                           rpc_method\u003d\u0027cast\u0027,"},{"line_number":584,"context_line":"                           server\u003dservice.host,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec070f17","line":581,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":588,"context_line":""},{"line_number":589,"context_line":"    @mock.patch(\u0027oslo_messaging.RPCClient.can_send_version\u0027, mock.Mock())"},{"line_number":590,"context_line":"    def test_get_log_levels(self):"},{"line_number":591,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027host1\u0027)"},{"line_number":592,"context_line":"        self._test_rpc_api(\u0027get_log_levels\u0027,"},{"line_number":593,"context_line":"                           rpc_method\u003d\u0027call\u0027,"},{"line_number":594,"context_line":"                           server\u003dservice.host,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c0c5b3b","line":591,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                           rpc_method\u003d\u0027cast\u0027,"},{"line_number":102,"context_line":"                           server\u003d\u0027fake_host\u0027,"},{"line_number":103,"context_line":"                           volume\u003dself.fake_volume_obj,"},{"line_number":104,"context_line":"                           request_spec\u003dobjects.RequestSpec.from_primitives("},{"line_number":105,"context_line":"                               {}),"},{"line_number":106,"context_line":"                           filter_properties\u003d{\u0027availability_zone\u0027: \u0027fake_az\u0027},"},{"line_number":107,"context_line":"                           allow_reschedule\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bff13403","line":104,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    @ddt.data(\u00273.0\u0027, \u00273.8\u0027)"},{"line_number":380,"context_line":"    def test_failover(self, version):"},{"line_number":381,"context_line":"        self.can_send_version_mock.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":382,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027fake_host\u0027,"},{"line_number":383,"context_line":"                                  cluster_name\u003dNone)"},{"line_number":384,"context_line":"        expected_method \u003d \u0027failover\u0027 if version \u003d\u003d \u00273.8\u0027 else \u0027failover_host\u0027"},{"line_number":385,"context_line":"        self._test_rpc_api(\u0027failover\u0027, rpc_method\u003d\u0027cast\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fd6e056","line":382,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI._get_cctxt\u0027)"},{"line_number":392,"context_line":"    def test_failover_completed(self, cctxt_mock):"},{"line_number":393,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027fake_host\u0027,"},{"line_number":394,"context_line":"                                  cluster_name\u003d\u0027cluster_name\u0027)"},{"line_number":395,"context_line":"        self._test_rpc_api(\u0027failover_completed\u0027, rpc_method\u003d\u0027cast\u0027,"},{"line_number":396,"context_line":"                           fanout\u003dTrue, server\u003d\u0027fake_host\u0027, service\u003dservice,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fd39c64","line":393,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        backup_device_dict \u003d {\u0027backup_device\u0027: self.fake_volume,"},{"line_number":419,"context_line":"                              \u0027is_snapshot\u0027: False,"},{"line_number":420,"context_line":"                              \u0027secure_enabled\u0027: True}"},{"line_number":421,"context_line":"        backup_device_obj \u003d objects.BackupDeviceInfo.from_primitive("},{"line_number":422,"context_line":"            backup_device_dict, self.context)"},{"line_number":423,"context_line":"        self._test_rpc_api(\u0027get_backup_device\u0027,"},{"line_number":424,"context_line":"                           rpc_method\u003d\u0027call\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fe06827","line":421,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        backup_device_dict \u003d {\u0027backup_device\u0027: self.fake_volume,"},{"line_number":439,"context_line":"                              \u0027is_snapshot\u0027: False,"},{"line_number":440,"context_line":"                              \u0027secure_enabled\u0027: True}"},{"line_number":441,"context_line":"        backup_device_obj \u003d objects.BackupDeviceInfo.from_primitive("},{"line_number":442,"context_line":"            backup_device_dict, self.context)"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        self._test_rpc_api(\u0027get_backup_device\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fdd246d","line":441,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":499,"context_line":"    @ddt.unpack"},{"line_number":500,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI._get_cctxt\u0027)"},{"line_number":501,"context_line":"    def test_do_cleanup(self, host, cluster, get_cctxt_mock):"},{"line_number":502,"context_line":"        cleanup_request \u003d objects.CleanupRequest(self.context,"},{"line_number":503,"context_line":"                                                 host\u003dhost,"},{"line_number":504,"context_line":"                                                 cluster_name\u003dcluster)"},{"line_number":505,"context_line":"        rpcapi \u003d volume_rpcapi.VolumeAPI()"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfcbd0a4","line":502,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027CleanupRequest\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":510,"context_line":"            self.context, \u0027do_cleanup\u0027, cleanup_request\u003dcleanup_request)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def test_do_cleanup_too_old(self):"},{"line_number":513,"context_line":"        cleanup_request \u003d objects.CleanupRequest(self.context)"},{"line_number":514,"context_line":"        rpcapi \u003d volume_rpcapi.VolumeAPI()"},{"line_number":515,"context_line":"        with mock.patch.object(rpcapi.client, \u0027can_send_version\u0027,"},{"line_number":516,"context_line":"                               return_value\u003dFalse) as can_send_mock:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffd00c55","line":513,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027CleanupRequest\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":531,"context_line":"            version,"},{"line_number":532,"context_line":"            can_send_version):"},{"line_number":533,"context_line":"        can_send_version.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":534,"context_line":"        service \u003d objects.Service(self.context, host\u003dhost,"},{"line_number":535,"context_line":"                                  cluster_name\u003dcluster_name)"},{"line_number":536,"context_line":"        expected_kwargs_diff \u003d {"},{"line_number":537,"context_line":"            \u0027want_objects\u0027: True} if version \u003d\u003d \u00273.10\u0027 else {}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fc55893","line":534,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":559,"context_line":"            version,"},{"line_number":560,"context_line":"            can_send_version):"},{"line_number":561,"context_line":"        can_send_version.side_effect \u003d lambda x: x \u003d\u003d version"},{"line_number":562,"context_line":"        service \u003d objects.Service(self.context, host\u003dhost,"},{"line_number":563,"context_line":"                                  cluster_name\u003dcluster_name)"},{"line_number":564,"context_line":"        expected_kwargs_diff \u003d {"},{"line_number":565,"context_line":"            \u0027want_objects\u0027: True} if version \u003d\u003d \u00273.10\u0027 else {}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfca949d","line":562,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"    @mock.patch(\u0027oslo_messaging.RPCClient.can_send_version\u0027, mock.Mock())"},{"line_number":580,"context_line":"    def test_set_log_levels(self):"},{"line_number":581,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027host1\u0027)"},{"line_number":582,"context_line":"        self._test_rpc_api(\u0027set_log_levels\u0027,"},{"line_number":583,"context_line":"                           rpc_method\u003d\u0027cast\u0027,"},{"line_number":584,"context_line":"                           server\u003dservice.host,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fbfc0fc","line":581,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":588,"context_line":""},{"line_number":589,"context_line":"    @mock.patch(\u0027oslo_messaging.RPCClient.can_send_version\u0027, mock.Mock())"},{"line_number":590,"context_line":"    def test_get_log_levels(self):"},{"line_number":591,"context_line":"        service \u003d objects.Service(self.context, host\u003d\u0027host1\u0027)"},{"line_number":592,"context_line":"        self._test_rpc_api(\u0027get_log_levels\u0027,"},{"line_number":593,"context_line":"                           rpc_method\u003d\u0027call\u0027,"},{"line_number":594,"context_line":"                           server\u003dservice.host,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fbcfc06","line":591,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"113d948839830aa21b544abd550f53d7ad94eab8","unresolved":false,"context_lines":[{"line_number":653,"context_line":"                           secondary_backend_id\u003dNone,"},{"line_number":654,"context_line":"                           version\u003d\u00273.14\u0027)"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def test_reimage(self):"},{"line_number":657,"context_line":"        self._test_rpc_api(\u0027reimage\u0027, rpc_method\u003d\u0027cast\u0027,"},{"line_number":658,"context_line":"                           server\u003dself.fake_volume_obj.host,"},{"line_number":659,"context_line":"                           volume\u003dself.fake_volume_obj,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_4350c908","line":656,"updated":"2018-12-07 02:46:51.000000000","message":"-1 Why delete test_list_replication_targets?","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":653,"context_line":"                           secondary_backend_id\u003dNone,"},{"line_number":654,"context_line":"                           version\u003d\u00273.14\u0027)"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def test_reimage(self):"},{"line_number":657,"context_line":"        self._test_rpc_api(\u0027reimage\u0027, rpc_method\u003d\u0027cast\u0027,"},{"line_number":658,"context_line":"                           server\u003dself.fake_volume_obj.host,"},{"line_number":659,"context_line":"                           volume\u003dself.fake_volume_obj,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_d4fb2d46","line":656,"in_reply_to":"3f79a3b5_4350c908","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"}],"cinder/tests/unit/volume/test_volume_reimage.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    @mock.patch(\u0027cinder.volume.utils.check_image_metadata\u0027)"},{"line_number":87,"context_line":"    @mock.patch(\u0027cinder.volume.rpcapi.VolumeAPI.reimage\u0027)"},{"line_number":88,"context_line":"    @ddt.data(\u0027in-use\u0027, \u0027reserved\u0027)"},{"line_number":89,"context_line":"    def test_volume_reimage_api_with_ignore_in_use(self, status, mock_reimage, mock_check):"},{"line_number":90,"context_line":"        volume \u003d tests_utils.create_volume(self.context)"},{"line_number":91,"context_line":"        # The in-use reserved volume can not be reimage directly, and only can"},{"line_number":92,"context_line":"        # be reimaged with ignore_in_use flag"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8ce0dbfb","line":89,"updated":"2018-10-18 12:06:14.000000000","message":"E501 line too long (91 \u003e 79 characters)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"49180b9d781223b5d492d5c39931e95c2c889298","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"\"\"\"Tests for Volume reimage Code.\"\"\""},{"line_number":13,"context_line":"import ddt"},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_concurrency import processutils"}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_3e13910f","line":14,"updated":"2020-07-30 19:56:40.000000000","message":"pep8: C337: Unit tests should use the standard library \"mock\" module, not the third party mock lib.","commit_id":"5ce049006b898317d7521c5eb0059a7d742990e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"49180b9d781223b5d492d5c39931e95c2c889298","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_concurrency import processutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder import exception"},{"line_number":20,"context_line":"from cinder.tests.unit import fake_constants"}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_9ef9fdc9","line":17,"updated":"2020-07-30 19:56:40.000000000","message":"pep8: I202 Additional newline in a group of imports. \u0027from oslo_concurrency import processutils\u0027 is identified as Third Party and \u0027import six\u0027 is identified as Third Party.","commit_id":"5ce049006b898317d7521c5eb0059a7d742990e7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        volume.status \u003d status"},{"line_number":87,"context_line":"        volume.save()"},{"line_number":88,"context_line":"        self.assertEqual(volume.status, status)"},{"line_number":89,"context_line":"        # The available or error volume can be reimage directly"},{"line_number":90,"context_line":"        self.volume_api.reimage(self.context, volume, self.image_meta[\u0027id\u0027])"},{"line_number":91,"context_line":"        mock_check.assert_called_once_with(self.image_meta, volume.size)"},{"line_number":92,"context_line":"        mock_reimage.assert_called_once_with(self.context, volume,"}],"source_content_type":"text/x-python","patch_set":38,"id":"47d961da_d0a4b9c6","line":89,"range":{"start_line":89,"start_character":47,"end_line":89,"end_character":54},"updated":"2022-02-24 14:14:38.000000000","message":"Nit:  reimaged","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        volume.status \u003d status"},{"line_number":87,"context_line":"        volume.save()"},{"line_number":88,"context_line":"        self.assertEqual(volume.status, status)"},{"line_number":89,"context_line":"        # The available or error volume can be reimage directly"},{"line_number":90,"context_line":"        self.volume_api.reimage(self.context, volume, self.image_meta[\u0027id\u0027])"},{"line_number":91,"context_line":"        mock_check.assert_called_once_with(self.image_meta, volume.size)"},{"line_number":92,"context_line":"        mock_reimage.assert_called_once_with(self.context, volume,"}],"source_content_type":"text/x-python","patch_set":38,"id":"fcebf0b4_ecf63ed2","line":89,"range":{"start_line":89,"start_character":47,"end_line":89,"end_character":54},"in_reply_to":"47d961da_d0a4b9c6","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":97,"context_line":"    def test_volume_reimage_api_with_reimage_reserved(self, mock_reimage,"},{"line_number":98,"context_line":"                                                      mock_check):"},{"line_number":99,"context_line":"        volume \u003d tests_utils.create_volume(self.context)"},{"line_number":100,"context_line":"        # The reserved volume can not be reimage directly, and only can"},{"line_number":101,"context_line":"        # be reimaged with reimage_reserved flag"},{"line_number":102,"context_line":"        volume.status \u003d \u0027reserved\u0027"},{"line_number":103,"context_line":"        volume.save()"}],"source_content_type":"text/x-python","patch_set":38,"id":"b10afc44_1e87cc30","line":100,"range":{"start_line":100,"start_character":41,"end_line":100,"end_character":49},"updated":"2022-02-24 14:14:38.000000000","message":"Nit:  reimaged","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    def test_volume_reimage_api_with_reimage_reserved(self, mock_reimage,"},{"line_number":98,"context_line":"                                                      mock_check):"},{"line_number":99,"context_line":"        volume \u003d tests_utils.create_volume(self.context)"},{"line_number":100,"context_line":"        # The reserved volume can not be reimage directly, and only can"},{"line_number":101,"context_line":"        # be reimaged with reimage_reserved flag"},{"line_number":102,"context_line":"        volume.status \u003d \u0027reserved\u0027"},{"line_number":103,"context_line":"        volume.save()"}],"source_content_type":"text/x-python","patch_set":38,"id":"536c2600_4a552239","line":100,"range":{"start_line":100,"start_character":41,"end_line":100,"end_character":49},"in_reply_to":"b10afc44_1e87cc30","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_volume_reimage_api_with_invaild_status(self):"},{"line_number":112,"context_line":"        volume \u003d tests_utils.create_volume(self.context)"},{"line_number":113,"context_line":"        # The reserved volume can not be reimage directly, and only can"},{"line_number":114,"context_line":"        # be reimaged with reimage_reserved flag"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        volume.status \u003d \u0027reserved\u0027"}],"source_content_type":"text/x-python","patch_set":38,"id":"5e187945_bb21b5d7","line":113,"range":{"start_line":113,"start_character":41,"end_line":113,"end_character":48},"updated":"2022-02-24 14:14:38.000000000","message":"Nit:  Same here.","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_volume_reimage_api_with_invaild_status(self):"},{"line_number":112,"context_line":"        volume \u003d tests_utils.create_volume(self.context)"},{"line_number":113,"context_line":"        # The reserved volume can not be reimage directly, and only can"},{"line_number":114,"context_line":"        # be reimaged with reimage_reserved flag"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        volume.status \u003d \u0027reserved\u0027"}],"source_content_type":"text/x-python","patch_set":38,"id":"18d78bd0_4ee3b7ae","line":113,"range":{"start_line":113,"start_character":41,"end_line":113,"end_character":48},"in_reply_to":"5e187945_bb21b5d7","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"}],"cinder/volume/api.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":95,"context_line":"QUOTAS \u003d quota.QUOTAS"},{"line_number":96,"context_line":"AO_LIST \u003d objects.VolumeAttachmentList"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"class API(base.Base):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_acdd9740","line":96,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachmentList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        if refresh_cache or not enable_cache:"},{"line_number":132,"context_line":"            topic \u003d constants.VOLUME_TOPIC"},{"line_number":133,"context_line":"            ctxt \u003d context.get_admin_context()"},{"line_number":134,"context_line":"            services \u003d objects.ServiceList.get_all_by_topic(ctxt, topic)"},{"line_number":135,"context_line":"            az_data \u003d [(s.availability_zone, s.disabled)"},{"line_number":136,"context_line":"                       for s in services]"},{"line_number":137,"context_line":"            disabled_map \u003d {}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4ceac3d9","line":134,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                source_type.id if source_type else None,"},{"line_number":163,"context_line":"                target_type.id if target_type else None):"},{"line_number":164,"context_line":"            return False"},{"line_number":165,"context_line":"        services \u003d objects.ServiceList.get_all_by_topic("},{"line_number":166,"context_line":"            elevated,"},{"line_number":167,"context_line":"            constants.VOLUME_TOPIC,"},{"line_number":168,"context_line":"            disabled\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6ce77f11","line":165,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                    self.list_availability_zones(enable_cache\u003dTrue,"},{"line_number":345,"context_line":"                                                 refresh_cache\u003dTrue)"},{"line_number":346,"context_line":"                # Refresh the object here, otherwise things ain\u0027t right"},{"line_number":347,"context_line":"                vref \u003d objects.Volume.get_by_id("},{"line_number":348,"context_line":"                    context, vref[\u0027id\u0027])"},{"line_number":349,"context_line":"                vref.save()"},{"line_number":350,"context_line":"                LOG.info(\"Create volume request issued successfully.\","}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0cb60bfe","line":347,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        # If not we convert it at the start of update method. This check"},{"line_number":533,"context_line":"        # needs to be removed once we have moved to ovo."},{"line_number":534,"context_line":"        if not isinstance(volume, objects_base.CinderObject):"},{"line_number":535,"context_line":"            vol_obj \u003d objects.Volume()"},{"line_number":536,"context_line":"            volume \u003d objects.Volume._from_db_object(context, vol_obj, volume)"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        if volume.status \u003d\u003d \u0027maintenance\u0027:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2cbbc7e4","line":535,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":533,"context_line":"        # needs to be removed once we have moved to ovo."},{"line_number":534,"context_line":"        if not isinstance(volume, objects_base.CinderObject):"},{"line_number":535,"context_line":"            vol_obj \u003d objects.Volume()"},{"line_number":536,"context_line":"            volume \u003d objects.Volume._from_db_object(context, vol_obj, volume)"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        if volume.status \u003d\u003d \u0027maintenance\u0027:"},{"line_number":539,"context_line":"            LOG.info(\"Unable to update volume, \""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ccafb39b","line":536,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":548,"context_line":"        LOG.info(\"Volume updated successfully.\", resource\u003dvolume)"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"    def get(self, context, volume_id, viewable_admin_meta\u003dFalse):"},{"line_number":551,"context_line":"        volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        try:"},{"line_number":554,"context_line":"            context.authorize(vol_policy.GET_POLICY, target_obj\u003dvolume)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ecb4eff3","line":551,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        if context.is_admin and allTenants:"},{"line_number":610,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":611,"context_line":"            del filters[\u0027all_tenants\u0027]"},{"line_number":612,"context_line":"            volumes \u003d objects.VolumeList.get_all(context, marker, limit,"},{"line_number":613,"context_line":"                                                 sort_keys\u003dsort_keys,"},{"line_number":614,"context_line":"                                                 sort_dirs\u003dsort_dirs,"},{"line_number":615,"context_line":"                                                 filters\u003dfilters,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8cc9bb7b","line":612,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        else:"},{"line_number":618,"context_line":"            if viewable_admin_meta:"},{"line_number":619,"context_line":"                context \u003d context.elevated()"},{"line_number":620,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_project("},{"line_number":621,"context_line":"                context, context.project_id, marker, limit,"},{"line_number":622,"context_line":"                sort_keys\u003dsort_keys, sort_dirs\u003dsort_dirs, filters\u003dfilters,"},{"line_number":623,"context_line":"                offset\u003doffset)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_acc6f768","line":620,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":634,"context_line":"        all_tenants \u003d utils.get_bool_param(\u0027all_tenants\u0027, filters)"},{"line_number":635,"context_line":"        filters.pop(\u0027all_tenants\u0027, None)"},{"line_number":636,"context_line":"        project_only \u003d not (all_tenants and context.is_admin)"},{"line_number":637,"context_line":"        volumes \u003d objects.VolumeList.get_volume_summary(context, project_only)"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"        LOG.info(\"Get summary completed successfully.\")"},{"line_number":640,"context_line":"        return volumes"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4cc3a359","line":637,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        return volumes"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def get_snapshot(self, context, snapshot_id):"},{"line_number":643,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(context, snapshot_id)"},{"line_number":644,"context_line":"        context.authorize(snapshot_policy.GET_POLICY, target_obj\u003dsnapshot)"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        # FIXME(jdg): The objects don\u0027t have the db name entries"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6cc0df4b","line":643,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":651,"context_line":"        return snapshot"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def get_volume(self, context, volume_id):"},{"line_number":654,"context_line":"        volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":655,"context_line":"        context.authorize(vol_policy.GET_POLICY, target_obj\u003dvolume)"},{"line_number":656,"context_line":"        LOG.info(\"Volume retrieved successfully.\", resource\u003dvolume)"},{"line_number":657,"context_line":"        return volume"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c9b6b79","line":654,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        if context.is_admin and \u0027all_tenants\u0027 in search_opts:"},{"line_number":667,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":668,"context_line":"            del search_opts[\u0027all_tenants\u0027]"},{"line_number":669,"context_line":"            snapshots \u003d objects.SnapshotList.get_all("},{"line_number":670,"context_line":"                context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":671,"context_line":"                offset)"},{"line_number":672,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2ca0a7a4","line":669,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":671,"context_line":"                offset)"},{"line_number":672,"context_line":"        else:"},{"line_number":673,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_by_project("},{"line_number":674,"context_line":"                context, context.project_id, search_opts, marker, limit,"},{"line_number":675,"context_line":"                sort_keys, sort_dirs, offset)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cca493bb","line":673,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":847,"context_line":"        # because only the volume\u0027s host is passed and only capacity is"},{"line_number":848,"context_line":"        # validated in the scheduler now."},{"line_number":849,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot.id,"},{"line_number":850,"context_line":"                  \u0027volume_properties\u0027: objects.VolumeProperties("},{"line_number":851,"context_line":"                      size\u003dvolume.size)}"},{"line_number":852,"context_line":"        self.scheduler_rpcapi.create_snapshot(context, volume, snapshot,"},{"line_number":853,"context_line":"                                              volume.service_topic_queue,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_eca94f8f","line":850,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeProperties\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":851,"context_line":"                      size\u003dvolume.size)}"},{"line_number":852,"context_line":"        self.scheduler_rpcapi.create_snapshot(context, volume, snapshot,"},{"line_number":853,"context_line":"                                              volume.service_topic_queue,"},{"line_number":854,"context_line":"                                              objects.RequestSpec(**kwargs))"},{"line_number":855,"context_line":"        return snapshot"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"    def create_snapshot_in_db(self, context,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c8e9b31","line":854,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":908,"context_line":"                \u0027encryption_key_id\u0027: volume[\u0027encryption_key_id\u0027],"},{"line_number":909,"context_line":"                \u0027metadata\u0027: metadata or {}"},{"line_number":910,"context_line":"            }"},{"line_number":911,"context_line":"            snapshot \u003d objects.Snapshot(context\u003dcontext, **kwargs)"},{"line_number":912,"context_line":"            snapshot.create()"},{"line_number":913,"context_line":"            volume.refresh()"},{"line_number":914,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac8b5720","line":911,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":955,"context_line":""},{"line_number":956,"context_line":"        try:"},{"line_number":957,"context_line":"            for options in options_list:"},{"line_number":958,"context_line":"                snapshot \u003d objects.Snapshot(context\u003dcontext, **options)"},{"line_number":959,"context_line":"                snapshot.create()"},{"line_number":960,"context_line":"                snapshot_list.append(snapshot)"},{"line_number":961,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c988375","line":958,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1466,"context_line":"        # a host or any service from a cluster that is up, which means that the"},{"line_number":1467,"context_line":"        # cluster itself is also up."},{"line_number":1468,"context_line":"        try:"},{"line_number":1469,"context_line":"            svc \u003d objects.Service.get_by_id(elevated, None, is_up\u003dTrue,"},{"line_number":1470,"context_line":"                                            topic\u003dconstants.VOLUME_TOPIC,"},{"line_number":1471,"context_line":"                                            host\u003dsvc_host, disabled\u003dFalse,"},{"line_number":1472,"context_line":"                                            cluster_name\u003dsvc_cluster,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c953f3d","line":1469,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1677,"context_line":"        filters \u003d [db.volume_qos_allows_retype(new_type_id)]"},{"line_number":1678,"context_line":""},{"line_number":1679,"context_line":"        updates \u003d {\u0027status\u0027: \u0027retyping\u0027,"},{"line_number":1680,"context_line":"                   \u0027previous_status\u0027: objects.Volume.model.status}"},{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        if not volume.conditional_update(updates, expected, filters):"},{"line_number":1683,"context_line":"            msg \u003d _(\u0027Retype needs volume to be in available or in-use state, \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c84cb0d","line":1680,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1723,"context_line":"        # a host or any service that is up from a cluster, which means that the"},{"line_number":1724,"context_line":"        # cluster itself is also up."},{"line_number":1725,"context_line":"        try:"},{"line_number":1726,"context_line":"            service \u003d objects.Service.get_by_id(elevated, None, host\u003dsvc_host,"},{"line_number":1727,"context_line":"                                                binary\u003dconstants.VOLUME_BINARY,"},{"line_number":1728,"context_line":"                                                cluster_name\u003dsvc_cluster)"},{"line_number":1729,"context_line":"        except exception.ServiceNotFound:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2c898724","line":1726,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"                                                     commit_quota\u003dTrue)"},{"line_number":1834,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot_object.id,"},{"line_number":1835,"context_line":"                  \u0027volume_properties\u0027:"},{"line_number":1836,"context_line":"                      objects.VolumeProperties(size\u003dvolume.size)}"},{"line_number":1837,"context_line":"        self.scheduler_rpcapi.manage_existing_snapshot("},{"line_number":1838,"context_line":"            context, volume, snapshot_object, ref,"},{"line_number":1839,"context_line":"            request_spec\u003dobjects.RequestSpec(**kwargs))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc7d731f","line":1836,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeProperties\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1836,"context_line":"                      objects.VolumeProperties(size\u003dvolume.size)}"},{"line_number":1837,"context_line":"        self.scheduler_rpcapi.manage_existing_snapshot("},{"line_number":1838,"context_line":"            context, volume, snapshot_object, ref,"},{"line_number":1839,"context_line":"            request_spec\u003dobjects.RequestSpec(**kwargs))"},{"line_number":1840,"context_line":"        return snapshot_object"},{"line_number":1841,"context_line":""},{"line_number":1842,"context_line":"    def get_manageable_snapshots(self, context, host, cluster_name,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ec82afff","line":1839,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":"    def _get_cluster_and_services_for_replication(self, ctxt, host,"},{"line_number":1853,"context_line":"                                                  cluster_name):"},{"line_number":1854,"context_line":"        services \u003d objects.ServiceList.get_all("},{"line_number":1855,"context_line":"            ctxt, filters\u003d{\u0027host\u0027: host, \u0027cluster_name\u0027: cluster_name,"},{"line_number":1856,"context_line":"                           \u0027binary\u0027: constants.VOLUME_BINARY})"},{"line_number":1857,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c777b3d","line":1854,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2077,"context_line":"                # Refresh the volume reference in case multiple instances were"},{"line_number":2078,"context_line":"                # being concurrently attached to the same non-multiattach"},{"line_number":2079,"context_line":"                # volume."},{"line_number":2080,"context_line":"                vref \u003d objects.Volume.get_by_id(ctxt, vref.id)"},{"line_number":2081,"context_line":"                for attachment in vref.volume_attachment:"},{"line_number":2082,"context_line":"                    # If we\u0027re attaching the same volume to the same instance,"},{"line_number":2083,"context_line":"                    # we could be migrating the instance to another host in"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_ac74b738","line":2080,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2098,"context_line":"                  \u0027attach_status\u0027: \u0027reserved\u0027,"},{"line_number":2099,"context_line":"                  \u0027instance_uuid\u0027: instance_uuid}"},{"line_number":2100,"context_line":"        db_ref \u003d self.db.volume_attach(ctxt.elevated(), values)"},{"line_number":2101,"context_line":"        return objects.VolumeAttachment.get_by_id(ctxt, db_ref[\u0027id\u0027])"},{"line_number":2102,"context_line":""},{"line_number":2103,"context_line":"    def attachment_create(self,"},{"line_number":2104,"context_line":"                          ctxt,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_4c716345","line":2101,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2152,"context_line":""},{"line_number":2153,"context_line":"        ctxt.authorize(attachment_policy.UPDATE_POLICY,"},{"line_number":2154,"context_line":"                       target_obj\u003dattachment_ref)"},{"line_number":2155,"context_line":"        volume_ref \u003d objects.Volume.get_by_id(ctxt, attachment_ref.volume_id)"},{"line_number":2156,"context_line":"        connection_info \u003d ("},{"line_number":2157,"context_line":"            self.volume_rpcapi.attachment_update(ctxt,"},{"line_number":2158,"context_line":"                                                 volume_ref,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6c6e9f65","line":2155,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2165,"context_line":"    def attachment_delete(self, ctxt, attachment):"},{"line_number":2166,"context_line":"        ctxt.authorize(attachment_policy.DELETE_POLICY,"},{"line_number":2167,"context_line":"                       target_obj\u003dattachment)"},{"line_number":2168,"context_line":"        volume \u003d objects.Volume.get_by_id(ctxt, attachment.volume_id)"},{"line_number":2169,"context_line":"        if attachment.attach_status \u003d\u003d fields.VolumeAttachStatus.RESERVED:"},{"line_number":2170,"context_line":"            self.db.volume_detached(ctxt.elevated(), attachment.volume_id,"},{"line_number":2171,"context_line":"                                    attachment.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0c892b1d","line":2168,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":95,"context_line":"QUOTAS \u003d quota.QUOTAS"},{"line_number":96,"context_line":"AO_LIST \u003d objects.VolumeAttachmentList"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"class API(base.Base):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f8ce8d6","line":96,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachmentList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        if refresh_cache or not enable_cache:"},{"line_number":132,"context_line":"            topic \u003d constants.VOLUME_TOPIC"},{"line_number":133,"context_line":"            ctxt \u003d context.get_admin_context()"},{"line_number":134,"context_line":"            services \u003d objects.ServiceList.get_all_by_topic(ctxt, topic)"},{"line_number":135,"context_line":"            az_data \u003d [(s.availability_zone, s.disabled)"},{"line_number":136,"context_line":"                       for s in services]"},{"line_number":137,"context_line":"            disabled_map \u003d {}"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f89a4c6","line":134,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                source_type.id if source_type else None,"},{"line_number":163,"context_line":"                target_type.id if target_type else None):"},{"line_number":164,"context_line":"            return False"},{"line_number":165,"context_line":"        services \u003d objects.ServiceList.get_all_by_topic("},{"line_number":166,"context_line":"            elevated,"},{"line_number":167,"context_line":"            constants.VOLUME_TOPIC,"},{"line_number":168,"context_line":"            disabled\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfb75088","line":165,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                    self.list_availability_zones(enable_cache\u003dTrue,"},{"line_number":345,"context_line":"                                                 refresh_cache\u003dTrue)"},{"line_number":346,"context_line":"                # Refresh the object here, otherwise things ain\u0027t right"},{"line_number":347,"context_line":"                vref \u003d objects.Volume.get_by_id("},{"line_number":348,"context_line":"                    context, vref[\u0027id\u0027])"},{"line_number":349,"context_line":"                vref.save()"},{"line_number":350,"context_line":"                LOG.info(\"Create volume request issued successfully.\","}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffbc8c6c","line":347,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        # If not we convert it at the start of update method. This check"},{"line_number":533,"context_line":"        # needs to be removed once we have moved to ovo."},{"line_number":534,"context_line":"        if not isinstance(volume, objects_base.CinderObject):"},{"line_number":535,"context_line":"            vol_obj \u003d objects.Volume()"},{"line_number":536,"context_line":"            volume \u003d objects.Volume._from_db_object(context, vol_obj, volume)"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        if volume.status \u003d\u003d \u0027maintenance\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fb1d894","line":535,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":533,"context_line":"        # needs to be removed once we have moved to ovo."},{"line_number":534,"context_line":"        if not isinstance(volume, objects_base.CinderObject):"},{"line_number":535,"context_line":"            vol_obj \u003d objects.Volume()"},{"line_number":536,"context_line":"            volume \u003d objects.Volume._from_db_object(context, vol_obj, volume)"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        if volume.status \u003d\u003d \u0027maintenance\u0027:"},{"line_number":539,"context_line":"            LOG.info(\"Unable to update volume, \""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfb61489","line":536,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":548,"context_line":"        LOG.info(\"Volume updated successfully.\", resource\u003dvolume)"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"    def get(self, context, volume_id, viewable_admin_meta\u003dFalse):"},{"line_number":551,"context_line":"        volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        try:"},{"line_number":554,"context_line":"            context.authorize(vol_policy.GET_POLICY, target_obj\u003dvolume)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fab401e","line":551,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        if context.is_admin and allTenants:"},{"line_number":610,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":611,"context_line":"            del filters[\u0027all_tenants\u0027]"},{"line_number":612,"context_line":"            volumes \u003d objects.VolumeList.get_all(context, marker, limit,"},{"line_number":613,"context_line":"                                                 sort_keys\u003dsort_keys,"},{"line_number":614,"context_line":"                                                 sort_dirs\u003dsort_dirs,"},{"line_number":615,"context_line":"                                                 filters\u003dfilters,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fa87c20","line":612,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        else:"},{"line_number":618,"context_line":"            if viewable_admin_meta:"},{"line_number":619,"context_line":"                context \u003d context.elevated()"},{"line_number":620,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_project("},{"line_number":621,"context_line":"                context, context.project_id, marker, limit,"},{"line_number":622,"context_line":"                sort_keys\u003dsort_keys, sort_dirs\u003dsort_dirs, filters\u003dfilters,"},{"line_number":623,"context_line":"                offset\u003doffset)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fa5c848","line":620,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":634,"context_line":"        all_tenants \u003d utils.get_bool_param(\u0027all_tenants\u0027, filters)"},{"line_number":635,"context_line":"        filters.pop(\u0027all_tenants\u0027, None)"},{"line_number":636,"context_line":"        project_only \u003d not (all_tenants and context.is_admin)"},{"line_number":637,"context_line":"        volumes \u003d objects.VolumeList.get_volume_summary(context, project_only)"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"        LOG.info(\"Get summary completed successfully.\")"},{"line_number":640,"context_line":"        return volumes"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fa20441","line":637,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        return volumes"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def get_snapshot(self, context, snapshot_id):"},{"line_number":643,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(context, snapshot_id)"},{"line_number":644,"context_line":"        context.authorize(snapshot_policy.GET_POLICY, target_obj\u003dsnapshot)"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        # FIXME(jdg): The objects don\u0027t have the db name entries"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df5c305a","line":643,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":651,"context_line":"        return snapshot"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def get_volume(self, context, volume_id):"},{"line_number":654,"context_line":"        volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":655,"context_line":"        context.authorize(vol_policy.GET_POLICY, target_obj\u003dvolume)"},{"line_number":656,"context_line":"        LOG.info(\"Volume retrieved successfully.\", resource\u003dvolume)"},{"line_number":657,"context_line":"        return volume"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff61ec11","line":654,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        if context.is_admin and \u0027all_tenants\u0027 in search_opts:"},{"line_number":667,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":668,"context_line":"            del search_opts[\u0027all_tenants\u0027]"},{"line_number":669,"context_line":"            snapshots \u003d objects.SnapshotList.get_all("},{"line_number":670,"context_line":"                context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":671,"context_line":"                offset)"},{"line_number":672,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f66b828","line":669,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":671,"context_line":"                offset)"},{"line_number":672,"context_line":"        else:"},{"line_number":673,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_by_project("},{"line_number":674,"context_line":"                context, context.project_id, search_opts, marker, limit,"},{"line_number":675,"context_line":"                sort_keys, sort_dirs, offset)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf6b74ee","line":673,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":847,"context_line":"        # because only the volume\u0027s host is passed and only capacity is"},{"line_number":848,"context_line":"        # validated in the scheduler now."},{"line_number":849,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot.id,"},{"line_number":850,"context_line":"                  \u0027volume_properties\u0027: objects.VolumeProperties("},{"line_number":851,"context_line":"                      size\u003dvolume.size)}"},{"line_number":852,"context_line":"        self.scheduler_rpcapi.create_snapshot(context, volume, snapshot,"},{"line_number":853,"context_line":"                                              volume.service_topic_queue,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f7020dc","line":850,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeProperties\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":851,"context_line":"                      size\u003dvolume.size)}"},{"line_number":852,"context_line":"        self.scheduler_rpcapi.create_snapshot(context, volume, snapshot,"},{"line_number":853,"context_line":"                                              volume.service_topic_queue,"},{"line_number":854,"context_line":"                                              objects.RequestSpec(**kwargs))"},{"line_number":855,"context_line":"        return snapshot"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"    def create_snapshot_in_db(self, context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f6ddcff","line":854,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":908,"context_line":"                \u0027encryption_key_id\u0027: volume[\u0027encryption_key_id\u0027],"},{"line_number":909,"context_line":"                \u0027metadata\u0027: metadata or {}"},{"line_number":910,"context_line":"            }"},{"line_number":911,"context_line":"            snapshot \u003d objects.Snapshot(context\u003dcontext, **kwargs)"},{"line_number":912,"context_line":"            snapshot.create()"},{"line_number":913,"context_line":"            volume.refresh()"},{"line_number":914,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f7aa8ba","line":911,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":955,"context_line":""},{"line_number":956,"context_line":"        try:"},{"line_number":957,"context_line":"            for options in options_list:"},{"line_number":958,"context_line":"                snapshot \u003d objects.Snapshot(context\u003dcontext, **options)"},{"line_number":959,"context_line":"                snapshot.create()"},{"line_number":960,"context_line":"                snapshot_list.append(snapshot)"},{"line_number":961,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f7764d4","line":958,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1466,"context_line":"        # a host or any service from a cluster that is up, which means that the"},{"line_number":1467,"context_line":"        # cluster itself is also up."},{"line_number":1468,"context_line":"        try:"},{"line_number":1469,"context_line":"            svc \u003d objects.Service.get_by_id(elevated, None, is_up\u003dTrue,"},{"line_number":1470,"context_line":"                                            topic\u003dconstants.VOLUME_TOPIC,"},{"line_number":1471,"context_line":"                                            host\u003dsvc_host, disabled\u003dFalse,"},{"line_number":1472,"context_line":"                                            cluster_name\u003dsvc_cluster,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df451074","line":1469,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1677,"context_line":"        filters \u003d [db.volume_qos_allows_retype(new_type_id)]"},{"line_number":1678,"context_line":""},{"line_number":1679,"context_line":"        updates \u003d {\u0027status\u0027: \u0027retyping\u0027,"},{"line_number":1680,"context_line":"                   \u0027previous_status\u0027: objects.Volume.model.status}"},{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        if not volume.conditional_update(updates, expected, filters):"},{"line_number":1683,"context_line":"            msg \u003d _(\u0027Retype needs volume to be in available or in-use state, \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff4a4c80","line":1680,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1723,"context_line":"        # a host or any service that is up from a cluster, which means that the"},{"line_number":1724,"context_line":"        # cluster itself is also up."},{"line_number":1725,"context_line":"        try:"},{"line_number":1726,"context_line":"            service \u003d objects.Service.get_by_id(elevated, None, host\u003dsvc_host,"},{"line_number":1727,"context_line":"                                                binary\u003dconstants.VOLUME_BINARY,"},{"line_number":1728,"context_line":"                                                cluster_name\u003dsvc_cluster)"},{"line_number":1729,"context_line":"        except exception.ServiceNotFound:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f3f98de","line":1726,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1833,"context_line":"                                                     commit_quota\u003dTrue)"},{"line_number":1834,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot_object.id,"},{"line_number":1835,"context_line":"                  \u0027volume_properties\u0027:"},{"line_number":1836,"context_line":"                      objects.VolumeProperties(size\u003dvolume.size)}"},{"line_number":1837,"context_line":"        self.scheduler_rpcapi.manage_existing_snapshot("},{"line_number":1838,"context_line":"            context, volume, snapshot_object, ref,"},{"line_number":1839,"context_line":"            request_spec\u003dobjects.RequestSpec(**kwargs))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf44d474","line":1836,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeProperties\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1836,"context_line":"                      objects.VolumeProperties(size\u003dvolume.size)}"},{"line_number":1837,"context_line":"        self.scheduler_rpcapi.manage_existing_snapshot("},{"line_number":1838,"context_line":"            context, volume, snapshot_object, ref,"},{"line_number":1839,"context_line":"            request_spec\u003dobjects.RequestSpec(**kwargs))"},{"line_number":1840,"context_line":"        return snapshot_object"},{"line_number":1841,"context_line":""},{"line_number":1842,"context_line":"    def get_manageable_snapshots(self, context, host, cluster_name,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f59005a","line":1839,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":"    def _get_cluster_and_services_for_replication(self, ctxt, host,"},{"line_number":1853,"context_line":"                                                  cluster_name):"},{"line_number":1854,"context_line":"        services \u003d objects.ServiceList.get_all("},{"line_number":1855,"context_line":"            ctxt, filters\u003d{\u0027host\u0027: host, \u0027cluster_name\u0027: cluster_name,"},{"line_number":1856,"context_line":"                           \u0027binary\u0027: constants.VOLUME_BINARY})"},{"line_number":1857,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f563c2e","line":1854,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ServiceList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2077,"context_line":"                # Refresh the volume reference in case multiple instances were"},{"line_number":2078,"context_line":"                # being concurrently attached to the same non-multiattach"},{"line_number":2079,"context_line":"                # volume."},{"line_number":2080,"context_line":"                vref \u003d objects.Volume.get_by_id(ctxt, vref.id)"},{"line_number":2081,"context_line":"                for attachment in vref.volume_attachment:"},{"line_number":2082,"context_line":"                    # If we\u0027re attaching the same volume to the same instance,"},{"line_number":2083,"context_line":"                    # we could be migrating the instance to another host in"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f53883c","line":2080,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2098,"context_line":"                  \u0027attach_status\u0027: \u0027reserved\u0027,"},{"line_number":2099,"context_line":"                  \u0027instance_uuid\u0027: instance_uuid}"},{"line_number":2100,"context_line":"        db_ref \u003d self.db.volume_attach(ctxt.elevated(), values)"},{"line_number":2101,"context_line":"        return objects.VolumeAttachment.get_by_id(ctxt, db_ref[\u0027id\u0027])"},{"line_number":2102,"context_line":""},{"line_number":2103,"context_line":"    def attachment_create(self,"},{"line_number":2104,"context_line":"                          ctxt,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f50c42c","line":2101,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2152,"context_line":""},{"line_number":2153,"context_line":"        ctxt.authorize(attachment_policy.UPDATE_POLICY,"},{"line_number":2154,"context_line":"                       target_obj\u003dattachment_ref)"},{"line_number":2155,"context_line":"        volume_ref \u003d objects.Volume.get_by_id(ctxt, attachment_ref.volume_id)"},{"line_number":2156,"context_line":"        connection_info \u003d ("},{"line_number":2157,"context_line":"            self.volume_rpcapi.attachment_update(ctxt,"},{"line_number":2158,"context_line":"                                                 volume_ref,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df2af095","line":2155,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2165,"context_line":"    def attachment_delete(self, ctxt, attachment):"},{"line_number":2166,"context_line":"        ctxt.authorize(attachment_policy.DELETE_POLICY,"},{"line_number":2167,"context_line":"                       target_obj\u003dattachment)"},{"line_number":2168,"context_line":"        volume \u003d objects.Volume.get_by_id(ctxt, attachment.volume_id)"},{"line_number":2169,"context_line":"        if attachment.attach_status \u003d\u003d fields.VolumeAttachStatus.RESERVED:"},{"line_number":2170,"context_line":"            self.db.volume_detached(ctxt.elevated(), attachment.volume_id,"},{"line_number":2171,"context_line":"                                    attachment.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff2faca3","line":2168,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"95339c212c275be13c9e2df9f5d24248fe32bc22","unresolved":false,"context_lines":[{"line_number":2218,"context_line":"        # Build required conditions for conditional update"},{"line_number":2219,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027in-use\u0027, \u0027reserved\u0027"},{"line_number":2220,"context_line":"                               ) if ignore_in_use else \u0027available\u0027}"},{"line_number":2221,"context_line":"        values \u003d {\u0027status\u0027: \u0027reimaging\u0027,"},{"line_number":2222,"context_line":"                  \u0027previous_status\u0027: volume.model.status}"},{"line_number":2223,"context_line":""},{"line_number":2224,"context_line":"        result \u003d volume.conditional_update(values, expected)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_63fe533a","line":2221,"updated":"2018-10-23 14:42:26.000000000","message":"\u0027reimaging\u0027 isn\u0027t a defined volume status in our VolumeStatus object.\n\nBut, do we need a new status?\n\nIs this fundamentally different from the \"downloading\" status?","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"e040b8f7f909e4a98323ba094146dfe24667a8b0","unresolved":false,"context_lines":[{"line_number":2218,"context_line":"        # Build required conditions for conditional update"},{"line_number":2219,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027in-use\u0027, \u0027reserved\u0027"},{"line_number":2220,"context_line":"                               ) if ignore_in_use else \u0027available\u0027}"},{"line_number":2221,"context_line":"        values \u003d {\u0027status\u0027: \u0027reimaging\u0027,"},{"line_number":2222,"context_line":"                  \u0027previous_status\u0027: volume.model.status}"},{"line_number":2223,"context_line":""},{"line_number":2224,"context_line":"        result \u003d volume.conditional_update(values, expected)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_4801c86c","line":2221,"in_reply_to":"3f79a3b5_63fe533a","updated":"2018-10-26 01:35:13.000000000","message":"OK, I think downloading it\u0027s okay in here.","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"95339c212c275be13c9e2df9f5d24248fe32bc22","unresolved":false,"context_lines":[{"line_number":2223,"context_line":""},{"line_number":2224,"context_line":"        result \u003d volume.conditional_update(values, expected)"},{"line_number":2225,"context_line":"        if not result:"},{"line_number":2226,"context_line":"            msg \u003d (_(\u0027Volume %(vol_id)s status must be %(statuses)s.\u0027) %"},{"line_number":2227,"context_line":"                   {\u0027vol_id\u0027: volume.id,"},{"line_number":2228,"context_line":"                    \u0027statuses\u0027: utils.build_or_str(expected[\u0027status\u0027])})"},{"line_number":2229,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_e3b82379","line":2226,"updated":"2018-10-23 14:42:26.000000000","message":"Please also show what the current status is in this message.","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"e040b8f7f909e4a98323ba094146dfe24667a8b0","unresolved":false,"context_lines":[{"line_number":2223,"context_line":""},{"line_number":2224,"context_line":"        result \u003d volume.conditional_update(values, expected)"},{"line_number":2225,"context_line":"        if not result:"},{"line_number":2226,"context_line":"            msg \u003d (_(\u0027Volume %(vol_id)s status must be %(statuses)s.\u0027) %"},{"line_number":2227,"context_line":"                   {\u0027vol_id\u0027: volume.id,"},{"line_number":2228,"context_line":"                    \u0027statuses\u0027: utils.build_or_str(expected[\u0027status\u0027])})"},{"line_number":2229,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_68060488","line":2226,"in_reply_to":"3f79a3b5_e3b82379","updated":"2018-10-26 01:35:13.000000000","message":"Done","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a16c6ff5ab8c2a3ee8aa8898e630de5d5572ea00","unresolved":false,"context_lines":[{"line_number":2216,"context_line":"        return remaining_attachments"},{"line_number":2217,"context_line":""},{"line_number":2218,"context_line":"    def reimage(self, context, volume, image_id, ignore_in_use\u003dFalse):"},{"line_number":2219,"context_line":"        if volume.status in [\u0027in-use\u0027, \u0027reserved\u0027]:"},{"line_number":2220,"context_line":"            context.authorize(vol_action_policy.REIMAGE_IN_USE_POLICY,"},{"line_number":2221,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2222,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_4dc88c75","line":2219,"range":{"start_line":2219,"start_character":29,"end_line":2219,"end_character":37},"updated":"2018-10-31 10:07:03.000000000","message":"i think this can be removed for now and added when the multiattach checks will be applied in the advance implementation","commit_id":"9704874d3ed69da3f7c3280d493bf9ab19f68d8f"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":2216,"context_line":"        return remaining_attachments"},{"line_number":2217,"context_line":""},{"line_number":2218,"context_line":"    def reimage(self, context, volume, image_id, ignore_in_use\u003dFalse):"},{"line_number":2219,"context_line":"        if volume.status in [\u0027in-use\u0027, \u0027reserved\u0027]:"},{"line_number":2220,"context_line":"            context.authorize(vol_action_policy.REIMAGE_IN_USE_POLICY,"},{"line_number":2221,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2222,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_f18e8631","line":2219,"range":{"start_line":2219,"start_character":29,"end_line":2219,"end_character":37},"in_reply_to":"3f79a3b5_4dc88c75","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"9704874d3ed69da3f7c3280d493bf9ab19f68d8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a16c6ff5ab8c2a3ee8aa8898e630de5d5572ea00","unresolved":false,"context_lines":[{"line_number":2223,"context_line":"            context.authorize(vol_action_policy.REIMAGE_POLICY,"},{"line_number":2224,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2225,"context_line":"        # Build required conditions for conditional update"},{"line_number":2226,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027, \u0027in-use\u0027, \u0027reserved\u0027"},{"line_number":2227,"context_line":"                               ) if ignore_in_use else (\u0027available\u0027, \u0027error\u0027)}"},{"line_number":2228,"context_line":"        values \u003d {\u0027status\u0027: \u0027downloading\u0027,"},{"line_number":2229,"context_line":"                  \u0027previous_status\u0027: volume.model.status}"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_6dc5485d","line":2226,"range":{"start_line":2226,"start_character":53,"end_line":2226,"end_character":61},"updated":"2018-10-31 10:07:03.000000000","message":"ditto","commit_id":"9704874d3ed69da3f7c3280d493bf9ab19f68d8f"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":2223,"context_line":"            context.authorize(vol_action_policy.REIMAGE_POLICY,"},{"line_number":2224,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2225,"context_line":"        # Build required conditions for conditional update"},{"line_number":2226,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027, \u0027in-use\u0027, \u0027reserved\u0027"},{"line_number":2227,"context_line":"                               ) if ignore_in_use else (\u0027available\u0027, \u0027error\u0027)}"},{"line_number":2228,"context_line":"        values \u003d {\u0027status\u0027: \u0027downloading\u0027,"},{"line_number":2229,"context_line":"                  \u0027previous_status\u0027: volume.model.status}"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_118c6237","line":2226,"range":{"start_line":2226,"start_character":53,"end_line":2226,"end_character":61},"in_reply_to":"3f79a3b5_6dc5485d","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"9704874d3ed69da3f7c3280d493bf9ab19f68d8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"42cd09de0eabc77648bd5b013912e3f3d9936a4f","unresolved":false,"context_lines":[{"line_number":2238,"context_line":"        return remaining_attachments"},{"line_number":2239,"context_line":""},{"line_number":2240,"context_line":"    def reimage(self, context, volume, image_id, ignore_reserved\u003dFalse):"},{"line_number":2241,"context_line":"        if volume.status in [\u0027in-use\u0027, \u0027reserved\u0027]:"},{"line_number":2242,"context_line":"            context.authorize(vol_action_policy.REIMAGE_RESERVED_POLICY,"},{"line_number":2243,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2244,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":26,"id":"5fc1f717_c7d0ef2e","line":2241,"range":{"start_line":2241,"start_character":29,"end_line":2241,"end_character":38},"updated":"2019-04-01 10:48:57.000000000","message":"why are we checking in-use here?","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ead44ac54ab461ce86428815983e737208d77673","unresolved":false,"context_lines":[{"line_number":2249,"context_line":"                    \" one server.\")"},{"line_number":2250,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":2251,"context_line":"        # Build required conditions for conditional update"},{"line_number":2252,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027, \u0027reserved\u0027"},{"line_number":2253,"context_line":"                               ) if ignore_reserved else (\u0027available\u0027,"},{"line_number":2254,"context_line":"                                                          \u0027error\u0027)}"},{"line_number":2255,"context_line":"        values \u003d {\u0027status\u0027: \u0027downloading\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5fc1f717_538cdc2d","line":2252,"updated":"2019-03-29 14:03:45.000000000","message":"-1: Why is \"error\" considered a valid state here?\n\nTrying to make this work when the volumes are in \"error\" state seems like it will cause a world of problems.  You end up calling copy_image_to_volume on a volume that might not even exist, so attach will fail, etc.\n\nThe spec says \"error\" is acceptable but didn\u0027t say anything about why this design choice was made -- if there is a case where this makes sense, I\u0027d suggest skipping it for the first implementation of this functionality.","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"9e5ca493bf64464fd26bc5fbfb5771d9cac6e248","unresolved":false,"context_lines":[{"line_number":2249,"context_line":"                    \" one server.\")"},{"line_number":2250,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":2251,"context_line":"        # Build required conditions for conditional update"},{"line_number":2252,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027, \u0027reserved\u0027"},{"line_number":2253,"context_line":"                               ) if ignore_reserved else (\u0027available\u0027,"},{"line_number":2254,"context_line":"                                                          \u0027error\u0027)}"},{"line_number":2255,"context_line":"        values \u003d {\u0027status\u0027: \u0027downloading\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5fc1f717_40b5d37d","line":2252,"in_reply_to":"5fc1f717_538cdc2d","updated":"2019-03-30 09:35:18.000000000","message":"We have some discussion on error state in [1], the main reason is if we failed to reimage an available volume, then we need admin privileges to change the status of the volume to available before we can retry.\n\nSo do you think it\u0027s okay if we check the host field before we do reimage action? Or we can also not support error state volume reimage in first version. :)\n\n[1] https://review.openstack.org/#/c/605317/8..9/specs/stein/add-volume-re-image-api.rst@52","commit_id":"88ab9a69b2b369b713d308d1697e9517d396b919"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ad66b5467c646f7993a306a09b34cbb9f3695702","unresolved":false,"context_lines":[{"line_number":2319,"context_line":"                    \" one server.\")"},{"line_number":2320,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":2321,"context_line":"        # Build required conditions for conditional update"},{"line_number":2322,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027, \u0027reserved\u0027"},{"line_number":2323,"context_line":"                               ) if ignore_reserved else (\u0027available\u0027,"},{"line_number":2324,"context_line":"                                                          \u0027error\u0027)}"},{"line_number":2325,"context_line":"        values \u003d {\u0027status\u0027: \u0027downloading\u0027,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9f560f44_1512bf62","line":2322,"range":{"start_line":2322,"start_character":44,"end_line":2322,"end_character":51},"updated":"2020-08-05 14:38:56.000000000","message":"I don\u0027t think \"error\" is generally going to work here.","commit_id":"ccb1723e5c043c8073075c4d28e15e4069d51619"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":2538,"context_line":"            context.authorize(vol_action_policy.REIMAGE_POLICY,"},{"line_number":2539,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2540,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":2541,"context_line":"            msg \u003d _(\"Can not re-image a volume which is attached to more than\""},{"line_number":2542,"context_line":"                    \" one server.\")"},{"line_number":2543,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":2544,"context_line":"        # Build required conditions for conditional update"}],"source_content_type":"text/x-python","patch_set":37,"id":"24a8d549_1549b39f","line":2541,"range":{"start_line":2541,"start_character":21,"end_line":2541,"end_character":28},"updated":"2022-02-24 03:45:26.000000000","message":"Cannot","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":2538,"context_line":"            context.authorize(vol_action_policy.REIMAGE_POLICY,"},{"line_number":2539,"context_line":"                              target_obj\u003dvolume)"},{"line_number":2540,"context_line":"        if len(volume.volume_attachment) \u003e 1:"},{"line_number":2541,"context_line":"            msg \u003d _(\"Can not re-image a volume which is attached to more than\""},{"line_number":2542,"context_line":"                    \" one server.\")"},{"line_number":2543,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":2544,"context_line":"        # Build required conditions for conditional update"}],"source_content_type":"text/x-python","patch_set":37,"id":"cd8cd881_bb1a93e5","line":2541,"range":{"start_line":2541,"start_character":21,"end_line":2541,"end_character":28},"in_reply_to":"24a8d549_1549b39f","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"}],"cinder/volume/manager.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":111,"context_line":"VALID_CREATE_GROUP_SRC_SNAP_STATUS \u003d (fields.SnapshotStatus.AVAILABLE,)"},{"line_number":112,"context_line":"VALID_CREATE_CG_SRC_CG_STATUS \u003d (\u0027available\u0027,)"},{"line_number":113,"context_line":"VALID_CREATE_GROUP_SRC_GROUP_STATUS \u003d (\u0027available\u0027,)"},{"line_number":114,"context_line":"VA_LIST \u003d objects.VolumeAttachmentList"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"volume_manager_opts \u003d ["},{"line_number":117,"context_line":"    cfg.IntOpt(\u0027migration_create_volume_timeout_secs\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e1cf1826","line":114,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachmentList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        host \u003d host or self.host"},{"line_number":186,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":187,"context_line":"        svc_host \u003d vol_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":188,"context_line":"        return objects.Service.get_by_args(ctxt, svc_host, binary)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def __init__(self, volume_driver\u003dNone, service_name\u003dNone,"},{"line_number":191,"context_line":"                 *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_81d424be","line":188,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        if self.configuration.suppress_requests_ssl_warnings:"},{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a1d120cd","line":234,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        if self.configuration.suppress_requests_ssl_warnings:"},{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41de0cdc","line":235,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_61db08ea","line":236,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"},{"line_number":240,"context_line":"        self.driver \u003d importutils.import_object("}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_01ea5476","line":237,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        LOG.info(\u0027Including all resources from host %(host)s in cluster \u0027"},{"line_number":391,"context_line":"                 \u0027%(cluster)s.\u0027,"},{"line_number":392,"context_line":"                 {\u0027host\u0027: self.host, \u0027cluster\u0027: self.cluster})"},{"line_number":393,"context_line":"        num_vols \u003d objects.VolumeList.include_in_cluster("},{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_21ef5087","line":393,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":392,"context_line":"                 {\u0027host\u0027: self.host, \u0027cluster\u0027: self.cluster})"},{"line_number":393,"context_line":"        num_vols \u003d objects.VolumeList.include_in_cluster("},{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":397,"context_line":"        num_gs \u003d objects.GroupList.include_in_cluster("},{"line_number":398,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c1e3fc9f","line":395,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ConsistencyGroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":397,"context_line":"        num_gs \u003d objects.GroupList.include_in_cluster("},{"line_number":398,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":399,"context_line":"        num_cache \u003d db.image_volume_cache_include_in_cluster("},{"line_number":400,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e1e8787c","line":397,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                           \u0027id\u0027: self.driver.__class__.__name__})"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    def _do_cleanup(self, ctxt, vo_resource):"},{"line_number":549,"context_line":"        if isinstance(vo_resource, objects.Volume):"},{"line_number":550,"context_line":"            if vo_resource.status \u003d\u003d \u0027downloading\u0027:"},{"line_number":551,"context_line":"                self.driver.clear_download(ctxt, vo_resource)"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_81fd043e","line":549,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":593,"context_line":"            resource.host \u003d vol_utils.append_host(self.host, pool)"},{"line_number":594,"context_line":"            resource.save()"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"    @objects.Volume.set_workers"},{"line_number":597,"context_line":"    def create_volume(self, context, volume, request_spec\u003dNone,"},{"line_number":598,"context_line":"                      filter_properties\u003dNone, allow_reschedule\u003dTrue):"},{"line_number":599,"context_line":"        \"\"\"Creates the volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a1fa8041","line":596,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":614,"context_line":"            filter_properties \u003d {}"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"        if request_spec is None:"},{"line_number":617,"context_line":"            request_spec \u003d objects.RequestSpec()"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        try:"},{"line_number":620,"context_line":"            # NOTE(flaper87): Driver initialization is"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41f7ec5b","line":617,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":713,"context_line":"                raise exception.Invalid(msg)"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"    @coordination.synchronized(\u0027{volume.id}-{f_name}\u0027)"},{"line_number":716,"context_line":"    @objects.Volume.set_workers"},{"line_number":717,"context_line":"    def delete_volume(self, context, volume, unmanage_only\u003dFalse,"},{"line_number":718,"context_line":"                      cascade\u003dFalse):"},{"line_number":719,"context_line":"        \"\"\"Deletes and unexports volume."}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_61f46856","line":716,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":795,"context_line":"                self.driver.unmanage(volume)"},{"line_number":796,"context_line":"            elif cascade:"},{"line_number":797,"context_line":"                LOG.debug(\u0027Performing cascade delete.\u0027)"},{"line_number":798,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_for_volume(context,"},{"line_number":799,"context_line":"                                                                    volume.id)"},{"line_number":800,"context_line":"                for s in snapshots:"},{"line_number":801,"context_line":"                    if s.status !\u003d fields.SnapshotStatus.DELETING:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_018fb4d3","line":798,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":951,"context_line":"            \u0027encryption_key_id\u0027: volume.encryption_key_id,"},{"line_number":952,"context_line":"            \u0027metadata\u0027: {}"},{"line_number":953,"context_line":"        }"},{"line_number":954,"context_line":"        snapshot \u003d objects.Snapshot(context\u003dcontext, **kwargs)"},{"line_number":955,"context_line":"        snapshot.create()"},{"line_number":956,"context_line":"        self.create_snapshot(context, snapshot)"},{"line_number":957,"context_line":"        return snapshot"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_219430e7","line":954,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1043,"context_line":"        self._notify_about_volume_usage(context, volume, \"revert.end\")"},{"line_number":1044,"context_line":"        self._notify_about_snapshot_usage(context, snapshot, \"revert.end\")"},{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"    @objects.Snapshot.set_workers"},{"line_number":1047,"context_line":"    def create_snapshot(self, context, snapshot):"},{"line_number":1048,"context_line":"        \"\"\"Creates and exports the snapshot.\"\"\""},{"line_number":1049,"context_line":"        context \u003d context.elevated()"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c198dc1b","line":1046,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"        if volume is None:"},{"line_number":1185,"context_line":"            # For older clients, mimic the old behavior and look"},{"line_number":1186,"context_line":"            # up the volume by its volume_id."},{"line_number":1187,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1188,"context_line":"        # Get admin_metadata. This needs admin context."},{"line_number":1189,"context_line":"        with volume.obj_as_admin():"},{"line_number":1190,"context_line":"            volume_metadata \u003d volume.admin_metadata"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e19dd809","line":1187,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1281,"context_line":"        if volume is None:"},{"line_number":1282,"context_line":"            # For older clients, mimic the old behavior and look up the volume"},{"line_number":1283,"context_line":"            # by its volume_id."},{"line_number":1284,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        if attachment_id:"},{"line_number":1287,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8182e4a5","line":1284,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        if attachment_id:"},{"line_number":1287,"context_line":"            try:"},{"line_number":1288,"context_line":"                attachment \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":1289,"context_line":"                                                                attachment_id)"},{"line_number":1290,"context_line":"            except exception.VolumeAttachmentNotFound:"},{"line_number":1291,"context_line":"                LOG.info(\"Volume detach called, but volume not attached.\","}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a17fe0ba","line":1288,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1429,"context_line":"            new_vol_values[\u0027source_volid\u0027] \u003d volume.id"},{"line_number":1430,"context_line":""},{"line_number":1431,"context_line":"            LOG.debug(\u0027Creating image volume entry: %s.\u0027, new_vol_values)"},{"line_number":1432,"context_line":"            image_volume \u003d objects.Volume(context\u003dctx, **new_vol_values)"},{"line_number":1433,"context_line":"            image_volume.create()"},{"line_number":1434,"context_line":"        except Exception as ex:"},{"line_number":1435,"context_line":"            LOG.exception(\u0027Create clone_image_volume: %(volume_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_418cccd7","line":1432,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1532,"context_line":"        payload \u003d {\u0027volume_id\u0027: volume_id, \u0027image_id\u0027: image_meta[\u0027id\u0027]}"},{"line_number":1533,"context_line":"        image_service \u003d None"},{"line_number":1534,"context_line":"        try:"},{"line_number":1535,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"            # NOTE(flaper87): Verify the driver is enabled"},{"line_number":1538,"context_line":"            # before going forward. The exception will be caught"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6189c8c5","line":1535,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1743,"context_line":""},{"line_number":1744,"context_line":"    def initialize_connection_snapshot(self, ctxt, snapshot_id, connector):"},{"line_number":1745,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1746,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1747,"context_line":"        try:"},{"line_number":1748,"context_line":"            self.driver.validate_connector(connector)"},{"line_number":1749,"context_line":"        except exception.InvalidConnectorException as err:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_01b81476","line":1746,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1827,"context_line":"                                      connector, force\u003dFalse):"},{"line_number":1828,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1829,"context_line":""},{"line_number":1830,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1831,"context_line":"        try:"},{"line_number":1832,"context_line":"            self.driver.terminate_connection_snapshot(snapshot, connector,"},{"line_number":1833,"context_line":"                                                      force\u003dforce)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_21bd1067","line":1830,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"    def remove_export_snapshot(self, ctxt, snapshot_id):"},{"line_number":1857,"context_line":"        \"\"\"Removes an export for a snapshot.\"\"\""},{"line_number":1858,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1859,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1860,"context_line":"        try:"},{"line_number":1861,"context_line":"            self.driver.remove_export_snapshot(ctxt, snapshot)"},{"line_number":1862,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c1b1bc93","line":1859,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2084,"context_line":"                new_vol_values[\u0027encryption_key_id\u0027] \u003d encryption_key_id"},{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"        dst_service \u003d self._get_service(backend[\u0027host\u0027])"},{"line_number":2087,"context_line":"        new_volume \u003d objects.Volume("},{"line_number":2088,"context_line":"            context\u003dctxt,"},{"line_number":2089,"context_line":"            host\u003dbackend[\u0027host\u0027],"},{"line_number":2090,"context_line":"            availability_zone\u003ddst_service.availability_zone,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e1b6388a","line":2087,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2447,"context_line":"                if volume_stats.get(\u0027replication_status\u0027) \u003d\u003d ("},{"line_number":2448,"context_line":"                        fields.ReplicationStatus.ERROR):"},{"line_number":2449,"context_line":"                    filters \u003d self._get_cluster_or_host_filters()"},{"line_number":2450,"context_line":"                    groups \u003d objects.GroupList.get_all_replicated("},{"line_number":2451,"context_line":"                        context, filters\u003dfilters)"},{"line_number":2452,"context_line":"                    group_model_updates, volume_model_updates \u003d ("},{"line_number":2453,"context_line":"                        self.driver.get_replication_error_status(context,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_81abc41d","line":2450,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2454,"context_line":"                                                                 groups))"},{"line_number":2455,"context_line":"                    for grp_update in group_model_updates:"},{"line_number":2456,"context_line":"                        try:"},{"line_number":2457,"context_line":"                            grp_obj \u003d objects.Group.get_by_id("},{"line_number":2458,"context_line":"                                context, grp_update[\u0027group_id\u0027])"},{"line_number":2459,"context_line":"                            grp_obj.update(grp_update)"},{"line_number":2460,"context_line":"                            grp_obj.save()"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a1a84021","line":2457,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Group\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2469,"context_line":"                                            \u0027id\u0027: grp_update[\u0027group_id\u0027]})"},{"line_number":2470,"context_line":"                    for vol_update in volume_model_updates:"},{"line_number":2471,"context_line":"                        try:"},{"line_number":2472,"context_line":"                            vol_obj \u003d objects.Volume.get_by_id("},{"line_number":2473,"context_line":"                                context, vol_update[\u0027volume_id\u0027])"},{"line_number":2474,"context_line":"                            vol_obj.update(vol_update)"},{"line_number":2475,"context_line":"                            vol_obj.save()"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41a5ac47","line":2472,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2571,"context_line":"            extra_usage_info\u003dextra_usage_info, host\u003dself.host)"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"        if not volumes:"},{"line_number":2574,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":2575,"context_line":"                context, group.id)"},{"line_number":2576,"context_line":"        if volumes:"},{"line_number":2577,"context_line":"            for volume in volumes:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_61a22842","line":2574,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2590,"context_line":"            extra_usage_info\u003dextra_usage_info, host\u003dself.host)"},{"line_number":2591,"context_line":""},{"line_number":2592,"context_line":"        if not snapshots:"},{"line_number":2593,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":2594,"context_line":"                context, group_snapshot.id)"},{"line_number":2595,"context_line":"        if snapshots:"},{"line_number":2596,"context_line":"            for snapshot in snapshots:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_015d7453","line":2593,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2772,"context_line":"                msg \u003d _(\"Retype requires migration but is not allowed.\")"},{"line_number":2773,"context_line":"                raise exception.VolumeMigrationFailed(reason\u003dmsg)"},{"line_number":2774,"context_line":""},{"line_number":2775,"context_line":"            snaps \u003d objects.SnapshotList.get_all_for_volume(context,"},{"line_number":2776,"context_line":"                                                            volume.id)"},{"line_number":2777,"context_line":"            if snaps:"},{"line_number":2778,"context_line":"                _retype_error(context, volume, old_reservations,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2162f016","line":2775,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2902,"context_line":"        return getattr(ovo_class_list, \u0027get_all\u0027)(ctxt, filters\u003dfilters)"},{"line_number":2903,"context_line":""},{"line_number":2904,"context_line":"    def _get_my_volumes(self, ctxt):"},{"line_number":2905,"context_line":"        return self._get_my_resources(ctxt, objects.VolumeList)"},{"line_number":2906,"context_line":""},{"line_number":2907,"context_line":"    def _get_my_snapshots(self, ctxt):"},{"line_number":2908,"context_line":"        return self._get_my_resources(ctxt, objects.SnapshotList)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c1669c29","line":2905,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2905,"context_line":"        return self._get_my_resources(ctxt, objects.VolumeList)"},{"line_number":2906,"context_line":""},{"line_number":2907,"context_line":"    def _get_my_snapshots(self, ctxt):"},{"line_number":2908,"context_line":"        return self._get_my_resources(ctxt, objects.SnapshotList)"},{"line_number":2909,"context_line":""},{"line_number":2910,"context_line":"    def get_manageable_volumes(self, ctxt, marker, limit, offset, sort_keys,"},{"line_number":2911,"context_line":"                               sort_dirs, want_objects\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e16b98ed","line":2908,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2921,"context_line":"            driver_entries \u003d self.driver.get_manageable_volumes("},{"line_number":2922,"context_line":"                cinder_volumes, marker, limit, offset, sort_keys, sort_dirs)"},{"line_number":2923,"context_line":"            if want_objects:"},{"line_number":2924,"context_line":"                driver_entries \u003d (objects.ManageableVolumeList."},{"line_number":2925,"context_line":"                                  from_primitives(ctxt, driver_entries))"},{"line_number":2926,"context_line":"        except Exception:"},{"line_number":2927,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8170a4dd","line":2924,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ManageableVolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":2997,"context_line":"        snapshots \u003d None"},{"line_number":2998,"context_line":"        source_vols \u003d None"},{"line_number":2999,"context_line":"        try:"},{"line_number":3000,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_generic_group(context,"},{"line_number":3001,"context_line":"                                                                  group.id)"},{"line_number":3002,"context_line":"            if group_snapshot:"},{"line_number":3003,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a16da002","line":3000,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3012,"context_line":"                    raise"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"                source_name \u003d _(\"snapshot-%s\") % group_snapshot.id"},{"line_number":3015,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3016,"context_line":"                    context, group_snapshot.id)"},{"line_number":3017,"context_line":"                for snap in snapshots:"},{"line_number":3018,"context_line":"                    if (snap.status not in"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_417a8cbb","line":3015,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3039,"context_line":"                    raise"},{"line_number":3040,"context_line":""},{"line_number":3041,"context_line":"                source_name \u003d _(\"group-%s\") % source_group.id"},{"line_number":3042,"context_line":"                source_vols \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":3043,"context_line":"                    context, source_group.id)"},{"line_number":3044,"context_line":"                for source_vol in source_vols:"},{"line_number":3045,"context_line":"                    if (source_vol.status not in"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_617788d3","line":3042,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3252,"context_line":"            snapshot_id \u003d vol.get(\u0027snapshot_id\u0027)"},{"line_number":3253,"context_line":"            source_volid \u003d vol.get(\u0027source_volid\u0027)"},{"line_number":3254,"context_line":"            if snapshot_id:"},{"line_number":3255,"context_line":"                snapshot \u003d objects.Snapshot.get_by_id(context, snapshot_id)"},{"line_number":3256,"context_line":"                orig_vref \u003d self.db.volume_get(context,"},{"line_number":3257,"context_line":"                                               snapshot.volume_id)"},{"line_number":3258,"context_line":"                if orig_vref.bootable:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0146d47f","line":3255,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3260,"context_line":"                    self.db.volume_glance_metadata_copy_to_volume("},{"line_number":3261,"context_line":"                        context, vol[\u0027id\u0027], snapshot_id)"},{"line_number":3262,"context_line":"            if source_volid:"},{"line_number":3263,"context_line":"                source_vol \u003d objects.Volume.get_by_id(context, source_volid)"},{"line_number":3264,"context_line":"                if source_vol.bootable:"},{"line_number":3265,"context_line":"                    update[\u0027bootable\u0027] \u003d True"},{"line_number":3266,"context_line":"                    self.db.volume_glance_metadata_copy_from_volume_to_volume("}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_214bd086","line":3263,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3329,"context_line":"        else:"},{"line_number":3330,"context_line":"            project_id \u003d context.project_id"},{"line_number":3331,"context_line":""},{"line_number":3332,"context_line":"        volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":3333,"context_line":"            context, group.id)"},{"line_number":3334,"context_line":""},{"line_number":3335,"context_line":"        for vol_obj in volumes:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c13f7cdd","line":3332,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"        cgsnap.from_group_snapshot(group_snapshot)"},{"line_number":3477,"context_line":""},{"line_number":3478,"context_line":"        # Populate consistencygroup object"},{"line_number":3479,"context_line":"        grp \u003d objects.Group.get_by_id(ctxt, group_snapshot.group_id)"},{"line_number":3480,"context_line":"        cg, __ \u003d self._convert_group_to_cg(grp, [])"},{"line_number":3481,"context_line":"        cgsnap.consistencygroup \u003d cg"},{"line_number":3482,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e144f875","line":3479,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Group\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3537,"context_line":"            return volumes_ref"},{"line_number":3538,"context_line":"        for add_vol in volumes.split(\u0027,\u0027):"},{"line_number":3539,"context_line":"            try:"},{"line_number":3540,"context_line":"                add_vol_ref \u003d objects.Volume.get_by_id(context, add_vol)"},{"line_number":3541,"context_line":"            except exception.VolumeNotFound:"},{"line_number":3542,"context_line":"                LOG.error(\"Update group \""},{"line_number":3543,"context_line":"                          \"failed to %(op)s volume-%(volume_id)s: \""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8159845d","line":3540,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3669,"context_line":""},{"line_number":3670,"context_line":"        LOG.info(\"GroupSnapshot %s: creating.\", group_snapshot.id)"},{"line_number":3671,"context_line":""},{"line_number":3672,"context_line":"        snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3673,"context_line":"            context, group_snapshot.id)"},{"line_number":3674,"context_line":""},{"line_number":3675,"context_line":"        self._notify_about_group_snapshot_usage("}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a156002b","line":3672,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3713,"context_line":"                    # NOTE(xyang): snapshots is a list of snapshot objects."},{"line_number":3714,"context_line":"                    # snapshots_model_update should be a list of dicts."},{"line_number":3715,"context_line":"                    snap_id \u003d snap_model.pop(\u0027id\u0027)"},{"line_number":3716,"context_line":"                    snap_obj \u003d objects.Snapshot.get_by_id(context, snap_id)"},{"line_number":3717,"context_line":"                    snap_obj.update(snap_model)"},{"line_number":3718,"context_line":"                    snap_obj.save()"},{"line_number":3719,"context_line":"                    if (snap_model[\u0027status\u0027] in ["}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41536c3b","line":3716,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3749,"context_line":"        for snapshot in snapshots:"},{"line_number":3750,"context_line":"            volume_id \u003d snapshot.volume_id"},{"line_number":3751,"context_line":"            snapshot_id \u003d snapshot.id"},{"line_number":3752,"context_line":"            vol_obj \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":3753,"context_line":"            if vol_obj.bootable:"},{"line_number":3754,"context_line":"                try:"},{"line_number":3755,"context_line":"                    self.db.volume_glance_metadata_copy_to_snapshot("}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_6150e82d","line":3752,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3836,"context_line":""},{"line_number":3837,"context_line":"        LOG.info(\"group_snapshot %s: deleting\", group_snapshot.id)"},{"line_number":3838,"context_line":""},{"line_number":3839,"context_line":"        snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3840,"context_line":"            context, group_snapshot.id)"},{"line_number":3841,"context_line":""},{"line_number":3842,"context_line":"        self._notify_about_group_snapshot_usage("}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_012b349b","line":3839,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":3919,"context_line":"            # Get reservations"},{"line_number":3920,"context_line":"            try:"},{"line_number":3921,"context_line":"                reserve_opts \u003d {\u0027snapshots\u0027: -1}"},{"line_number":3922,"context_line":"                volume_ref \u003d objects.Volume.get_by_id(context,"},{"line_number":3923,"context_line":"                                                      snapshot.volume_id)"},{"line_number":3924,"context_line":"                QUOTAS.add_volume_type_opts(context,"},{"line_number":3925,"context_line":"                                            reserve_opts,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_2130b006","line":3922,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4051,"context_line":"            # [{group_id: \u003ccinder-grpid\u003e, updates: {\u0027xxxx\u0027: xxxx....}},"},{"line_number":4052,"context_line":"            #  {group_id: \u003ccinder-grpid\u003e, updates: {\u0027xxxx\u0027: xxxx....}}]"},{"line_number":4053,"context_line":"            filters \u003d self._get_cluster_or_host_filters()"},{"line_number":4054,"context_line":"            groups \u003d objects.GroupList.get_all_replicated(context,"},{"line_number":4055,"context_line":"                                                          filters\u003dfilters)"},{"line_number":4056,"context_line":"            active_backend_id, volume_update_list, group_update_list \u003d ("},{"line_number":4057,"context_line":"                failover(context,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_c1345cfd","line":4054,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4289,"context_line":"            driver_entries \u003d self.driver.get_manageable_snapshots("},{"line_number":4290,"context_line":"                cinder_snapshots, marker, limit, offset, sort_keys, sort_dirs)"},{"line_number":4291,"context_line":"            if want_objects:"},{"line_number":4292,"context_line":"                driver_entries \u003d (objects.ManageableSnapshotList."},{"line_number":4293,"context_line":"                                  from_primitives(ctxt, driver_entries))"},{"line_number":4294,"context_line":"        except Exception:"},{"line_number":4295,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e13958f1","line":4292,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ManageableSnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4314,"context_line":"                              \u0027is_snapshot\u0027: is_snapshot, }"},{"line_number":4315,"context_line":"        # TODO(sborkows): from_primitive method will be removed in O, so there"},{"line_number":4316,"context_line":"        # is a need to clean here then."},{"line_number":4317,"context_line":"        return (objects.BackupDeviceInfo.from_primitive(backup_device_dict,"},{"line_number":4318,"context_line":"                                                        ctxt)"},{"line_number":4319,"context_line":"                if want_objects else backup_device_dict)"},{"line_number":4320,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_811e6473","line":4317,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4392,"context_line":""},{"line_number":4393,"context_line":"        mode \u003d connector.get(\u0027mode\u0027, \u0027rw\u0027)"},{"line_number":4394,"context_line":"        self._notify_about_volume_usage(context, vref, \u0027attach.start\u0027)"},{"line_number":4395,"context_line":"        attachment_ref \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":4396,"context_line":"                                                            attachment_id)"},{"line_number":4397,"context_line":""},{"line_number":4398,"context_line":"        # Check to see if a mode parameter was set during attachment-create;"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a11b6082","line":4395,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4494,"context_line":"        NOTE if the attachment reference is None, we remove all existing"},{"line_number":4495,"context_line":"        attachments for the specified volume object."},{"line_number":4496,"context_line":"        \"\"\""},{"line_number":4497,"context_line":"        attachment_ref \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":4498,"context_line":"                                                            attachment_id)"},{"line_number":4499,"context_line":"        if not attachment_ref:"},{"line_number":4500,"context_line":"            for attachment in VA_LIST.get_all_by_volume_id(context, vref.id):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_41284c97","line":4497,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4564,"context_line":""},{"line_number":4565,"context_line":"            if volumes_model_update:"},{"line_number":4566,"context_line":"                for update in volumes_model_update:"},{"line_number":4567,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4568,"context_line":"                    vol_obj.update(update)"},{"line_number":4569,"context_line":"                    vol_obj.save()"},{"line_number":4570,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_612548bf","line":4567,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4649,"context_line":""},{"line_number":4650,"context_line":"            if volumes_model_update:"},{"line_number":4651,"context_line":"                for update in volumes_model_update:"},{"line_number":4652,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4653,"context_line":"                    vol_obj.update(update)"},{"line_number":4654,"context_line":"                    vol_obj.save()"},{"line_number":4655,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_0114944f","line":4652,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":4741,"context_line":""},{"line_number":4742,"context_line":"            if volumes_model_update:"},{"line_number":4743,"context_line":"                for update in volumes_model_update:"},{"line_number":4744,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4745,"context_line":"                    vol_obj.update(update)"},{"line_number":4746,"context_line":"                    vol_obj.save()"},{"line_number":4747,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_21199086","line":4744,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":111,"context_line":"VALID_CREATE_GROUP_SRC_SNAP_STATUS \u003d (fields.SnapshotStatus.AVAILABLE,)"},{"line_number":112,"context_line":"VALID_CREATE_CG_SRC_CG_STATUS \u003d (\u0027available\u0027,)"},{"line_number":113,"context_line":"VALID_CREATE_GROUP_SRC_GROUP_STATUS \u003d (\u0027available\u0027,)"},{"line_number":114,"context_line":"VA_LIST \u003d objects.VolumeAttachmentList"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"volume_manager_opts \u003d ["},{"line_number":117,"context_line":"    cfg.IntOpt(\u0027migration_create_volume_timeout_secs\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf5854f9","line":114,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachmentList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        host \u003d host or self.host"},{"line_number":186,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":187,"context_line":"        svc_host \u003d vol_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":188,"context_line":"        return objects.Service.get_by_args(ctxt, svc_host, binary)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def __init__(self, volume_driver\u003dNone, service_name\u003dNone,"},{"line_number":191,"context_line":"                 *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f6d8098","line":188,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Service\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        if self.configuration.suppress_requests_ssl_warnings:"},{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f6abc82","line":234,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        if self.configuration.suppress_requests_ssl_warnings:"},{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f6708bb","line":235,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            LOG.warning(\"Suppressing requests library SSL Warnings\")"},{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f6444b3","line":236,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":235,"context_line":"                requests.packages.urllib3.exceptions.InsecureRequestWarning)"},{"line_number":236,"context_line":"            requests.packages.urllib3.disable_warnings("},{"line_number":237,"context_line":"                requests.packages.urllib3.exceptions.InsecurePlatformWarning)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"},{"line_number":240,"context_line":"        self.driver \u003d importutils.import_object("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dffe70b4","line":237,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027requests.packages\u0027 has no \u0027urllib3\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        LOG.info(\u0027Including all resources from host %(host)s in cluster \u0027"},{"line_number":391,"context_line":"                 \u0027%(cluster)s.\u0027,"},{"line_number":392,"context_line":"                 {\u0027host\u0027: self.host, \u0027cluster\u0027: self.cluster})"},{"line_number":393,"context_line":"        num_vols \u003d objects.VolumeList.include_in_cluster("},{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff032cbc","line":393,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":392,"context_line":"                 {\u0027host\u0027: self.host, \u0027cluster\u0027: self.cluster})"},{"line_number":393,"context_line":"        num_vols \u003d objects.VolumeList.include_in_cluster("},{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":397,"context_line":"        num_gs \u003d objects.GroupList.include_in_cluster("},{"line_number":398,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f08f8d8","line":395,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ConsistencyGroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":395,"context_line":"        num_cgs \u003d objects.ConsistencyGroupList.include_in_cluster("},{"line_number":396,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":397,"context_line":"        num_gs \u003d objects.GroupList.include_in_cluster("},{"line_number":398,"context_line":"            ctxt, self.cluster, host\u003dself.host)"},{"line_number":399,"context_line":"        num_cache \u003d db.image_volume_cache_include_in_cluster("},{"line_number":400,"context_line":"            ctxt, self.cluster, host\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf0db4e8","line":397,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                           \u0027id\u0027: self.driver.__class__.__name__})"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    def _do_cleanup(self, ctxt, vo_resource):"},{"line_number":549,"context_line":"        if isinstance(vo_resource, objects.Volume):"},{"line_number":550,"context_line":"            if vo_resource.status \u003d\u003d \u0027downloading\u0027:"},{"line_number":551,"context_line":"                self.driver.clear_download(ctxt, vo_resource)"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5ff260e6","line":549,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":593,"context_line":"            resource.host \u003d vol_utils.append_host(self.host, pool)"},{"line_number":594,"context_line":"            resource.save()"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"    @objects.Volume.set_workers"},{"line_number":597,"context_line":"    def create_volume(self, context, volume, request_spec\u003dNone,"},{"line_number":598,"context_line":"                      filter_properties\u003dNone, allow_reschedule\u003dTrue):"},{"line_number":599,"context_line":"        \"\"\"Creates the volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fef1cfa","line":596,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":614,"context_line":"            filter_properties \u003d {}"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"        if request_spec is None:"},{"line_number":617,"context_line":"            request_spec \u003d objects.RequestSpec()"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        try:"},{"line_number":620,"context_line":"            # NOTE(flaper87): Driver initialization is"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1ffce8b4","line":617,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027RequestSpec\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":713,"context_line":"                raise exception.Invalid(msg)"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"    @coordination.synchronized(\u0027{volume.id}-{f_name}\u0027)"},{"line_number":716,"context_line":"    @objects.Volume.set_workers"},{"line_number":717,"context_line":"    def delete_volume(self, context, volume, unmanage_only\u003dFalse,"},{"line_number":718,"context_line":"                      cascade\u003dFalse):"},{"line_number":719,"context_line":"        \"\"\"Deletes and unexports volume."}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3ff9a4c4","line":716,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":795,"context_line":"                self.driver.unmanage(volume)"},{"line_number":796,"context_line":"            elif cascade:"},{"line_number":797,"context_line":"                LOG.debug(\u0027Performing cascade delete.\u0027)"},{"line_number":798,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_for_volume(context,"},{"line_number":799,"context_line":"                                                                    volume.id)"},{"line_number":800,"context_line":"                for s in snapshots:"},{"line_number":801,"context_line":"                    if s.status !\u003d fields.SnapshotStatus.DELETING:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df275066","line":798,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":951,"context_line":"            \u0027encryption_key_id\u0027: volume.encryption_key_id,"},{"line_number":952,"context_line":"            \u0027metadata\u0027: {}"},{"line_number":953,"context_line":"        }"},{"line_number":954,"context_line":"        snapshot \u003d objects.Snapshot(context\u003dcontext, **kwargs)"},{"line_number":955,"context_line":"        snapshot.create()"},{"line_number":956,"context_line":"        self.create_snapshot(context, snapshot)"},{"line_number":957,"context_line":"        return snapshot"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff2c8c4a","line":954,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1043,"context_line":"        self._notify_about_volume_usage(context, volume, \"revert.end\")"},{"line_number":1044,"context_line":"        self._notify_about_snapshot_usage(context, snapshot, \"revert.end\")"},{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"    @objects.Snapshot.set_workers"},{"line_number":1047,"context_line":"    def create_snapshot(self, context, snapshot):"},{"line_number":1048,"context_line":"        \"\"\"Creates and exports the snapshot.\"\"\""},{"line_number":1049,"context_line":"        context \u003d context.elevated()"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f21d852","line":1046,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"        if volume is None:"},{"line_number":1185,"context_line":"            # For older clients, mimic the old behavior and look"},{"line_number":1186,"context_line":"            # up the volume by its volume_id."},{"line_number":1187,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1188,"context_line":"        # Get admin_metadata. This needs admin context."},{"line_number":1189,"context_line":"        with volume.obj_as_admin():"},{"line_number":1190,"context_line":"            volume_metadata \u003d volume.admin_metadata"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf261467","line":1187,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1281,"context_line":"        if volume is None:"},{"line_number":1282,"context_line":"            # For older clients, mimic the old behavior and look up the volume"},{"line_number":1283,"context_line":"            # by its volume_id."},{"line_number":1284,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        if attachment_id:"},{"line_number":1287,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f1b401c","line":1284,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        if attachment_id:"},{"line_number":1287,"context_line":"            try:"},{"line_number":1288,"context_line":"                attachment \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":1289,"context_line":"                                                                attachment_id)"},{"line_number":1290,"context_line":"            except exception.VolumeAttachmentNotFound:"},{"line_number":1291,"context_line":"                LOG.info(\"Volume detach called, but volume not attached.\","}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f187c1e","line":1288,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1429,"context_line":"            new_vol_values[\u0027source_volid\u0027] \u003d volume.id"},{"line_number":1430,"context_line":""},{"line_number":1431,"context_line":"            LOG.debug(\u0027Creating image volume entry: %s.\u0027, new_vol_values)"},{"line_number":1432,"context_line":"            image_volume \u003d objects.Volume(context\u003dctx, **new_vol_values)"},{"line_number":1433,"context_line":"            image_volume.create()"},{"line_number":1434,"context_line":"        except Exception as ex:"},{"line_number":1435,"context_line":"            LOG.exception(\u0027Create clone_image_volume: %(volume_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f15c8e6","line":1432,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1532,"context_line":"        payload \u003d {\u0027volume_id\u0027: volume_id, \u0027image_id\u0027: image_meta[\u0027id\u0027]}"},{"line_number":1533,"context_line":"        image_service \u003d None"},{"line_number":1534,"context_line":"        try:"},{"line_number":1535,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"            # NOTE(flaper87): Verify the driver is enabled"},{"line_number":1538,"context_line":"            # before going forward. The exception will be caught"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f1204ff","line":1535,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1743,"context_line":""},{"line_number":1744,"context_line":"    def initialize_connection_snapshot(self, ctxt, snapshot_id, connector):"},{"line_number":1745,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1746,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1747,"context_line":"        try:"},{"line_number":1748,"context_line":"            self.driver.validate_connector(connector)"},{"line_number":1749,"context_line":"        except exception.InvalidConnectorException as err:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfcc3098","line":1746,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1827,"context_line":"                                      connector, force\u003dFalse):"},{"line_number":1828,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1829,"context_line":""},{"line_number":1830,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1831,"context_line":"        try:"},{"line_number":1832,"context_line":"            self.driver.terminate_connection_snapshot(snapshot, connector,"},{"line_number":1833,"context_line":"                                                      force\u003dforce)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffd1ec2f","line":1830,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"    def remove_export_snapshot(self, ctxt, snapshot_id):"},{"line_number":1857,"context_line":"        \"\"\"Removes an export for a snapshot.\"\"\""},{"line_number":1858,"context_line":"        utils.require_driver_initialized(self.driver)"},{"line_number":1859,"context_line":"        snapshot \u003d objects.Snapshot.get_by_id(ctxt, snapshot_id)"},{"line_number":1860,"context_line":"        try:"},{"line_number":1861,"context_line":"            self.driver.remove_export_snapshot(ctxt, snapshot)"},{"line_number":1862,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fd6b826","line":1859,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2084,"context_line":"                new_vol_values[\u0027encryption_key_id\u0027] \u003d encryption_key_id"},{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"        dst_service \u003d self._get_service(backend[\u0027host\u0027])"},{"line_number":2087,"context_line":"        new_volume \u003d objects.Volume("},{"line_number":2088,"context_line":"            context\u003dctxt,"},{"line_number":2089,"context_line":"            host\u003dbackend[\u0027host\u0027],"},{"line_number":2090,"context_line":"            availability_zone\u003ddst_service.availability_zone,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfdb744c","line":2087,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2447,"context_line":"                if volume_stats.get(\u0027replication_status\u0027) \u003d\u003d ("},{"line_number":2448,"context_line":"                        fields.ReplicationStatus.ERROR):"},{"line_number":2449,"context_line":"                    filters \u003d self._get_cluster_or_host_filters()"},{"line_number":2450,"context_line":"                    groups \u003d objects.GroupList.get_all_replicated("},{"line_number":2451,"context_line":"                        context, filters\u003dfilters)"},{"line_number":2452,"context_line":"                    group_model_updates, volume_model_updates \u003d ("},{"line_number":2453,"context_line":"                        self.driver.get_replication_error_status(context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fe020fa","line":2450,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2454,"context_line":"                                                                 groups))"},{"line_number":2455,"context_line":"                    for grp_update in group_model_updates:"},{"line_number":2456,"context_line":"                        try:"},{"line_number":2457,"context_line":"                            grp_obj \u003d objects.Group.get_by_id("},{"line_number":2458,"context_line":"                                context, grp_update[\u0027group_id\u0027])"},{"line_number":2459,"context_line":"                            grp_obj.update(grp_update)"},{"line_number":2460,"context_line":"                            grp_obj.save()"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fdddc3d","line":2457,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Group\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2469,"context_line":"                                            \u0027id\u0027: grp_update[\u0027group_id\u0027]})"},{"line_number":2470,"context_line":"                    for vol_update in volume_model_updates:"},{"line_number":2471,"context_line":"                        try:"},{"line_number":2472,"context_line":"                            vol_obj \u003d objects.Volume.get_by_id("},{"line_number":2473,"context_line":"                                context, vol_update[\u0027volume_id\u0027])"},{"line_number":2474,"context_line":"                            vol_obj.update(vol_update)"},{"line_number":2475,"context_line":"                            vol_obj.save()"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1feaa8d8","line":2472,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2571,"context_line":"            extra_usage_info\u003dextra_usage_info, host\u003dself.host)"},{"line_number":2572,"context_line":""},{"line_number":2573,"context_line":"        if not volumes:"},{"line_number":2574,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":2575,"context_line":"                context, group.id)"},{"line_number":2576,"context_line":"        if volumes:"},{"line_number":2577,"context_line":"            for volume in volumes:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fe76412","line":2574,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2590,"context_line":"            extra_usage_info\u003dextra_usage_info, host\u003dself.host)"},{"line_number":2591,"context_line":""},{"line_number":2592,"context_line":"        if not snapshots:"},{"line_number":2593,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":2594,"context_line":"                context, group_snapshot.id)"},{"line_number":2595,"context_line":"        if snapshots:"},{"line_number":2596,"context_line":"            for snapshot in snapshots:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_dfb510f2","line":2593,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2772,"context_line":"                msg \u003d _(\"Retype requires migration but is not allowed.\")"},{"line_number":2773,"context_line":"                raise exception.VolumeMigrationFailed(reason\u003dmsg)"},{"line_number":2774,"context_line":""},{"line_number":2775,"context_line":"            snaps \u003d objects.SnapshotList.get_all_for_volume(context,"},{"line_number":2776,"context_line":"                                                            volume.id)"},{"line_number":2777,"context_line":"            if snaps:"},{"line_number":2778,"context_line":"                _retype_error(context, volume, old_reservations,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ffba4cde","line":2775,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2902,"context_line":"        return getattr(ovo_class_list, \u0027get_all\u0027)(ctxt, filters\u003dfilters)"},{"line_number":2903,"context_line":""},{"line_number":2904,"context_line":"    def _get_my_volumes(self, ctxt):"},{"line_number":2905,"context_line":"        return self._get_my_resources(ctxt, objects.VolumeList)"},{"line_number":2906,"context_line":""},{"line_number":2907,"context_line":"    def _get_my_snapshots(self, ctxt):"},{"line_number":2908,"context_line":"        return self._get_my_resources(ctxt, objects.SnapshotList)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9faf989c","line":2905,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2905,"context_line":"        return self._get_my_resources(ctxt, objects.VolumeList)"},{"line_number":2906,"context_line":""},{"line_number":2907,"context_line":"    def _get_my_snapshots(self, ctxt):"},{"line_number":2908,"context_line":"        return self._get_my_resources(ctxt, objects.SnapshotList)"},{"line_number":2909,"context_line":""},{"line_number":2910,"context_line":"    def get_manageable_volumes(self, ctxt, marker, limit, offset, sort_keys,"},{"line_number":2911,"context_line":"                               sort_dirs, want_objects\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfb4d4f2","line":2908,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2921,"context_line":"            driver_entries \u003d self.driver.get_manageable_volumes("},{"line_number":2922,"context_line":"                cinder_volumes, marker, limit, offset, sort_keys, sort_dirs)"},{"line_number":2923,"context_line":"            if want_objects:"},{"line_number":2924,"context_line":"                driver_entries \u003d (objects.ManageableVolumeList."},{"line_number":2925,"context_line":"                                  from_primitives(ctxt, driver_entries))"},{"line_number":2926,"context_line":"        except Exception:"},{"line_number":2927,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5fc90078","line":2924,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ManageableVolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":2997,"context_line":"        snapshots \u003d None"},{"line_number":2998,"context_line":"        source_vols \u003d None"},{"line_number":2999,"context_line":"        try:"},{"line_number":3000,"context_line":"            volumes \u003d objects.VolumeList.get_all_by_generic_group(context,"},{"line_number":3001,"context_line":"                                                                  group.id)"},{"line_number":3002,"context_line":"            if group_snapshot:"},{"line_number":3003,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7fc63c6c","line":3000,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3012,"context_line":"                    raise"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"                source_name \u003d _(\"snapshot-%s\") % group_snapshot.id"},{"line_number":3015,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3016,"context_line":"                    context, group_snapshot.id)"},{"line_number":3017,"context_line":"                for snap in snapshots:"},{"line_number":3018,"context_line":"                    if (snap.status not in"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1fc3885a","line":3015,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3039,"context_line":"                    raise"},{"line_number":3040,"context_line":""},{"line_number":3041,"context_line":"                source_name \u003d _(\"group-%s\") % source_group.id"},{"line_number":3042,"context_line":"                source_vols \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":3043,"context_line":"                    context, source_group.id)"},{"line_number":3044,"context_line":"                for source_vol in source_vols:"},{"line_number":3045,"context_line":"                    if (source_vol.status not in"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3fc0c44a","line":3042,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3252,"context_line":"            snapshot_id \u003d vol.get(\u0027snapshot_id\u0027)"},{"line_number":3253,"context_line":"            source_volid \u003d vol.get(\u0027source_volid\u0027)"},{"line_number":3254,"context_line":"            if snapshot_id:"},{"line_number":3255,"context_line":"                snapshot \u003d objects.Snapshot.get_by_id(context, snapshot_id)"},{"line_number":3256,"context_line":"                orig_vref \u003d self.db.volume_get(context,"},{"line_number":3257,"context_line":"                                               snapshot.volume_id)"},{"line_number":3258,"context_line":"                if orig_vref.bootable:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df9af073","line":3255,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3260,"context_line":"                    self.db.volume_glance_metadata_copy_to_volume("},{"line_number":3261,"context_line":"                        context, vol[\u0027id\u0027], snapshot_id)"},{"line_number":3262,"context_line":"            if source_volid:"},{"line_number":3263,"context_line":"                source_vol \u003d objects.Volume.get_by_id(context, source_volid)"},{"line_number":3264,"context_line":"                if source_vol.bootable:"},{"line_number":3265,"context_line":"                    update[\u0027bootable\u0027] \u003d True"},{"line_number":3266,"context_line":"                    self.db.volume_glance_metadata_copy_from_volume_to_volume("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff9fac61","line":3263,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3329,"context_line":"        else:"},{"line_number":3330,"context_line":"            project_id \u003d context.project_id"},{"line_number":3331,"context_line":""},{"line_number":3332,"context_line":"        volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":3333,"context_line":"            context, group.id)"},{"line_number":3334,"context_line":""},{"line_number":3335,"context_line":"        for vol_obj in volumes:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9fa478ba","line":3332,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"        cgsnap.from_group_snapshot(group_snapshot)"},{"line_number":3477,"context_line":""},{"line_number":3478,"context_line":"        # Populate consistencygroup object"},{"line_number":3479,"context_line":"        grp \u003d objects.Group.get_by_id(ctxt, group_snapshot.group_id)"},{"line_number":3480,"context_line":"        cg, __ \u003d self._convert_group_to_cg(grp, [])"},{"line_number":3481,"context_line":"        cgsnap.consistencygroup \u003d cg"},{"line_number":3482,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bfa93490","line":3479,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Group\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3537,"context_line":"            return volumes_ref"},{"line_number":3538,"context_line":"        for add_vol in volumes.split(\u0027,\u0027):"},{"line_number":3539,"context_line":"            try:"},{"line_number":3540,"context_line":"                add_vol_ref \u003d objects.Volume.get_by_id(context, add_vol)"},{"line_number":3541,"context_line":"            except exception.VolumeNotFound:"},{"line_number":3542,"context_line":"                LOG.error(\"Update group \""},{"line_number":3543,"context_line":"                          \"failed to %(op)s volume-%(volume_id)s: \""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f8ee033","line":3540,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3669,"context_line":""},{"line_number":3670,"context_line":"        LOG.info(\"GroupSnapshot %s: creating.\", group_snapshot.id)"},{"line_number":3671,"context_line":""},{"line_number":3672,"context_line":"        snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3673,"context_line":"            context, group_snapshot.id)"},{"line_number":3674,"context_line":""},{"line_number":3675,"context_line":"        self._notify_about_group_snapshot_usage("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f8b9c21","line":3672,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3713,"context_line":"                    # NOTE(xyang): snapshots is a list of snapshot objects."},{"line_number":3714,"context_line":"                    # snapshots_model_update should be a list of dicts."},{"line_number":3715,"context_line":"                    snap_id \u003d snap_model.pop(\u0027id\u0027)"},{"line_number":3716,"context_line":"                    snap_obj \u003d objects.Snapshot.get_by_id(context, snap_id)"},{"line_number":3717,"context_line":"                    snap_obj.update(snap_model)"},{"line_number":3718,"context_line":"                    snap_obj.save()"},{"line_number":3719,"context_line":"                    if (snap_model[\u0027status\u0027] in ["}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f986874","line":3716,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Snapshot\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3749,"context_line":"        for snapshot in snapshots:"},{"line_number":3750,"context_line":"            volume_id \u003d snapshot.volume_id"},{"line_number":3751,"context_line":"            snapshot_id \u003d snapshot.id"},{"line_number":3752,"context_line":"            vol_obj \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":3753,"context_line":"            if vol_obj.bootable:"},{"line_number":3754,"context_line":"                try:"},{"line_number":3755,"context_line":"                    self.db.volume_glance_metadata_copy_to_snapshot("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f95243e","line":3752,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3836,"context_line":""},{"line_number":3837,"context_line":"        LOG.info(\"group_snapshot %s: deleting\", group_snapshot.id)"},{"line_number":3838,"context_line":""},{"line_number":3839,"context_line":"        snapshots \u003d objects.SnapshotList.get_all_for_group_snapshot("},{"line_number":3840,"context_line":"            context, group_snapshot.id)"},{"line_number":3841,"context_line":""},{"line_number":3842,"context_line":"        self._notify_about_group_snapshot_usage("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df83d005","line":3839,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027SnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":3919,"context_line":"            # Get reservations"},{"line_number":3920,"context_line":"            try:"},{"line_number":3921,"context_line":"                reserve_opts \u003d {\u0027snapshots\u0027: -1}"},{"line_number":3922,"context_line":"                volume_ref \u003d objects.Volume.get_by_id(context,"},{"line_number":3923,"context_line":"                                                      snapshot.volume_id)"},{"line_number":3924,"context_line":"                QUOTAS.add_volume_type_opts(context,"},{"line_number":3925,"context_line":"                                            reserve_opts,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff880c22","line":3922,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4051,"context_line":"            # [{group_id: \u003ccinder-grpid\u003e, updates: {\u0027xxxx\u0027: xxxx....}},"},{"line_number":4052,"context_line":"            #  {group_id: \u003ccinder-grpid\u003e, updates: {\u0027xxxx\u0027: xxxx....}}]"},{"line_number":4053,"context_line":"            filters \u003d self._get_cluster_or_host_filters()"},{"line_number":4054,"context_line":"            groups \u003d objects.GroupList.get_all_replicated(context,"},{"line_number":4055,"context_line":"                                                          filters\u003dfilters)"},{"line_number":4056,"context_line":"            active_backend_id, volume_update_list, group_update_list \u003d ("},{"line_number":4057,"context_line":"                failover(context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f7d5820","line":4054,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027GroupList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4289,"context_line":"            driver_entries \u003d self.driver.get_manageable_snapshots("},{"line_number":4290,"context_line":"                cinder_snapshots, marker, limit, offset, sort_keys, sort_dirs)"},{"line_number":4291,"context_line":"            if want_objects:"},{"line_number":4292,"context_line":"                driver_entries \u003d (objects.ManageableSnapshotList."},{"line_number":4293,"context_line":"                                  from_primitives(ctxt, driver_entries))"},{"line_number":4294,"context_line":"        except Exception:"},{"line_number":4295,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_bf8294fe","line":4292,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027ManageableSnapshotList\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4314,"context_line":"                              \u0027is_snapshot\u0027: is_snapshot, }"},{"line_number":4315,"context_line":"        # TODO(sborkows): from_primitive method will be removed in O, so there"},{"line_number":4316,"context_line":"        # is a need to clean here then."},{"line_number":4317,"context_line":"        return (objects.BackupDeviceInfo.from_primitive(backup_device_dict,"},{"line_number":4318,"context_line":"                                                        ctxt)"},{"line_number":4319,"context_line":"                if want_objects else backup_device_dict)"},{"line_number":4320,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_5f77c03d","line":4317,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4392,"context_line":""},{"line_number":4393,"context_line":"        mode \u003d connector.get(\u0027mode\u0027, \u0027rw\u0027)"},{"line_number":4394,"context_line":"        self._notify_about_volume_usage(context, vref, \u0027attach.start\u0027)"},{"line_number":4395,"context_line":"        attachment_ref \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":4396,"context_line":"                                                            attachment_id)"},{"line_number":4397,"context_line":""},{"line_number":4398,"context_line":"        # Check to see if a mode parameter was set during attachment-create;"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7f74fc37","line":4395,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4494,"context_line":"        NOTE if the attachment reference is None, we remove all existing"},{"line_number":4495,"context_line":"        attachments for the specified volume object."},{"line_number":4496,"context_line":"        \"\"\""},{"line_number":4497,"context_line":"        attachment_ref \u003d objects.VolumeAttachment.get_by_id(context,"},{"line_number":4498,"context_line":"                                                            attachment_id)"},{"line_number":4499,"context_line":"        if not attachment_ref:"},{"line_number":4500,"context_line":"            for attachment in VA_LIST.get_all_by_volume_id(context, vref.id):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_1f714846","line":4497,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027VolumeAttachment\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4564,"context_line":""},{"line_number":4565,"context_line":"            if volumes_model_update:"},{"line_number":4566,"context_line":"                for update in volumes_model_update:"},{"line_number":4567,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4568,"context_line":"                    vol_obj.update(update)"},{"line_number":4569,"context_line":"                    vol_obj.save()"},{"line_number":4570,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_3f6e8464","line":4567,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4649,"context_line":""},{"line_number":4650,"context_line":"            if volumes_model_update:"},{"line_number":4651,"context_line":"                for update in volumes_model_update:"},{"line_number":4652,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4653,"context_line":"                    vol_obj.update(update)"},{"line_number":4654,"context_line":"                    vol_obj.save()"},{"line_number":4655,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_df88b01b","line":4652,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":4741,"context_line":""},{"line_number":4742,"context_line":"            if volumes_model_update:"},{"line_number":4743,"context_line":"                for update in volumes_model_update:"},{"line_number":4744,"context_line":"                    vol_obj \u003d objects.Volume.get_by_id(ctxt, update[\u0027id\u0027])"},{"line_number":4745,"context_line":"                    vol_obj.update(update)"},{"line_number":4746,"context_line":"                    vol_obj.save()"},{"line_number":4747,"context_line":"                    # If we failed to enable a volume, make sure the status"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_ff8d6c29","line":4744,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027Volume\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"eeecf39192320c5f5513189f0f393918e52ec5a5","unresolved":false,"context_lines":[{"line_number":4877,"context_line":"                   \u0027vol_metadata\u0027: volume_meta})"},{"line_number":4878,"context_line":"        self.db.volume_glance_metadata_delete_by_volume(context, volume.id)"},{"line_number":4879,"context_line":"        self.db.volume_glance_metadata_bulk_create(context, volume.id,"},{"line_number":4880,"context_line":"                                                   volume_meta)"},{"line_number":4881,"context_line":""},{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d \\"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_b45dae17","line":4880,"updated":"2018-10-21 06:47:44.000000000","message":"the volume status after \u0027reimaging\u0027 doesn\u0027t seem to be updated to \u0027available\u0027","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9540adac505afc8e7e198a4ff60e10c13829792","unresolved":false,"context_lines":[{"line_number":4877,"context_line":"                   \u0027vol_metadata\u0027: volume_meta})"},{"line_number":4878,"context_line":"        self.db.volume_glance_metadata_delete_by_volume(context, volume.id)"},{"line_number":4879,"context_line":"        self.db.volume_glance_metadata_bulk_create(context, volume.id,"},{"line_number":4880,"context_line":"                                                   volume_meta)"},{"line_number":4881,"context_line":""},{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d \\"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_d2085e81","line":4880,"in_reply_to":"3f79a3b5_b45dae17","updated":"2018-10-23 02:12:32.000000000","message":"Yes, and reimaging to previous status","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"eeecf39192320c5f5513189f0f393918e52ec5a5","unresolved":false,"context_lines":[{"line_number":4880,"context_line":"                                                   volume_meta)"},{"line_number":4881,"context_line":""},{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d \\"},{"line_number":4884,"context_line":"            glance.get_remote_image_service(context, image_meta[\u0027id\u0027])"},{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_74471654","line":4884,"range":{"start_line":4883,"start_character":33,"end_line":4884,"end_character":70},"updated":"2018-10-21 06:47:44.000000000","message":"can you wrap this using paranthesis ()","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9540adac505afc8e7e198a4ff60e10c13829792","unresolved":false,"context_lines":[{"line_number":4880,"context_line":"                                                   volume_meta)"},{"line_number":4881,"context_line":""},{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d \\"},{"line_number":4884,"context_line":"            glance.get_remote_image_service(context, image_meta[\u0027id\u0027])"},{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9222e601","line":4884,"range":{"start_line":4883,"start_character":33,"end_line":4884,"end_character":70},"in_reply_to":"3f79a3b5_74471654","updated":"2018-10-23 02:12:32.000000000","message":"Done","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"eeecf39192320c5f5513189f0f393918e52ec5a5","unresolved":false,"context_lines":[{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"},{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":4889,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4890,"context_line":"                          \"%(volume_id)s\","},{"line_number":4891,"context_line":"                          {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4892,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex.stderr)"},{"line_number":4893,"context_line":"        except exception.ImageUnacceptable as ex:"},{"line_number":4894,"context_line":"            LOG.exception(\"Failed to copy image to volume: %(volume_id)s\","},{"line_number":4895,"context_line":"                          {\u0027volume_id\u0027: volume.id})"},{"line_number":4896,"context_line":"            raise exception.ImageUnacceptable(ex)"},{"line_number":4897,"context_line":"        except exception.ImageTooBig as ex:"},{"line_number":4898,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":4899,"context_line":"                LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4900,"context_line":"                              \"%(volume_id)s\","},{"line_number":4901,"context_line":"                              {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4902,"context_line":"        except Exception as ex:"},{"line_number":4903,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to \""},{"line_number":4904,"context_line":"                          \"volume: %(volume_id)s\","}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_145fc210","line":4901,"range":{"start_line":4888,"start_character":8,"end_line":4901,"end_character":77},"updated":"2018-10-21 06:47:44.000000000","message":"since the same LOG.exception code is repeated, can this be grouped as :\nexcept (processutils.ProcessExecutionError, exception.ImageUnacceptable, exception.ImageTooBig) as ex:\n            LOG.exception(\"Failed to copy image %(image_id)s to volume: \"\n                          \"%(volume_id)s\",\n                          {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})\n            if ex \u003d\u003d processutils.ProcessExecutionError):\n                raise exception.ImageCopyFailure(reason\u003dex.stderr)\n            elif ex \u003d\u003d exception.ImageUnacceptable:\n                raise exception.ImageUnacceptable(ex)\n            ...","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9540adac505afc8e7e198a4ff60e10c13829792","unresolved":false,"context_lines":[{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"},{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":4889,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4890,"context_line":"                          \"%(volume_id)s\","},{"line_number":4891,"context_line":"                          {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4892,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex.stderr)"},{"line_number":4893,"context_line":"        except exception.ImageUnacceptable as ex:"},{"line_number":4894,"context_line":"            LOG.exception(\"Failed to copy image to volume: %(volume_id)s\","},{"line_number":4895,"context_line":"                          {\u0027volume_id\u0027: volume.id})"},{"line_number":4896,"context_line":"            raise exception.ImageUnacceptable(ex)"},{"line_number":4897,"context_line":"        except exception.ImageTooBig as ex:"},{"line_number":4898,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":4899,"context_line":"                LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4900,"context_line":"                              \"%(volume_id)s\","},{"line_number":4901,"context_line":"                              {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4902,"context_line":"        except Exception as ex:"},{"line_number":4903,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to \""},{"line_number":4904,"context_line":"                          \"volume: %(volume_id)s\","}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_72daaae6","line":4901,"range":{"start_line":4888,"start_character":8,"end_line":4901,"end_character":77},"in_reply_to":"3f79a3b5_145fc210","updated":"2018-10-23 02:12:32.000000000","message":"These copy from [1], I think we can keep it in here, and could extract common thing in future.\n[1] https://github.com/openstack/cinder/blob/91788d1/cinder/volume/flows/manager/create_volume.py#L521-L542","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"95339c212c275be13c9e2df9f5d24248fe32bc22","unresolved":false,"context_lines":[{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d glance.get_remote_image_service("},{"line_number":4884,"context_line":"            context, image_meta[\u0027id\u0027])"},{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"},{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_e373431b","line":4885,"updated":"2018-10-23 14:42:26.000000000","message":"Why don\u0027t we create a temporary snapshot here for easy cleanup if copy_image_to_volume fails?  Then a failed reimage operation wouldn\u0027t destroy the volume...","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"e040b8f7f909e4a98323ba094146dfe24667a8b0","unresolved":false,"context_lines":[{"line_number":4882,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4883,"context_line":"        image_service, image_id \u003d glance.get_remote_image_service("},{"line_number":4884,"context_line":"            context, image_meta[\u0027id\u0027])"},{"line_number":4885,"context_line":"        try:"},{"line_number":4886,"context_line":"            self.driver.copy_image_to_volume("},{"line_number":4887,"context_line":"                context, volume, image_service, image_id)"},{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_68f04467","line":4885,"in_reply_to":"3f79a3b5_e373431b","updated":"2018-10-26 01:35:13.000000000","message":"Emm, it\u0027s a good idea to make reimage operation safe. \n\nBut after some consideration, I think it\u0027s not something I want to add to this simple reimage API, just like other dangerous operations like migrate, retype... We don\u0027t have  \n\nInstead of it, I think the user can do backup or snapshot before reimage if he want to do a safe reimage rather than making the simple api more complex.\n\nAnd your idea?","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"95339c212c275be13c9e2df9f5d24248fe32bc22","unresolved":false,"context_lines":[{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":4889,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4890,"context_line":"                          \"%(volume_id)s\","},{"line_number":4891,"context_line":"                          {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4892,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex.stderr)"},{"line_number":4893,"context_line":"        except exception.ImageUnacceptable as ex:"},{"line_number":4894,"context_line":"            LOG.exception(\"Failed to copy image to volume: %(volume_id)s\","}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_a3b22b95","line":4891,"updated":"2018-10-23 14:42:26.000000000","message":"What status is the volume in now?","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"e040b8f7f909e4a98323ba094146dfe24667a8b0","unresolved":false,"context_lines":[{"line_number":4888,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":4889,"context_line":"            LOG.exception(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":4890,"context_line":"                          \"%(volume_id)s\","},{"line_number":4891,"context_line":"                          {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":4892,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex.stderr)"},{"line_number":4893,"context_line":"        except exception.ImageUnacceptable as ex:"},{"line_number":4894,"context_line":"            LOG.exception(\"Failed to copy image to volume: %(volume_id)s\","}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_88f4c057","line":4891,"in_reply_to":"3f79a3b5_a3b22b95","updated":"2018-10-26 01:35:13.000000000","message":"\"error\", and we need set status to error before raise ex.","commit_id":"ada496be0e741268372578533f9a206cb72c9ee3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a16c6ff5ab8c2a3ee8aa8898e630de5d5572ea00","unresolved":false,"context_lines":[{"line_number":4886,"context_line":"    def reimage(self, context, volume, image_meta):"},{"line_number":4887,"context_line":"        \"\"\"Downloads Glance image to the specified volume.\"\"\""},{"line_number":4888,"context_line":""},{"line_number":4889,"context_line":"        image_service, image_id \u003d glance.get_remote_image_service("},{"line_number":4890,"context_line":"            context, image_meta[\u0027id\u0027])"},{"line_number":4891,"context_line":"        image_id \u003d image_meta[\u0027id\u0027]"},{"line_number":4892,"context_line":"        image_location \u003d image_service.get_location(context, image_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_2d1190f9","line":4889,"range":{"start_line":4889,"start_character":23,"end_line":4889,"end_character":31},"updated":"2018-10-31 10:07:03.000000000","message":"it will be better to replace this with __ (double underscore) as this has been the standard convention for unused variables","commit_id":"9704874d3ed69da3f7c3280d493bf9ab19f68d8f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"113d948839830aa21b544abd550f53d7ad94eab8","unresolved":false,"context_lines":[{"line_number":4891,"context_line":"        image_id \u003d image_meta[\u0027id\u0027]"},{"line_number":4892,"context_line":"        image_location \u003d image_service.get_location(context, image_id)"},{"line_number":4893,"context_line":""},{"line_number":4894,"context_line":"        vol_utils.copy_image_to_volume(self.driver, context, volume,"},{"line_number":4895,"context_line":"                                       image_meta, image_location,"},{"line_number":4896,"context_line":"                                       image_service)"},{"line_number":4897,"context_line":""},{"line_number":4898,"context_line":"        self._refresh_volume_glance_meta(context, volume, image_meta)"},{"line_number":4899,"context_line":"        volume.status \u003d volume.previous_status"},{"line_number":4900,"context_line":"        volume.save()"},{"line_number":4901,"context_line":"        LOG.debug(\"Re-image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_43d68927","line":4898,"range":{"start_line":4894,"start_character":0,"end_line":4898,"end_character":69},"updated":"2018-12-07 02:46:51.000000000","message":"-1 If any exception is raised, do we need to set the status of the volume as error?","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"0d7917c07b34a576dd4737bd74e42f55943f0ecc","unresolved":false,"context_lines":[{"line_number":4891,"context_line":"        image_id \u003d image_meta[\u0027id\u0027]"},{"line_number":4892,"context_line":"        image_location \u003d image_service.get_location(context, image_id)"},{"line_number":4893,"context_line":""},{"line_number":4894,"context_line":"        vol_utils.copy_image_to_volume(self.driver, context, volume,"},{"line_number":4895,"context_line":"                                       image_meta, image_location,"},{"line_number":4896,"context_line":"                                       image_service)"},{"line_number":4897,"context_line":""},{"line_number":4898,"context_line":"        self._refresh_volume_glance_meta(context, volume, image_meta)"},{"line_number":4899,"context_line":"        volume.status \u003d volume.previous_status"},{"line_number":4900,"context_line":"        volume.save()"},{"line_number":4901,"context_line":"        LOG.debug(\"Re-image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":19,"id":"3f79a3b5_d457ad27","line":4898,"range":{"start_line":4894,"start_character":0,"end_line":4898,"end_character":69},"in_reply_to":"3f79a3b5_43d68927","updated":"2018-12-07 08:17:02.000000000","message":"Done","commit_id":"ebe6b1b53d3b442b91392c08a9db887ef8044a5c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"49180b9d781223b5d492d5c39931e95c2c889298","unresolved":false,"context_lines":[{"line_number":5010,"context_line":"        return {\u0027replication_targets\u0027: replication_targets}"},{"line_number":5011,"context_line":""},{"line_number":5012,"context_line":"    def _refresh_volume_glance_meta(self, context, volume, image_meta):"},{"line_number":5013,"context_line":"        vol_utils.enable_bootable_flag(volume)"},{"line_number":5014,"context_line":"        volume_meta \u003d vol_utils.get_volume_image_metadata("},{"line_number":5015,"context_line":"            image_meta[\u0027id\u0027], image_meta)"},{"line_number":5016,"context_line":"        LOG.debug(\"Creating volume glance metadata for volume %(volume_id)s\""}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_7ef4e9cf","line":5013,"updated":"2020-07-30 19:56:40.000000000","message":"pep8: F821 undefined name \u0027vol_utils\u0027","commit_id":"5ce049006b898317d7521c5eb0059a7d742990e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"49180b9d781223b5d492d5c39931e95c2c889298","unresolved":false,"context_lines":[{"line_number":5011,"context_line":""},{"line_number":5012,"context_line":"    def _refresh_volume_glance_meta(self, context, volume, image_meta):"},{"line_number":5013,"context_line":"        vol_utils.enable_bootable_flag(volume)"},{"line_number":5014,"context_line":"        volume_meta \u003d vol_utils.get_volume_image_metadata("},{"line_number":5015,"context_line":"            image_meta[\u0027id\u0027], image_meta)"},{"line_number":5016,"context_line":"        LOG.debug(\"Creating volume glance metadata for volume %(volume_id)s\""},{"line_number":5017,"context_line":"                  \" backed by image %(image_id)s with: %(vol_metadata)s.\","}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_de0375b7","line":5014,"updated":"2020-07-30 19:56:40.000000000","message":"pep8: F821 undefined name \u0027vol_utils\u0027","commit_id":"5ce049006b898317d7521c5eb0059a7d742990e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"49180b9d781223b5d492d5c39931e95c2c889298","unresolved":false,"context_lines":[{"line_number":5030,"context_line":"                context, image_meta[\u0027id\u0027])"},{"line_number":5031,"context_line":"            image_location \u003d image_service.get_location(context, image_id)"},{"line_number":5032,"context_line":""},{"line_number":5033,"context_line":"            vol_utils.copy_image_to_volume(self.driver, context, volume,"},{"line_number":5034,"context_line":"                                           image_meta, image_location,"},{"line_number":5035,"context_line":"                                           image_service)"},{"line_number":5036,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_befe81ab","line":5033,"updated":"2020-07-30 19:56:40.000000000","message":"pep8: F821 undefined name \u0027vol_utils\u0027","commit_id":"5ce049006b898317d7521c5eb0059a7d742990e7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":5338,"context_line":"            if volume.status in [\u0027reserved\u0027]:"},{"line_number":5339,"context_line":"                nova_api \u003d compute.API()"},{"line_number":5340,"context_line":"                attachments \u003d volume.volume_attachment"},{"line_number":5341,"context_line":"                instance_uuids \u003d [attachment.instance_uuid"},{"line_number":5342,"context_line":"                                  for attachment in attachments]"},{"line_number":5343,"context_line":"                nova_api.reimage_volume(context, instance_uuids, volume.id)"},{"line_number":5344,"context_line":""},{"line_number":5345,"context_line":"            LOG.debug(\"Re-image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":37,"id":"4b51ed02_1e7e3392","line":5342,"range":{"start_line":5341,"start_character":0,"end_line":5342,"end_character":64},"updated":"2022-02-24 03:45:26.000000000","message":"This will always be a list of one attachment because of the check at line 2540 in volume/api.py, is that correct?","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":5338,"context_line":"            if volume.status in [\u0027reserved\u0027]:"},{"line_number":5339,"context_line":"                nova_api \u003d compute.API()"},{"line_number":5340,"context_line":"                attachments \u003d volume.volume_attachment"},{"line_number":5341,"context_line":"                instance_uuids \u003d [attachment.instance_uuid"},{"line_number":5342,"context_line":"                                  for attachment in attachments]"},{"line_number":5343,"context_line":"                nova_api.reimage_volume(context, instance_uuids, volume.id)"},{"line_number":5344,"context_line":""},{"line_number":5345,"context_line":"            LOG.debug(\"Re-image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":37,"id":"2f4ea0ad_4e1e76dc","line":5342,"range":{"start_line":5341,"start_character":0,"end_line":5342,"end_character":64},"in_reply_to":"4b51ed02_1e7e3392","updated":"2022-02-24 10:03:59.000000000","message":"Yes, currently we don\u0027t support multiattach volumes so we block it at API layer. I think this is done in a way to keep it flexible for future work. In any case, this will only generate one instance_uuid and we will only send one event to nova notifying about that instance.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":5342,"context_line":"                                  for attachment in attachments]"},{"line_number":5343,"context_line":"                nova_api.reimage_volume(context, instance_uuids, volume.id)"},{"line_number":5344,"context_line":""},{"line_number":5345,"context_line":"            LOG.debug(\"Re-image %(image_id)s\""},{"line_number":5346,"context_line":"                      \" to volume %(volume_id)s successfully.\","},{"line_number":5347,"context_line":"                      {\u0027image_id\u0027: image_id, \u0027volume_id\u0027: volume.id})"},{"line_number":5348,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":38,"id":"11f4bde0_f788b1da","line":5345,"range":{"start_line":5345,"start_character":23,"end_line":5345,"end_character":31},"updated":"2022-02-24 14:14:38.000000000","message":"Nit:  Re-imaged","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":5342,"context_line":"                                  for attachment in attachments]"},{"line_number":5343,"context_line":"                nova_api.reimage_volume(context, instance_uuids, volume.id)"},{"line_number":5344,"context_line":""},{"line_number":5345,"context_line":"            LOG.debug(\"Re-image %(image_id)s\""},{"line_number":5346,"context_line":"                      \" to volume %(volume_id)s successfully.\","},{"line_number":5347,"context_line":"                      {\u0027image_id\u0027: image_id, \u0027volume_id\u0027: volume.id})"},{"line_number":5348,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":38,"id":"40d977dd_a9e3a03f","line":5345,"range":{"start_line":5345,"start_character":23,"end_line":5345,"end_character":31},"in_reply_to":"11f4bde0_f788b1da","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"}],"cinder/volume/rpcapi.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"89ecc9aa4674092007d9ebf804c21b6b0b69ea99","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                                    want_objects\u003dTrue)"},{"line_number":349,"context_line":"        else:"},{"line_number":350,"context_line":"            backup_dict \u003d cctxt.call(ctxt, \u0027get_backup_device\u0027, backup\u003dbackup)"},{"line_number":351,"context_line":"            backup_obj \u003d objects.BackupDeviceInfo.from_primitive(backup_dict,"},{"line_number":352,"context_line":"                                                                 ctxt)"},{"line_number":353,"context_line":"        return backup_obj"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_cc50130d","line":351,"updated":"2018-10-18 12:06:14.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"e7cca2ce2cdb459ae3320fb08b9884e7142d5800"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"3ff5be8585fd82d91c91ee2f3f34030ea5f076d5","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                                    want_objects\u003dTrue)"},{"line_number":349,"context_line":"        else:"},{"line_number":350,"context_line":"            backup_dict \u003d cctxt.call(ctxt, \u0027get_backup_device\u0027, backup\u003dbackup)"},{"line_number":351,"context_line":"            backup_obj \u003d objects.BackupDeviceInfo.from_primitive(backup_dict,"},{"line_number":352,"context_line":"                                                                 ctxt)"},{"line_number":353,"context_line":"        return backup_obj"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9f92384a","line":351,"updated":"2018-10-18 14:50:37.000000000","message":"E1101: \u001b[1;31mModule \u0027cinder.objects\u0027 has no \u0027BackupDeviceInfo\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"1759a6f540a355275b00f40f56408d39be00bef3"}],"releasenotes/notes/add-volume-re-image-api-6f02dcefd4975a66.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9861c10816193cb31b76d5629addd88bd32d507f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion 3.60 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f560f44_693d038e","line":4,"range":{"start_line":4,"start_character":21,"end_line":4,"end_character":25},"updated":"2020-08-05 14:33:28.000000000","message":"this needs to match what\u0027s in cinder/api/microversions.py","commit_id":"ccb1723e5c043c8073075c4d28e15e4069d51619"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"bdac69569f8e2bfaa7ad70c9b7b883fbe8b7e1a7","unresolved":true,"context_lines":[{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"e870f892_3ca3c06f","line":10,"updated":"2022-02-18 12:14:43.000000000","message":"Query: and eventually after successful re-image, the state is reverted to previous i.e available/error/reserved ?\nSorry, if this sounds like dumb question.","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"da6060f5_de995899","line":10,"in_reply_to":"4452def8_2b3e44ea","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6fed3523459ef8452cb12a767805361c04675c36","unresolved":true,"context_lines":[{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"4452def8_2b3e44ea","line":10,"in_reply_to":"e870f892_3ca3c06f","updated":"2022-02-23 18:01:18.000000000","message":"When the volume is in available/error state, cinder can initiate the reimage operation which, if successful, will change the status to available.\nWhen volume is in in-use state, mostly nova will initiate the operation, the volume will remain in reserved state throughout the operation and eventually the volume will again change to in-use state.","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"bdac69569f8e2bfaa7ad70c9b7b883fbe8b7e1a7","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    an ``reserved`` volume, the default policies for these new actions are"},{"line_number":15,"context_line":"    ``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":16,"context_line":"    administrative role or the owner of the volume to perform this operation."},{"line_number":17,"context_line":"    Cloud providers can change these permissions through the policy.yaml file."}],"source_content_type":"text/x-yaml","patch_set":36,"id":"f00ffc3f_e74da901","line":14,"range":{"start_line":14,"start_character":4,"end_line":14,"end_character":7},"updated":"2022-02-18 12:14:43.000000000","message":"nit: a ``reserved`` volume","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6fed3523459ef8452cb12a767805361c04675c36","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    an ``reserved`` volume, the default policies for these new actions are"},{"line_number":15,"context_line":"    ``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":16,"context_line":"    administrative role or the owner of the volume to perform this operation."},{"line_number":17,"context_line":"    Cloud providers can change these permissions through the policy.yaml file."}],"source_content_type":"text/x-yaml","patch_set":36,"id":"26d77784_b9be4b3f","line":14,"range":{"start_line":14,"start_character":4,"end_line":14,"end_character":7},"in_reply_to":"f00ffc3f_e74da901","updated":"2022-02-23 18:01:18.000000000","message":"Done","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"bdac69569f8e2bfaa7ad70c9b7b883fbe8b7e1a7","unresolved":true,"context_lines":[{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    an ``reserved`` volume, the default policies for these new actions are"},{"line_number":15,"context_line":"    ``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":16,"context_line":"    administrative role or the owner of the volume to perform this operation."},{"line_number":17,"context_line":"    Cloud providers can change these permissions through the policy.yaml file."}],"source_content_type":"text/x-yaml","patch_set":36,"id":"e4da7f4d_31ed9908","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":54},"updated":"2022-02-18 12:14:43.000000000","message":"nit: can","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6fed3523459ef8452cb12a767805361c04675c36","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    an ``reserved`` volume, the default policies for these new actions are"},{"line_number":15,"context_line":"    ``SYSTEM_ADMIN_OR_PROJECT_MEMBER``, that means only users with the"},{"line_number":16,"context_line":"    administrative role or the owner of the volume to perform this operation."},{"line_number":17,"context_line":"    Cloud providers can change these permissions through the policy.yaml file."}],"source_content_type":"text/x-yaml","patch_set":36,"id":"a2a28f6b_c08941a6","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":54},"in_reply_to":"e4da7f4d_31ed9908","updated":"2022-02-23 18:01:18.000000000","message":"Done","commit_id":"e356c51a5d56276e972d55d3f2640cad00ec399e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion 3.67 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"a4851c1a_2a8da0fc","line":4,"range":{"start_line":4,"start_character":21,"end_line":4,"end_character":25},"updated":"2022-02-24 03:45:26.000000000","message":"3.68","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion 3.67 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"45c12033_c735505c","line":4,"range":{"start_line":4,"start_character":21,"end_line":4,"end_character":25},"in_reply_to":"a4851c1a_2a8da0fc","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    a ``reserved`` volume, the default policies for these new actions are"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"5bd796e1_a93507c5","line":11,"updated":"2022-02-24 03:45:26.000000000","message":"I suggest adding a paragraph here, something like:\n\nNote that this is a destructive action, that is, all data currently contained in a volume is destroyed when the volume is re-imaged.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    There are two separate policies to control this operation, one for"},{"line_number":13,"context_line":"    re-imaging an ``available`` or ``error`` volume and another for reimaging"},{"line_number":14,"context_line":"    a ``reserved`` volume, the default policies for these new actions are"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"891aa70d_2aa15105","line":11,"in_reply_to":"5bd796e1_a93507c5","updated":"2022-02-24 10:03:59.000000000","message":"Done","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65970562cee0a40c8e82b26af22b67d69e3ef199","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":37,"id":"beb343b7_cd66f228","line":18,"range":{"start_line":12,"start_character":4,"end_line":18,"end_character":0},"updated":"2022-02-24 03:45:26.000000000","message":"I think what\u0027s important in this final paragraph is to give the names of the policies and what actions they govern, something like\n\n  Two new policies are introduced to govern this functionality:\n\n  * ``policy_one`` - users who satisfy this policy may re-image a volume in\n    status ``available`` or ``error``\n  * ``policy_two`` - users who satisfy this policy may re-image a volume in\n    status ``reserved``\n\n  The default setting for both policies allow an administrator or the volume\n  owner to perform the associated action.  See the `Policy configuration\n  \u003chttps://docs.openstack.org/cinder/yoga/configuration/block-storage/policy.html\u003e`_\n  documentation in the `Cinder Service Configuration` guide for details.\n\n(We want to be a bit vague about the definition because it will hopefully be different by RC-time.)\n\nAlso, I think you should add an \"upgrade:\" section to the note containing the same info; you can change the first sentence to something like:\n\n  Two new policies are introduced to govern the volume reimage functionality\n  introduced with microversion 3.68:","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"63626288316eab2cc771ccc46599e5cb0b861124","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"a1ef855c_5ce50a98","line":18,"range":{"start_line":12,"start_character":4,"end_line":18,"end_character":0},"in_reply_to":"beb343b7_cd66f228","updated":"2022-02-24 10:03:59.000000000","message":"Agreed, it\u0027s not right to name out the policy rules in a releasenote. will update in next PS.","commit_id":"ddae6c69bf500b374669e67ab371eca1be55e739"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"}],"source_content_type":"text/x-yaml","patch_set":38,"id":"828da451_73b5a9e4","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":45},"updated":"2022-02-24 14:14:38.000000000","message":"support the ability","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"}],"source_content_type":"text/x-yaml","patch_set":38,"id":"c91ab825_016717db","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":45},"in_reply_to":"828da451_73b5a9e4","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."}],"source_content_type":"text/x-yaml","patch_set":38,"id":"a585f11d_7c0f7c15","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":38},"updated":"2022-02-24 14:14:38.000000000","message":"Recommend:  \"Volumes in \u0027available\u0027 and \u0027error\u0027 state \"","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."}],"source_content_type":"text/x-yaml","patch_set":38,"id":"5b11e3f4_eb960dbb","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":38},"in_reply_to":"a585f11d_7c0f7c15","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d2c3d16d224d3197391529767e10b94c79355fb7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":38,"id":"e0abbcbe_66900e5f","line":8,"range":{"start_line":7,"start_character":66,"end_line":8,"end_character":22},"updated":"2022-02-24 14:14:38.000000000","message":"recommend: \"and \u0027reserved\u0027 volumes","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add microversion 3.68 to support ability to re-image a volume with a"},{"line_number":5,"context_line":"    specific image. Specify the ``os-reimage`` action in the request body."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The \u0027available\u0027 and \u0027error\u0027 volume can be re-imaged directly, and the"},{"line_number":8,"context_line":"    \u0027reserved\u0027 volume can only be re-imaged when the `reimage_reserved`"},{"line_number":9,"context_line":"    parameter is set to \u0027true\u0027. When reimaging a volume, the volume state"},{"line_number":10,"context_line":"    will be changed to ``downloading`` first."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":38,"id":"d6ecea0c_b611ee39","line":8,"range":{"start_line":7,"start_character":66,"end_line":8,"end_character":22},"in_reply_to":"e0abbcbe_66900e5f","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c5fba5833152a50823285144467a9c5e394b0282","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    Two new policies are introduced to govern this functionality:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    * ``REIMAGE_POLICY`` - users who satisfy this policy may re-image a volume"},{"line_number":18,"context_line":"      in status ``available`` or ``error``"},{"line_number":19,"context_line":"    * ``REIMAGE_RESERVED_POLICY`` - users who satisfy this policy may re-image"},{"line_number":20,"context_line":"      a volume in status ``reserved``"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    The default setting for both policies allow an administrator or the volume"},{"line_number":23,"context_line":"    owner to perform the associated action.  See the `Policy configuration"}],"source_content_type":"text/x-yaml","patch_set":38,"id":"3d735bf6_67377cd3","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":37},"updated":"2022-02-24 13:51:27.000000000","message":"You need to give the actual policy names here (that\u0027s what the operator will see in the policy file).\n\n  ``volume:reimage``\n  ``volume:reimage_reserved``\n\nSame thing below at lines 32-34.","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f3f38d423de948c04349ef15be7b566a8434b5ed","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    Two new policies are introduced to govern this functionality:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    * ``REIMAGE_POLICY`` - users who satisfy this policy may re-image a volume"},{"line_number":18,"context_line":"      in status ``available`` or ``error``"},{"line_number":19,"context_line":"    * ``REIMAGE_RESERVED_POLICY`` - users who satisfy this policy may re-image"},{"line_number":20,"context_line":"      a volume in status ``reserved``"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    The default setting for both policies allow an administrator or the volume"},{"line_number":23,"context_line":"    owner to perform the associated action.  See the `Policy configuration"}],"source_content_type":"text/x-yaml","patch_set":38,"id":"367ab9fb_6e1f0130","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":37},"in_reply_to":"3d735bf6_67377cd3","updated":"2022-02-24 17:33:13.000000000","message":"Done","commit_id":"d69e89ea3ba63d305f2a344f6c43b83a74d731fc"}]}
