)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"93469236b82f84656b169c415f9799f97b0fc5fb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Manish Deolalkar \u003cdeolalkar.manish@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-26 00:03:36 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM goes to error state when hard reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_541acdc6","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":39},"updated":"2016-07-27 10:10:07.000000000","message":"That\u0027s not true. We can hare reboot instances in Nova, can you change the title to be more precise, please?","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Manish Deolalkar \u003cdeolalkar.manish@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-26 00:03:36 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM goes to error state when hard reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bacf61ea_26c6769a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":39},"in_reply_to":"dada55a8_541acdc6","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"2e21df87998ad3e5f219a8932f9822b603d15791","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM goes to error state when hard reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"},{"line_number":11,"context_line":"connect_volume for every block device. For non-encrypted volumes,"},{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_f5b77a1e","line":9,"range":{"start_line":9,"start_character":15,"end_line":9,"end_character":17},"updated":"2016-07-27 11:27:39.000000000","message":"a","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM goes to error state when hard reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"},{"line_number":11,"context_line":"connect_volume for every block device. For non-encrypted volumes,"},{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bacf61ea_66c06e7c","line":9,"range":{"start_line":9,"start_character":15,"end_line":9,"end_character":17},"in_reply_to":"dada55a8_f5b77a1e","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"93469236b82f84656b169c415f9799f97b0fc5fb","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"},{"line_number":11,"context_line":"connect_volume for every block device. For non-encrypted volumes,"},{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"},{"line_number":13,"context_line":"as device_path refers to a decrypted device after opening."},{"line_number":14,"context_line":"It can\u0027t be run with scsi_id. As a result,"},{"line_number":15,"context_line":"to call connect_volume on the decrypted device leads exception."},{"line_number":16,"context_line":"This patch addresses this issue."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_34cd9966","line":14,"range":{"start_line":11,"start_character":37,"end_line":14,"end_character":28},"updated":"2016-07-27 10:10:07.000000000","message":"that paragraph is not clear at all, sorry, please state clearer what is the issue with the encrypted volumes.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When rebooting an VM, Nova instance is shut down without any"},{"line_number":10,"context_line":"detaching/disconnection operations. But when starting, it calls"},{"line_number":11,"context_line":"connect_volume for every block device. For non-encrypted volumes,"},{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"},{"line_number":13,"context_line":"as device_path refers to a decrypted device after opening."},{"line_number":14,"context_line":"It can\u0027t be run with scsi_id. As a result,"},{"line_number":15,"context_line":"to call connect_volume on the decrypted device leads exception."},{"line_number":16,"context_line":"This patch addresses this issue."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bacf61ea_46bbaa0e","line":14,"range":{"start_line":11,"start_character":37,"end_line":14,"end_character":28},"in_reply_to":"dada55a8_34cd9966","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"93469236b82f84656b169c415f9799f97b0fc5fb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"},{"line_number":13,"context_line":"as device_path refers to a decrypted device after opening."},{"line_number":14,"context_line":"It can\u0027t be run with scsi_id. As a result,"},{"line_number":15,"context_line":"to call connect_volume on the decrypted device leads exception."},{"line_number":16,"context_line":"This patch addresses this issue."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #1597234"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_b42d0900","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":63},"updated":"2016-07-27 10:10:07.000000000","message":"do you mean encrypted devices, right?","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":12,"context_line":"this calls can be called repeatedly. But for encrypted volumes,"},{"line_number":13,"context_line":"as device_path refers to a decrypted device after opening."},{"line_number":14,"context_line":"It can\u0027t be run with scsi_id. As a result,"},{"line_number":15,"context_line":"to call connect_volume on the decrypted device leads exception."},{"line_number":16,"context_line":"This patch addresses this issue."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #1597234"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bacf61ea_a638a6a1","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":63},"in_reply_to":"dada55a8_b42d0900","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"2412a1aac0a3808d065ebb754f1f140704049720","unresolved":false,"context_lines":[{"line_number":14,"context_line":"then make device_path in connection_info refer"},{"line_number":15,"context_line":"to the new decrypted device."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"When rebooting a instance, Nova instance is shut down without any"},{"line_number":18,"context_line":"detaching operations. But when starting, it calls connect_volume."},{"line_number":19,"context_line":"for every block device. For non-encrypted volumes,this is not an"},{"line_number":20,"context_line":"issue.But for encrypted volumes,as device_path refers to a already"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bacf61ea_d827e4b3","line":17,"range":{"start_line":17,"start_character":15,"end_line":17,"end_character":16},"updated":"2016-08-11 10:17:24.000000000","message":"an","commit_id":"707a7467e9d62f40c6a4034a74b122a9ed0e8db0"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"2412a1aac0a3808d065ebb754f1f140704049720","unresolved":false,"context_lines":[{"line_number":17,"context_line":"When rebooting a instance, Nova instance is shut down without any"},{"line_number":18,"context_line":"detaching operations. But when starting, it calls connect_volume."},{"line_number":19,"context_line":"for every block device. For non-encrypted volumes,this is not an"},{"line_number":20,"context_line":"issue.But for encrypted volumes,as device_path refers to a already"},{"line_number":21,"context_line":"decrypted device,connect_volume which runs the scsi_id comamnd"},{"line_number":22,"context_line":"against the already decrypted device fails and this leads to"},{"line_number":23,"context_line":"exception."},{"line_number":24,"context_line":"This patch addresses this issue"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bacf61ea_3848c02c","line":21,"range":{"start_line":20,"start_character":57,"end_line":21,"end_character":16},"updated":"2016-08-11 10:17:24.000000000","message":"an already decrypted device","commit_id":"707a7467e9d62f40c6a4034a74b122a9ed0e8db0"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"54b49973e68b0eb8f44ea7a9ac6b0c014d875bb9","unresolved":false,"context_lines":[{"line_number":3443,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3444,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3445,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3446,"context_line":"            #bug:1597234"},{"line_number":3447,"context_line":"            if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3448,"context_line":"                self._connect_volume(connection_info, info)"},{"line_number":3449,"context_line":"                cfg \u003d self._get_volume_config(connection_info, info)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_89f851e7","line":3446,"range":{"start_line":3446,"start_character":12,"end_line":3446,"end_character":24},"updated":"2016-07-04 09:16:40.000000000","message":"Please append to the commit message:\n\"Closes-Bug: 1597234\"\nand remote this from code.","commit_id":"05d8ba7150680092b412fe114830837504f47ab1"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"ff0f166808e03f920e36594b2a21c6b799a3fe38","unresolved":false,"context_lines":[{"line_number":3443,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3444,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3445,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3446,"context_line":"            #bug:1597234"},{"line_number":3447,"context_line":"            if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3448,"context_line":"                self._connect_volume(connection_info, info)"},{"line_number":3449,"context_line":"                cfg \u003d self._get_volume_config(connection_info, info)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_29ab1d1f","line":3446,"range":{"start_line":3446,"start_character":12,"end_line":3446,"end_character":24},"in_reply_to":"1aa78d24_89f851e7","updated":"2016-07-04 09:29:35.000000000","message":"Done","commit_id":"05d8ba7150680092b412fe114830837504f47ab1"},{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"7fb8f8be866756d2800f3353cc0b8242fbed18d3","unresolved":false,"context_lines":[{"line_number":3443,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3444,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3445,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3446,"context_line":"            #Closes-Bug: 1597234"},{"line_number":3447,"context_line":"            if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3448,"context_line":"                self._connect_volume(connection_info, info)"},{"line_number":3449,"context_line":"                cfg \u003d self._get_volume_config(connection_info, info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_a40f34e0","line":3446,"range":{"start_line":3446,"start_character":12,"end_line":3446,"end_character":32},"updated":"2016-07-04 09:36:25.000000000","message":"Not here, please put the commit message.\nPlease read the related wiki:\nhttps://wiki.openstack.org/wiki/GitCommitMessages\n\nThis line stay empty empty without comment.","commit_id":"b9b0f474c867abe08f47d908bc74e3b21c1c9e16"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"6eadc754cf0631ad2bb789751ad363e177496b74","unresolved":false,"context_lines":[{"line_number":3443,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3444,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3445,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3446,"context_line":"            #Closes-Bug: 1597234"},{"line_number":3447,"context_line":"            if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3448,"context_line":"                self._connect_volume(connection_info, info)"},{"line_number":3449,"context_line":"                cfg \u003d self._get_volume_config(connection_info, info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_f8771c00","line":3446,"range":{"start_line":3446,"start_character":12,"end_line":3446,"end_character":32},"in_reply_to":"1aa78d24_a40f34e0","updated":"2016-07-04 09:58:37.000000000","message":"Done","commit_id":"b9b0f474c867abe08f47d908bc74e3b21c1c9e16"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"76e536c81044f0c97bd6a4a934a3fa8b22d12eb0","unresolved":false,"context_lines":[{"line_number":3443,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3444,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3445,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3446,"context_line":"            if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3447,"context_line":"                self._connect_volume(connection_info, info)"},{"line_number":3448,"context_line":"                cfg \u003d self._get_volume_config(connection_info, info)"},{"line_number":3449,"context_line":"                devices.append(cfg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_a1dc1313","line":3446,"range":{"start_line":3446,"start_character":11,"end_line":3446,"end_character":69},"updated":"2016-07-05 10:07:31.000000000","message":"are we sure that connection_info.get(\u0027data\u0027) is always not None? Otherwise the following get is going to fail.\n\nAnd probably we can skip everything here if the condition is verified, what about reverse the logic of the \u0027if\u0027 and put it at the beginning of the for loop and call a continue if the volume is encrypted?","commit_id":"5e14db35c4bf940dd288587cd9d58c65637be7f4"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a4cab1c18f464db4ef2152a6423acfd140695e1a","unresolved":false,"context_lines":[{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_58b7e4d7","line":3553,"updated":"2016-07-26 07:41:06.000000000","message":"I think it is not good to check the file here using cryptsetup.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_6657cece","line":3553,"in_reply_to":"dada55a8_58b7e4d7","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"e160a611a2f2fb0a93c7f0dfbcb7453b2869d89b","unresolved":false,"context_lines":[{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_9c3dc3df","line":3553,"in_reply_to":"dada55a8_58b7e4d7","updated":"2016-07-26 11:52:36.000000000","message":"I didn\u0027t find any wrapper over it from other modules, Pls suggest if there\u0027s some better way of doing.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"93469236b82f84656b169c415f9799f97b0fc5fb","unresolved":false,"context_lines":[{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_94656546","line":3555,"range":{"start_line":3553,"start_character":14,"end_line":3555,"end_character":69},"updated":"2016-07-27 10:10:07.000000000","message":"how that is going to fix the issue?","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_e610de03","line":3555,"range":{"start_line":3553,"start_character":14,"end_line":3555,"end_character":69},"in_reply_to":"dada55a8_94656546","updated":"2016-07-29 06:02:11.000000000","message":"Since during the reboot, we are referring to already decrypted device, better to check the status of it and raise an exception in case of issue.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"93469236b82f84656b169c415f9799f97b0fc5fb","unresolved":false,"context_lines":[{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_f4cf8126","line":3557,"range":{"start_line":3556,"start_character":19,"end_line":3557,"end_character":73},"updated":"2016-07-27 10:10:07.000000000","message":"do we really need to inspect the info string? Why not using the \u0027err\u0027 to verify if the command worked?","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_26fb16c3","line":3557,"range":{"start_line":3556,"start_character":19,"end_line":3557,"end_character":73},"in_reply_to":"dada55a8_f4cf8126","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a4cab1c18f464db4ef2152a6423acfd140695e1a","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3540,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3541,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3542,"context_line":"            if (\u0027data\u0027 in connection_info and \u0027encrypted\u0027 in"},{"line_number":3543,"context_line":"                connection_info[\u0027data\u0027]):"},{"line_number":3544,"context_line":"                if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3545,"context_line":"                    self._connect_volume(connection_info, info)"},{"line_number":3546,"context_line":"                    cfg \u003d self._get_volume_config(connection_info, info)"},{"line_number":3547,"context_line":"                    devices.append(cfg)"},{"line_number":3548,"context_line":"                    vol[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":3549,"context_line":"                    vol.save()"},{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"        for d in devices:"},{"line_number":3562,"context_line":"            self._set_cache_mode(d)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_5827e4b5","line":3559,"range":{"start_line":3542,"start_character":0,"end_line":3559,"end_character":62},"updated":"2016-07-26 07:41:06.000000000","message":"If connection_info.get(\u0027data\u0027, None) and connection_info[\u0027data\u0027].get(\u0027encrypted\u0027, None): \n\n    # do something related to encryption\n\nelse:\n\n    # The original code.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3540,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3541,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3542,"context_line":"            if (\u0027data\u0027 in connection_info and \u0027encrypted\u0027 in"},{"line_number":3543,"context_line":"                connection_info[\u0027data\u0027]):"},{"line_number":3544,"context_line":"                if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3545,"context_line":"                    self._connect_volume(connection_info, info)"},{"line_number":3546,"context_line":"                    cfg \u003d self._get_volume_config(connection_info, info)"},{"line_number":3547,"context_line":"                    devices.append(cfg)"},{"line_number":3548,"context_line":"                    vol[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":3549,"context_line":"                    vol.save()"},{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"        for d in devices:"},{"line_number":3562,"context_line":"            self._set_cache_mode(d)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_4600caaa","line":3559,"range":{"start_line":3542,"start_character":0,"end_line":3559,"end_character":62},"in_reply_to":"dada55a8_5827e4b5","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"e160a611a2f2fb0a93c7f0dfbcb7453b2869d89b","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3540,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3541,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3542,"context_line":"            if (\u0027data\u0027 in connection_info and \u0027encrypted\u0027 in"},{"line_number":3543,"context_line":"                connection_info[\u0027data\u0027]):"},{"line_number":3544,"context_line":"                if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3545,"context_line":"                    self._connect_volume(connection_info, info)"},{"line_number":3546,"context_line":"                    cfg \u003d self._get_volume_config(connection_info, info)"},{"line_number":3547,"context_line":"                    devices.append(cfg)"},{"line_number":3548,"context_line":"                    vol[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":3549,"context_line":"                    vol.save()"},{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"        for d in devices:"},{"line_number":3562,"context_line":"            self._set_cache_mode(d)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_7c2c4f02","line":3559,"range":{"start_line":3542,"start_character":0,"end_line":3559,"end_character":62},"in_reply_to":"dada55a8_5827e4b5","updated":"2016-07-26 11:52:36.000000000","message":"I also thought the same but in any case we will need the second condition to check the \"encrypted\" flag value. Also connection_info.get(\u0027data\u0027) will always defaults to None if data not present and connection_info[\u0027data\u0027].get(\u0027encrypted\u0027) always return either True or False. \n\nthe already written tempest cases where data/encrypted may come as \"None\", the code logic will take care of it and thus avoiding the else block execution.","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"},{"author":{"_account_id":22257,"name":"Manish","email":"deolalkar.manish@hpe.com","username":"manishd"},"change_message_id":"2d6c1bb79d1088aa16dc5329c0806348a79ab950","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":3540,"context_line":"            vol_dev \u003d block_device.prepend_dev(vol[\u0027mount_device\u0027])"},{"line_number":3541,"context_line":"            info \u003d disk_mapping[vol_dev]"},{"line_number":3542,"context_line":"            if (\u0027data\u0027 in connection_info and \u0027encrypted\u0027 in"},{"line_number":3543,"context_line":"                connection_info[\u0027data\u0027]):"},{"line_number":3544,"context_line":"                if connection_info.get(\u0027data\u0027).get(\u0027encrypted\u0027) is False:"},{"line_number":3545,"context_line":"                    self._connect_volume(connection_info, info)"},{"line_number":3546,"context_line":"                    cfg \u003d self._get_volume_config(connection_info, info)"},{"line_number":3547,"context_line":"                    devices.append(cfg)"},{"line_number":3548,"context_line":"                    vol[\u0027connection_info\u0027] \u003d connection_info"},{"line_number":3549,"context_line":"                    vol.save()"},{"line_number":3550,"context_line":"                else:"},{"line_number":3551,"context_line":"                    # check device status"},{"line_number":3552,"context_line":"                    # if error, raise exception"},{"line_number":3553,"context_line":"                    (info, err) \u003d utils.execute(\u0027cryptsetup\u0027, \u0027status\u0027,"},{"line_number":3554,"context_line":"                                                vol_dev, run_as_root\u003dTrue,"},{"line_number":3555,"context_line":"                                                check_exit_code\u003dTrue)"},{"line_number":3556,"context_line":"                    for line in info.split(\u0027\\n\u0027):"},{"line_number":3557,"context_line":"                        if line.strip().startswith(\u0027Command failed\u0027) \u003e 0:"},{"line_number":3558,"context_line":"                            msg \u003d line.strip()"},{"line_number":3559,"context_line":"                            raise exception.NovaException(msg)"},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"        for d in devices:"},{"line_number":3562,"context_line":"            self._set_cache_mode(d)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_06f6d2d6","line":3559,"range":{"start_line":3542,"start_character":0,"end_line":3559,"end_character":62},"in_reply_to":"dada55a8_7c2c4f02","updated":"2016-07-29 06:02:11.000000000","message":"Done","commit_id":"5ef7fdc491e78fc66a272ca6439f82a071b419b9"}]}
