)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ff914b0bf99117cb8f5f08d0162dbc0f3d769559","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add test test_create_server_with_bdm_source_image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When booting a server, block-device can be specified"},{"line_number":10,"context_line":"with source type image, volume or snapshot. Now bdm source"},{"line_number":11,"context_line":"type volume and snapshot have been covered in testcases,"},{"line_number":12,"context_line":"and this is to add coverage for source type image, for it"},{"line_number":13,"context_line":"is a basic function that is often required by cloud users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_6517a953","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":22},"updated":"2018-08-17 02:32:47.000000000","message":"Also blank as per API docs","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f6144dfb37d6000a76033cd9bdef715041601551","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add test test_create_server_with_bdm_source_image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When booting a server, block-device can be specified"},{"line_number":10,"context_line":"with source type image, volume or snapshot. Now bdm source"},{"line_number":11,"context_line":"type volume and snapshot have been covered in testcases,"},{"line_number":12,"context_line":"and this is to add coverage for source type image, for it"},{"line_number":13,"context_line":"is a basic function that is often required by cloud users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_20799f2e","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":22},"in_reply_to":"3f79a3b5_2509b130","updated":"2018-08-17 03:06:38.000000000","message":"o, really","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b005f07240cb15e7eb691e9b82e53a5e5b3dd6a5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add test test_create_server_with_bdm_source_image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When booting a server, block-device can be specified"},{"line_number":10,"context_line":"with source type image, volume or snapshot. Now bdm source"},{"line_number":11,"context_line":"type volume and snapshot have been covered in testcases,"},{"line_number":12,"context_line":"and this is to add coverage for source type image, for it"},{"line_number":13,"context_line":"is a basic function that is often required by cloud users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_2509b130","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":22},"in_reply_to":"3f79a3b5_6517a953","updated":"2018-08-17 02:33:17.000000000","message":"The source type of the block device. Valid values are:\n\nblank: Depending on the destination_type and guest_format, this will either be a blank persistent volume or an ephemeral (or swap) disk local to the compute host on which the server resides","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"}],"tempest/api/compute/servers/test_servers.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ff914b0bf99117cb8f5f08d0162dbc0f3d769559","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @decorators.idempotent_id(\u00270d1d84b6-1dde-11e8-bc89-9840bb81373f\u0027)"},{"line_number":183,"context_line":"    def test_create_server_with_bdm_source_image(self):"},{"line_number":184,"context_line":"        # Create a server with bdm source type image."},{"line_number":185,"context_line":"        bdm \u003d [{\"source_type\": \"image\","},{"line_number":186,"context_line":"                \"delete_on_termination\": True,"},{"line_number":187,"context_line":"                \"boot_index\": 0,"},{"line_number":188,"context_line":"                \"uuid\": self.image_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_2520d1b0","line":185,"range":{"start_line":185,"start_character":16,"end_line":185,"end_character":38},"updated":"2018-08-17 02:32:47.000000000","message":"ref:\n\n    image: This is only valid with destination_type\u003dvolume; \n    creates an image-backed volume in the block storage service \n    and attaches it to the server\n\nSo does this not require:\n\n    @utils.services(\u0027image\u0027, \u0027volume\u0027)\n\n?","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f6144dfb37d6000a76033cd9bdef715041601551","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @decorators.idempotent_id(\u00270d1d84b6-1dde-11e8-bc89-9840bb81373f\u0027)"},{"line_number":183,"context_line":"    def test_create_server_with_bdm_source_image(self):"},{"line_number":184,"context_line":"        # Create a server with bdm source type image."},{"line_number":185,"context_line":"        bdm \u003d [{\"source_type\": \"image\","},{"line_number":186,"context_line":"                \"delete_on_termination\": True,"},{"line_number":187,"context_line":"                \"boot_index\": 0,"},{"line_number":188,"context_line":"                \"uuid\": self.image_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_c09c6b6c","line":185,"range":{"start_line":185,"start_character":16,"end_line":185,"end_character":38},"in_reply_to":"3f79a3b5_2520d1b0","updated":"2018-08-17 03:06:38.000000000","message":"done","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ff914b0bf99117cb8f5f08d0162dbc0f3d769559","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        server \u003d self.create_test_server(block_device_mapping_v2\u003dbdm,"},{"line_number":192,"context_line":"                                         image_id\u003d\"\", wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":193,"context_line":"        server \u003d self.client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":194,"context_line":"        self.assertEmpty(server[\u0027image\u0027])"},{"line_number":195,"context_line":"        self.assertNotEmpty(server[\u0027os-extended-volumes:volumes_attached\u0027])"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_055ef544","line":194,"range":{"start_line":194,"start_character":25,"end_line":194,"end_character":40},"updated":"2018-08-17 02:32:47.000000000","message":"Why not also check:\n\n    self.assertEqual(self.image_ref, server[\u0027image\u0027][\u0027id\u0027])\n\n?","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f6144dfb37d6000a76033cd9bdef715041601551","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        server \u003d self.create_test_server(block_device_mapping_v2\u003dbdm,"},{"line_number":192,"context_line":"                                         image_id\u003d\"\", wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":193,"context_line":"        server \u003d self.client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":194,"context_line":"        self.assertEmpty(server[\u0027image\u0027])"},{"line_number":195,"context_line":"        self.assertNotEmpty(server[\u0027os-extended-volumes:volumes_attached\u0027])"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_8088b322","line":194,"range":{"start_line":194,"start_character":25,"end_line":194,"end_character":40},"in_reply_to":"3f79a3b5_055ef544","updated":"2018-08-17 03:06:38.000000000","message":"because in this case server[\u0027image\u0027] is empty","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"09fd02c95a98b8f5aadc7ce0ae96c5914da8665f","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        server \u003d self.create_test_server(block_device_mapping_v2\u003dbdm,"},{"line_number":192,"context_line":"                                         image_id\u003d\"\", wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":193,"context_line":"        server \u003d self.client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":194,"context_line":"        self.assertEmpty(server[\u0027image\u0027])"},{"line_number":195,"context_line":"        self.assertNotEmpty(server[\u0027os-extended-volumes:volumes_attached\u0027])"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_9fa78950","line":194,"range":{"start_line":194,"start_character":25,"end_line":194,"end_character":40},"in_reply_to":"3f79a3b5_8088b322","updated":"2018-08-20 03:21:15.000000000","message":"we can check self.assertEqual(volume_info[\u0027volume_image_metadata\u0027][\u0027image_id\u0027], self.image_ref)","commit_id":"4676e2f9d91ec1eade46a4a7366916bb779b2ac8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d25e850e9180ffdeb48b3d1afbd164dc179dbec9","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    def test_create_server_with_bdm_source_image(self):"},{"line_number":186,"context_line":"        # Create a server with bdm source type image."},{"line_number":187,"context_line":"        bdm \u003d [{\"source_type\": \"image\","},{"line_number":188,"context_line":"                \"delete_on_termination\": True,"},{"line_number":189,"context_line":"                \"boot_index\": 0,"},{"line_number":190,"context_line":"                \"uuid\": self.image_ref,"},{"line_number":191,"context_line":"                \"volume_size\": CONF.volume.volume_size,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e2112855","line":188,"range":{"start_line":188,"start_character":16,"end_line":188,"end_character":46},"updated":"2018-08-21 04:46:03.000000000","message":"Docs say:\n\n\"To delete the boot volume when the server is destroyed, specify true. Otherwise, specify false. Default: false\"\n\nOne question: Will the image be automatically deleted when the volume that is created from it is deleted or does that need to be handled manually?","commit_id":"85649742610c1b763d0a94adda5feb3f7fad7d13"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ee59e718d618beee332143e54da2984008ce23ee","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    def test_create_server_with_bdm_source_image(self):"},{"line_number":186,"context_line":"        # Create a server with bdm source type image."},{"line_number":187,"context_line":"        bdm \u003d [{\"source_type\": \"image\","},{"line_number":188,"context_line":"                \"delete_on_termination\": True,"},{"line_number":189,"context_line":"                \"boot_index\": 0,"},{"line_number":190,"context_line":"                \"uuid\": self.image_ref,"},{"line_number":191,"context_line":"                \"volume_size\": CONF.volume.volume_size,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_229e4007","line":188,"range":{"start_line":188,"start_character":16,"end_line":188,"end_character":46},"in_reply_to":"3f79a3b5_e2112855","updated":"2018-08-21 05:44:53.000000000","message":"o, the image won\u0027t be deleted and it shouldn\u0027t be deleted, because it\u0027s the image preprovisioned in the system(CONF.compute.image_ref)","commit_id":"85649742610c1b763d0a94adda5feb3f7fad7d13"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d25e850e9180ffdeb48b3d1afbd164dc179dbec9","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        self.assertNotEmpty(volumes_attached)"},{"line_number":199,"context_line":"        volume_id \u003d volumes_attached[0][\u0027id\u0027]"},{"line_number":200,"context_line":"        volume_info \u003d self.volumes_client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":201,"context_line":"        self.assertEqual(volume_info[\u0027volume_image_metadata\u0027][\u0027image_id\u0027],"},{"line_number":202,"context_line":"                         self.image_ref)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class ServerShowV247Test(base.BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_971c3478","line":202,"range":{"start_line":201,"start_character":8,"end_line":202,"end_character":40},"updated":"2018-08-21 04:46:03.000000000","message":"This is a nice addition to ensure the image_ref is used by the volume backed server","commit_id":"85649742610c1b763d0a94adda5feb3f7fad7d13"}]}
