)]}'
{"tempest/api/volume/admin/test_volumes_actions.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"60bcce54aba6e8c72bd5267d2b947f5dc444245f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                                                volume_id, \u0027in-use\u0027)"},{"line_number":65,"context_line":"        self.addCleanup(waiters.wait_for_volume_resource_status,"},{"line_number":66,"context_line":"                        self.volumes_client, volume_id, \u0027available\u0027)"},{"line_number":67,"context_line":"        self.addCleanup(self.volumes_client.detach_volume, volume_id)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Reset attach_status to detached"},{"line_number":70,"context_line":"        self.admin_volume_client.reset_volume_status(volume_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_94b49b83","line":67,"range":{"start_line":67,"start_character":8,"end_line":67,"end_character":69},"updated":"2017-11-03 19:31:24.000000000","message":"The precondition for detach_volume is \"Volume status must be in-use\" is this accounted for? I think this line may not be needed after all. On the other hand, I guess its just a precaution in case an error occurs during the reset_volume_status operations.","commit_id":"f96212ef017776b1220c54a51fa32323ac54b66b"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"87237def59e716dc046e7f802590c3ceb3c0be71","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                                                volume_id, \u0027in-use\u0027)"},{"line_number":65,"context_line":"        self.addCleanup(waiters.wait_for_volume_resource_status,"},{"line_number":66,"context_line":"                        self.volumes_client, volume_id, \u0027available\u0027)"},{"line_number":67,"context_line":"        self.addCleanup(self.volumes_client.detach_volume, volume_id)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Reset attach_status to detached"},{"line_number":70,"context_line":"        self.admin_volume_client.reset_volume_status(volume_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3b7ef218","line":67,"range":{"start_line":67,"start_character":8,"end_line":67,"end_character":69},"in_reply_to":"3f4b6375_94b49b83","updated":"2017-11-04 02:56:36.000000000","message":"Yes,if reset volume_status to detached fail,the cleanup make effect.","commit_id":"f96212ef017776b1220c54a51fa32323ac54b66b"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"60bcce54aba6e8c72bd5267d2b947f5dc444245f","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Reset attach_status to detached"},{"line_number":70,"context_line":"        self.admin_volume_client.reset_volume_status(volume_id,"},{"line_number":71,"context_line":"                                                     attach_status\u003d\u0027detached\u0027)"},{"line_number":72,"context_line":"        vol_info \u003d self.volumes_client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":73,"context_line":"        self.assertEmpty(vol_info[\u0027attachments\u0027])"},{"line_number":74,"context_line":"        self.assertEqual(\u0027available\u0027, vol_info[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_74159f48","line":71,"updated":"2017-11-03 19:31:24.000000000","message":"is a waiter needed, like in the other function?","commit_id":"f96212ef017776b1220c54a51fa32323ac54b66b"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"87237def59e716dc046e7f802590c3ceb3c0be71","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Reset attach_status to detached"},{"line_number":70,"context_line":"        self.admin_volume_client.reset_volume_status(volume_id,"},{"line_number":71,"context_line":"                                                     attach_status\u003d\u0027detached\u0027)"},{"line_number":72,"context_line":"        vol_info \u003d self.volumes_client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":73,"context_line":"        self.assertEmpty(vol_info[\u0027attachments\u0027])"},{"line_number":74,"context_line":"        self.assertEqual(\u0027available\u0027, vol_info[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1b7b3628","line":71,"in_reply_to":"3f4b6375_74159f48","updated":"2017-11-04 02:56:36.000000000","message":"Done","commit_id":"f96212ef017776b1220c54a51fa32323ac54b66b"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"60bcce54aba6e8c72bd5267d2b947f5dc444245f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    @decorators.idempotent_id(\u0027d38285d9-929d-478f-96a5-00e66a115b81\u0027)"},{"line_number":97,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":98,"context_line":"    def test_force_detach_volume(self):"},{"line_number":99,"context_line":"        # Create a server and a volume"},{"line_number":100,"context_line":"        server_id \u003d self.create_server()[\u0027id\u0027]"},{"line_number":101,"context_line":"        volume_id \u003d self.create_volume()[\u0027id\u0027]"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Attach volume"},{"line_number":104,"context_line":"        self.volumes_client.attach_volume("},{"line_number":105,"context_line":"            volume_id,"},{"line_number":106,"context_line":"            instance_uuid\u003dserver_id,"},{"line_number":107,"context_line":"            mountpoint\u003d\u0027/dev/%s\u0027 % CONF.compute.volume_device_name)"},{"line_number":108,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":109,"context_line":"                                                volume_id, \u0027in-use\u0027)"},{"line_number":110,"context_line":"        self.addCleanup(waiters.wait_for_volume_resource_status,"},{"line_number":111,"context_line":"                        self.volumes_client, volume_id, \u0027available\u0027)"},{"line_number":112,"context_line":"        self.addCleanup(self.volumes_client.detach_volume, volume_id)"},{"line_number":113,"context_line":"        attachment \u003d self.volumes_client.show_volume("},{"line_number":114,"context_line":"            volume_id)[\u0027volume\u0027][\u0027attachments\u0027][0]"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_f4fbcfba","line":112,"range":{"start_line":99,"start_character":7,"end_line":112,"end_character":69},"updated":"2017-11-03 19:31:24.000000000","message":"why not reuse this code?","commit_id":"f96212ef017776b1220c54a51fa32323ac54b66b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"81c5bebc51bfbf8474b1a64666d952bfd15621bf","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":73,"context_line":"                                                volume_id, \u0027available\u0027)"},{"line_number":74,"context_line":"        vol_info \u003d self.volumes_client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":75,"context_line":"        self.assertEmpty(vol_info[\u0027attachments\u0027])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @decorators.idempotent_id(\u002721737d5a-92f2-46d7-b009-a0cc0ee7a570\u0027)"},{"line_number":78,"context_line":"    def test_volume_force_delete_when_volume_is_creating(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_369847be","line":75,"range":{"start_line":75,"start_character":46,"end_line":75,"end_character":49},"updated":"2017-11-04 05:24:39.000000000","message":"i like to check here how it gets reflected on compute side. check\n- show attachment on server. this vol should not be there. \n- can same volume be attached now","commit_id":"ea4950a509e71bcc700be780931cee53dc11e6cf"}],"tempest/scenario/test_volume_reset_attach_status.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d25a864f73a60ecc7e4737b8f7796afc7d24fef6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 NEC Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":12,"id":"df87a7cf_8312de57","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"updated":"2017-12-04 03:46:10.000000000","message":"you need to change this","commit_id":"fab791534bda8ce48b1851b7a70fe64e7c9c22b4"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"08b0567ae384c5c2f406125da34ecc12b2c2a7c1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 NEC Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":12,"id":"df87a7cf_c33a26e6","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"in_reply_to":"df87a7cf_8312de57","updated":"2017-12-04 04:54:29.000000000","message":"It\u0027s my fault,thanks Ghanshyam Mann ,have modified.","commit_id":"fab791534bda8ce48b1851b7a70fe64e7c9c22b4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d25a864f73a60ecc7e4737b8f7796afc7d24fef6","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        # Reset attach_status to detached"},{"line_number":90,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"df87a7cf_03ffae01","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":76},"updated":"2017-12-04 03:46:10.000000000","message":"is nova_volume_attach not enough here? i mean volume status in-use should be enough to assume that volume is attached.","commit_id":"fab791534bda8ce48b1851b7a70fe64e7c9c22b4"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"08b0567ae384c5c2f406125da34ecc12b2c2a7c1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        # Reset attach_status to detached"},{"line_number":90,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"df87a7cf_e3716ae2","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":76},"in_reply_to":"df87a7cf_03ffae01","updated":"2017-12-04 04:54:29.000000000","message":"def nova_volume_attach(self, server, volume_to_attach):\n    volume \u003d self.servers_client.attach_volume(\n        server[\u0027id\u0027], volumeId\u003dvolume_to_attach[\u0027id\u0027], device\u003d\u0027/dev/%s\u0027\n        % CONF.compute.volume_device_name)[\u0027volumeAttachment\u0027]\n    self.assertEqual(volume_to_attach[\u0027id\u0027], volume[\u0027id\u0027])\n    waiters.wait_for_volume_resource_status(self.volumes_client,volume[\u0027id\u0027], \u0027in-use\u0027)\n\nAfter nova_volume_attach,the status of volume is in-use,I think is enough.","commit_id":"fab791534bda8ce48b1851b7a70fe64e7c9c22b4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a5cec3e39440057fd284492c116afe27658d3c8c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        # Reset attach_status to detached"},{"line_number":90,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f91af0f_2ce96c19","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":76},"updated":"2018-01-03 09:17:25.000000000","message":"same comment as PS12. do we need this or just checking volume status is-use is enough.\n\nThis is failing on ceph.","commit_id":"a099d6c3c40f6d11ad394bf85a7810102adf321e"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"cbb7e4d9a0ae8c90708e8d74ba206a5ccc628cdd","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        # Reset attach_status to detached"},{"line_number":90,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f91af0f_0cbb48e2","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":76},"in_reply_to":"9f91af0f_2ce96c19","updated":"2018-01-03 09:27:42.000000000","message":"Done","commit_id":"a099d6c3c40f6d11ad394bf85a7810102adf321e"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"39b2f9ea8ebc42e6d246e0a59d6eabd33b8697d8","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        # Reset attach_status to detached"},{"line_number":90,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f91af0f_eadcc447","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":76},"in_reply_to":"9f91af0f_2ce96c19","updated":"2018-01-03 10:51:39.000000000","message":"If not execute self.wait_for_volume_available_on_the_system,create timestamp in the server may be fail.","commit_id":"a099d6c3c40f6d11ad394bf85a7810102adf321e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def setup_clients(cls):"},{"line_number":48,"context_line":"        super(TestVolumeResetAttachStatus, cls).setup_clients()"},{"line_number":49,"context_line":"        cls.admin_volumes_client \u003d cls.os_admin.volumes_v2_client"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_9c8de92a","line":49,"range":{"start_line":49,"start_character":48,"end_line":49,"end_character":65},"updated":"2018-11-26 01:45:19.000000000","message":"volumes_client_latest","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def setup_clients(cls):"},{"line_number":48,"context_line":"        super(TestVolumeResetAttachStatus, cls).setup_clients()"},{"line_number":49,"context_line":"        cls.admin_volumes_client \u003d cls.os_admin.volumes_v2_client"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_c177e706","line":49,"range":{"start_line":49,"start_character":48,"end_line":49,"end_character":65},"in_reply_to":"3f79a3b5_9c8de92a","updated":"2018-11-27 07:35:19.000000000","message":"Done","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def skip_checks(cls):"},{"line_number":53,"context_line":"        super(TestVolumeResetAttachStatus, cls).skip_checks()"},{"line_number":54,"context_line":"        if not CONF.network.public_network_id:"},{"line_number":55,"context_line":"            msg \u003d \u0027The public_network_id option must be specified\u0027"},{"line_number":56,"context_line":"            raise cls.skipException(msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def wait_for_volume_available_on_the_system(self, ip_address,"},{"line_number":59,"context_line":"                                                private_key):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_fc9bbd61","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":40},"updated":"2018-11-26 01:45:19.000000000","message":"why need this?","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def skip_checks(cls):"},{"line_number":53,"context_line":"        super(TestVolumeResetAttachStatus, cls).skip_checks()"},{"line_number":54,"context_line":"        if not CONF.network.public_network_id:"},{"line_number":55,"context_line":"            msg \u003d \u0027The public_network_id option must be specified\u0027"},{"line_number":56,"context_line":"            raise cls.skipException(msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def wait_for_volume_available_on_the_system(self, ip_address,"},{"line_number":59,"context_line":"                                                private_key):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_a1ae522e","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":40},"in_reply_to":"3f79a3b5_fc9bbd61","updated":"2018-11-27 07:35:19.000000000","message":"self.get_server_ip(server)\nin order to associate floating ip to vm","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            msg \u003d \u0027The public_network_id option must be specified\u0027"},{"line_number":56,"context_line":"            raise cls.skipException(msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def wait_for_volume_available_on_the_system(self, ip_address,"},{"line_number":59,"context_line":"                                                private_key):"},{"line_number":60,"context_line":"        ssh \u003d self.get_remote_client(ip_address, private_key\u003dprivate_key)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_14843e56","line":58,"range":{"start_line":58,"start_character":7,"end_line":58,"end_character":47},"updated":"2018-11-26 01:45:19.000000000","message":"Internal helper name better to begin with an underline","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            msg \u003d \u0027The public_network_id option must be specified\u0027"},{"line_number":56,"context_line":"            raise cls.skipException(msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def wait_for_volume_available_on_the_system(self, ip_address,"},{"line_number":59,"context_line":"                                                private_key):"},{"line_number":60,"context_line":"        ssh \u003d self.get_remote_client(ip_address, private_key\u003dprivate_key)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_5762b515","line":58,"range":{"start_line":58,"start_character":7,"end_line":58,"end_character":47},"in_reply_to":"3f79a3b5_14843e56","updated":"2018-11-27 07:35:19.000000000","message":"Done","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        def _func():"},{"line_number":63,"context_line":"            disks \u003d ssh.get_disks()"},{"line_number":64,"context_line":"            LOG.debug(\"Disks: %s\", disks)"},{"line_number":65,"context_line":"            return CONF.compute.volume_device_name in disks"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        if not test_utils.call_until_true(_func,"},{"line_number":68,"context_line":"                                          CONF.compute.build_timeout,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_d4824651","line":65,"range":{"start_line":65,"start_character":12,"end_line":65,"end_character":59},"updated":"2018-11-26 01:45:19.000000000","message":"The device name may be different on different guest OS.\nPlease refer to https://github.com/openstack/tempest/blob/9594233ffd93066677aa601c594d55f3a4f188d8/tempest/scenario/test_minimum_basic.py#L70","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        def _func():"},{"line_number":63,"context_line":"            disks \u003d ssh.get_disks()"},{"line_number":64,"context_line":"            LOG.debug(\"Disks: %s\", disks)"},{"line_number":65,"context_line":"            return CONF.compute.volume_device_name in disks"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        if not test_utils.call_until_true(_func,"},{"line_number":68,"context_line":"                                          CONF.compute.build_timeout,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_a28417b0","line":65,"range":{"start_line":65,"start_character":12,"end_line":65,"end_character":59},"in_reply_to":"3f79a3b5_d4824651","updated":"2018-11-27 07:35:19.000000000","message":"Done","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if not test_utils.call_until_true(_func,"},{"line_number":68,"context_line":"                                          CONF.compute.build_timeout,"},{"line_number":69,"context_line":"                                          CONF.compute.build_interval):"},{"line_number":70,"context_line":"            raise lib_exc.TimeoutException"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u0027dd278a98-bfa7-11e7-9abc-fa163e65f5ce\u0027)"},{"line_number":73,"context_line":"    @utils.services(\u0027compute\u0027, \u0027network\u0027, \u0027volume\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_14567efa","line":70,"range":{"start_line":70,"start_character":26,"end_line":70,"end_character":42},"updated":"2018-11-26 01:45:19.000000000","message":"Better to provide an error message","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if not test_utils.call_until_true(_func,"},{"line_number":68,"context_line":"                                          CONF.compute.build_timeout,"},{"line_number":69,"context_line":"                                          CONF.compute.build_interval):"},{"line_number":70,"context_line":"            raise lib_exc.TimeoutException"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u0027dd278a98-bfa7-11e7-9abc-fa163e65f5ce\u0027)"},{"line_number":73,"context_line":"    @utils.services(\u0027compute\u0027, \u0027network\u0027, \u0027volume\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_b7c5490b","line":70,"range":{"start_line":70,"start_character":26,"end_line":70,"end_character":42},"in_reply_to":"3f79a3b5_14567efa","updated":"2018-11-27 07:35:19.000000000","message":"Done","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            key_name\u003dkeypair[\u0027name\u0027],"},{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_54bcf605","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":47},"updated":"2018-11-26 01:45:19.000000000","message":"Needn\u0027t add cleanup of nova_volume_detach?","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            key_name\u003dkeypair[\u0027name\u0027],"},{"line_number":83,"context_line":"            security_groups\u003d[{\u0027name\u0027: security_group[\u0027name\u0027]}])"},{"line_number":84,"context_line":"        ip_for_server \u003d self.get_server_ip(server)"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":86,"context_line":"        self.wait_for_volume_available_on_the_system(ip_for_server,"},{"line_number":87,"context_line":"                                                     keypair[\u0027private_key\u0027])"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_6494e1e6","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":47},"in_reply_to":"3f79a3b5_54bcf605","updated":"2018-11-27 07:35:19.000000000","message":"1.In the end,the status of volume is available,because of \"self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],\n                                                    attach_status\u003d\u0027detached\u0027)\".\nAlthough in the next step , \"self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],\n                                                      attach_status\u003d\u0027attached\u0027)\",the status of volume is still available.So we can delete VM by cleanup.\n\n2.Volume status must be \u0027in-use\u0027 to detach","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"004fabb9e366339dad48a84ed1b99a2707602255","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # Reset attach_status to attached"},{"line_number":109,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"},{"line_number":110,"context_line":"                                                      attach_status\u003d\u0027attached\u0027)"},{"line_number":111,"context_line":"        self.addCleanup(self.admin_volumes_client.reset_volume_status,"},{"line_number":112,"context_line":"                        volume[\u0027id\u0027], attach_status\u003d\u0027detached\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        # check the existence of the timestamp file in the volume"},{"line_number":115,"context_line":"        timestamp1 \u003d self.get_timestamp(ip_for_server,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_74c1f282","line":112,"range":{"start_line":111,"start_character":0,"end_line":112,"end_character":63},"updated":"2018-11-26 01:45:19.000000000","message":"Why need this?","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"e92dfdf14b897484a0ad8272ce403f776e4c1d02","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # Reset attach_status to attached"},{"line_number":109,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"},{"line_number":110,"context_line":"                                                      attach_status\u003d\u0027attached\u0027)"},{"line_number":111,"context_line":"        self.addCleanup(self.admin_volumes_client.reset_volume_status,"},{"line_number":112,"context_line":"                        volume[\u0027id\u0027], attach_status\u003d\u0027detached\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        # check the existence of the timestamp file in the volume"},{"line_number":115,"context_line":"        timestamp1 \u003d self.get_timestamp(ip_for_server,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_9805c3c2","line":112,"range":{"start_line":111,"start_character":0,"end_line":112,"end_character":63},"in_reply_to":"3f79a3b5_4463e545","updated":"2018-11-27 10:58:12.000000000","message":"In the end,attach_status is attached.\nIf not set attach_status to detached,the volume can\u0027t be delete by cleanup.\n\nhttp://logs.openstack.org/28/517228/18/check/tempest-full-rocky/1282d3b/testr_results.html.gz","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"8d0d1174ff0472a16979826a3bd382ca0079319a","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # Reset attach_status to attached"},{"line_number":109,"context_line":"        self.admin_volumes_client.reset_volume_status(volume[\u0027id\u0027],"},{"line_number":110,"context_line":"                                                      attach_status\u003d\u0027attached\u0027)"},{"line_number":111,"context_line":"        self.addCleanup(self.admin_volumes_client.reset_volume_status,"},{"line_number":112,"context_line":"                        volume[\u0027id\u0027], attach_status\u003d\u0027detached\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        # check the existence of the timestamp file in the volume"},{"line_number":115,"context_line":"        timestamp1 \u003d self.get_timestamp(ip_for_server,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_4463e545","line":112,"range":{"start_line":111,"start_character":0,"end_line":112,"end_character":63},"in_reply_to":"3f79a3b5_74c1f282","updated":"2018-11-27 07:35:19.000000000","message":"have remove it.","commit_id":"bde72869caef2f44d6c8b081d9e5f559c2ca7acc"}]}
