)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"16e77618c97a10617f4a5de1b1faeb124f1f4e91","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2015-07-20 12:12:29 -0700"},{"line_number":4,"context_line":"Commit:     Dane Fichter \u003cdane.fichter@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-20 12:19:02 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bug fix for booting for encrypted volumes. Disallows booting from"},{"line_number":8,"context_line":"encrypted volumes and logs an error message describing the"},{"line_number":9,"context_line":"failure."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_c27d7fe8","line":6,"updated":"2015-07-21 14:29:39.000000000","message":"Please see https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"c54110a3a90cd9ad63f24fc4e4268f55f5d6d282"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dane Fichter \u003cdane.fichter@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-21 08:33:05 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bug fix for booting from encrypted volumes."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Booting from encrypted volumes has a number of issues,"},{"line_number":10,"context_line":"and fails without alerting the end user when attempting"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_eab5ed30","line":7,"updated":"2015-07-21 16:34:13.000000000","message":"Please tag with \u0027libvirt\u0027 so the first line becomes\n\n  libvirt: ...\n\nAlso, \"bug fix\" isn\u0027t very description of the change. Please provide a concise summary of the change -- e.g.,\n\n  libvirt: Raise error when booting from encrypted volume","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Booting from encrypted volumes has a number of issues,"},{"line_number":10,"context_line":"and fails without alerting the end user when attempting"},{"line_number":11,"context_line":"to boot a whole image. This patch prevents booting from"},{"line_number":12,"context_line":"encrypted volumes and logs a descriptive error message."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1465656"},{"line_number":15,"context_line":"Change-Id: I18baf6f16dc92f34f6a0b08ffff0b935e2f97c6d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_4a274164","line":12,"updated":"2015-07-21 16:34:13.000000000","message":"It would also be helpful to include details regarding *why* booting from an encrypted volume doesn\u0027t work and why that issue isn\u0027t being addressed (rather than simply logging an error message).","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"16e77618c97a10617f4a5de1b1faeb124f1f4e91","unresolved":false,"context_lines":[{"line_number":6342,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6343,"context_line":"        disk_mapping \u003d {}"},{"line_number":6344,"context_line":"        self.assertRaises(exception.NovaException, drvr._create_image, ctx,"},{"line_number":6345,"context_line":"                     instance, disk_mapping, suffix\u003d\u0027\u0027, disk_images\u003dNone,"},{"line_number":6346,"context_line":"                     network_info\u003dNone, block_device_info\u003dNone, files\u003dNone,"},{"line_number":6347,"context_line":"                     admin_pass\u003dNone, inject_files\u003dTrue,"},{"line_number":6348,"context_line":"                     fallback_from_host\u003dNone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_e278bbf4","line":6345,"updated":"2015-07-21 14:29:39.000000000","message":"indentation here is a little dodgy","commit_id":"c54110a3a90cd9ad63f24fc4e4268f55f5d6d282"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":6336,"context_line":"        mock_get_mapping.return_value \u003d ["},{"line_number":6337,"context_line":"                         {\u0027connection_info\u0027:"},{"line_number":6338,"context_line":"                             {\u0027data\u0027:"},{"line_number":6339,"context_line":"                                 {\u0027encrypted\u0027: True}}}]"},{"line_number":6340,"context_line":"        mock_booted_from_vol.return_value \u003d True"},{"line_number":6341,"context_line":"        ctx \u003d self.context"},{"line_number":6342,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_aae125d2","line":6339,"updated":"2015-07-21 16:34:13.000000000","message":"nit: I believe that the typical indentation would be\n\n  mock_get_mapping.return_value \u003d {\n    \u0027connection_info\u0027: {\n      \u0027data\u0027: {\n        \u0027encrypted\u0027: True\n      },\n    },\n  }\n\nNote that I removed the square brackets because only a single value is being returned. (Multiple return values are specified in a list.)","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":6337,"context_line":"                         {\u0027connection_info\u0027:"},{"line_number":6338,"context_line":"                             {\u0027data\u0027:"},{"line_number":6339,"context_line":"                                 {\u0027encrypted\u0027: True}}}]"},{"line_number":6340,"context_line":"        mock_booted_from_vol.return_value \u003d True"},{"line_number":6341,"context_line":"        ctx \u003d self.context"},{"line_number":6342,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6343,"context_line":"        disk_mapping \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_4a0d018f","line":6340,"updated":"2015-07-21 16:34:13.000000000","message":"Return values can be specified in the mock annotation -- e.g.,\n\n  @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver\u0027\n              \u0027_is_booted_from_volume\u0027, return_value\u003dTrue)","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":6338,"context_line":"                             {\u0027data\u0027:"},{"line_number":6339,"context_line":"                                 {\u0027encrypted\u0027: True}}}]"},{"line_number":6340,"context_line":"        mock_booted_from_vol.return_value \u003d True"},{"line_number":6341,"context_line":"        ctx \u003d self.context"},{"line_number":6342,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6343,"context_line":"        disk_mapping \u003d {}"},{"line_number":6344,"context_line":"        self.assertRaises(exception.NovaException, drvr._create_image, ctx,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_ca7831f5","line":6341,"updated":"2015-07-21 16:34:13.000000000","message":"nit: Unnecessary local variable.","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":6341,"context_line":"        ctx \u003d self.context"},{"line_number":6342,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6343,"context_line":"        disk_mapping \u003d {}"},{"line_number":6344,"context_line":"        self.assertRaises(exception.NovaException, drvr._create_image, ctx,"},{"line_number":6345,"context_line":"                         instance, disk_mapping, suffix\u003d\u0027\u0027, disk_images\u003dNone,"},{"line_number":6346,"context_line":"                         network_info\u003dNone, block_device_info\u003dNone, files\u003dNone,"},{"line_number":6347,"context_line":"                         admin_pass\u003dNone, inject_files\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_c41ca779","line":6344,"updated":"2015-07-21 16:34:13.000000000","message":"nit: Please align parameters so the \u0027i\u0027 in instance is directly underneath the \u0027e\u0027 in exception.","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"01358ffb74c5f417d92404ff5b307c4d7aa38789","unresolved":false,"context_lines":[{"line_number":6336,"context_line":"        mock_get_mapping.return_value \u003d [{"},{"line_number":6337,"context_line":"            \u0027connection_info\u0027: {"},{"line_number":6338,"context_line":"              \u0027data\u0027: {"},{"line_number":6339,"context_line":"                \u0027encrypted\u0027: True"},{"line_number":6340,"context_line":"              },"},{"line_number":6341,"context_line":"            },"},{"line_number":6342,"context_line":"          }]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_5fb859e5","line":6339,"updated":"2015-07-21 18:20:07.000000000","message":"nit: include comma after True","commit_id":"54af55dafcea7bd3738947785776c01019c6050a"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"d81b88b0e37147ae9614b4ca58982c9863dd3c69","unresolved":false,"context_lines":[{"line_number":6310,"context_line":"                                                  mock_booted_from_vol):"},{"line_number":6311,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6312,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6313,"context_line":"        encrypted_vol \u003d {\u0027boot_index\u0027: -1,"},{"line_number":6314,"context_line":"            \u0027connection_info\u0027: {"},{"line_number":6315,"context_line":"              \u0027data\u0027: {"},{"line_number":6316,"context_line":"                \u0027encrypted\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_87ffaea9","line":6313,"updated":"2015-08-04 14:36:40.000000000","message":"Why did the boot_index change between patch set 6 and 8?","commit_id":"7dee61c6821ec9ea56b3fa19f81babffaf2ac509"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"14a11eb1b5ae17d0217292a3e1ba3192644229be","unresolved":false,"context_lines":[{"line_number":6310,"context_line":"                                                  mock_booted_from_vol):"},{"line_number":6311,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6312,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6313,"context_line":"        encrypted_vol \u003d {\u0027boot_index\u0027: -1,"},{"line_number":6314,"context_line":"            \u0027connection_info\u0027: {"},{"line_number":6315,"context_line":"              \u0027data\u0027: {"},{"line_number":6316,"context_line":"                \u0027encrypted\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_22056879","line":6313,"in_reply_to":"1a4dcd0f_87ffaea9","updated":"2015-08-04 14:56:05.000000000","message":"I changed boot_index to -1 to keep it consistent with its description in the Nova API. It has no impact on the result of the unit test.","commit_id":"7dee61c6821ec9ea56b3fa19f81babffaf2ac509"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"16e77618c97a10617f4a5de1b1faeb124f1f4e91","unresolved":false,"context_lines":[{"line_number":2736,"context_line":"        booted_from_volume \u003d self._is_booted_from_volume("},{"line_number":2737,"context_line":"            instance, disk_mapping)"},{"line_number":2738,"context_line":""},{"line_number":2739,"context_line":"        if(booted_from_volume):"},{"line_number":2740,"context_line":"            block_device_mapping \u003d driver.block_device_info_get_mapping("},{"line_number":2741,"context_line":"                                                      block_device_info)"},{"line_number":2742,"context_line":"            for vol in block_device_mapping:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_42516f61","line":2739,"updated":"2015-07-21 14:29:39.000000000","message":"if booted_from_volume:","commit_id":"c54110a3a90cd9ad63f24fc4e4268f55f5d6d282"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"16e77618c97a10617f4a5de1b1faeb124f1f4e91","unresolved":false,"context_lines":[{"line_number":2740,"context_line":"            block_device_mapping \u003d driver.block_device_info_get_mapping("},{"line_number":2741,"context_line":"                                                      block_device_info)"},{"line_number":2742,"context_line":"            for vol in block_device_mapping:"},{"line_number":2743,"context_line":"                if(\u0027connection_info\u0027 in vol and"},{"line_number":2744,"context_line":"                   \u0027data\u0027 in vol[\u0027connection_info\u0027] and"},{"line_number":2745,"context_line":"                   \u0027encrypted\u0027 in vol[\u0027connection_info\u0027][\u0027data\u0027]):"},{"line_number":2746,"context_line":"                    connection_info_data \u003d vol[\u0027connection_info\u0027][\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_82a3f74e","line":2743,"updated":"2015-07-21 14:29:39.000000000","message":"if (\u0027connection_info\u0027","commit_id":"c54110a3a90cd9ad63f24fc4e4268f55f5d6d282"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"16e77618c97a10617f4a5de1b1faeb124f1f4e91","unresolved":false,"context_lines":[{"line_number":2747,"context_line":"                    encrypted \u003d connection_info_data[\u0027encrypted\u0027]"},{"line_number":2748,"context_line":"                    if encrypted:"},{"line_number":2749,"context_line":"                        LOG.error(_LE(\u0027Booting from encrypted volume\u0027"},{"line_number":2750,"context_line":"                                      \u0027 is not supported by Nova\u0027))"},{"line_number":2751,"context_line":"                        raise exception.NovaException(_(\u0027Booting from\u0027"},{"line_number":2752,"context_line":"                                      \u0027 encrypted volume is not\u0027"},{"line_number":2753,"context_line":"                                      \u0027 supported by Nova\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_a2bdd369","line":2750,"updated":"2015-07-21 14:29:39.000000000","message":"please add instance\u003dinstance","commit_id":"c54110a3a90cd9ad63f24fc4e4268f55f5d6d282"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"7929ad810544c15810d3c3bad3ac70c8d96c9035","unresolved":false,"context_lines":[{"line_number":2744,"context_line":"                   \u0027data\u0027 in vol[\u0027connection_info\u0027] and"},{"line_number":2745,"context_line":"                   \u0027encrypted\u0027 in vol[\u0027connection_info\u0027][\u0027data\u0027]):"},{"line_number":2746,"context_line":"                    connection_info_data \u003d vol[\u0027connection_info\u0027][\u0027data\u0027]"},{"line_number":2747,"context_line":"                    encrypted \u003d connection_info_data[\u0027encrypted\u0027]"},{"line_number":2748,"context_line":"                    if encrypted:"},{"line_number":2749,"context_line":"                        LOG.error(_LE(\u0027Booting from encrypted volume\u0027"},{"line_number":2750,"context_line":"                                      \u0027 is not supported by Nova\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_6d457715","line":2747,"updated":"2015-07-21 16:34:13.000000000","message":"Suggestion: I think the previous lines could be rewritten as follows\n\n  connection_info \u003d vol.get(\u0027connection_info\u0027) or {}\n  data \u003d connection_info.get(\u0027data\u0027) or {}\n  encrypted \u003d data.get(\u0027encrypted\u0027) or False\n\nwhich avoids the if block and redundancy.","commit_id":"880d5a43f57f2666e095d82bfed352a8fb52abbb"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"b136afbaabc98658e30aa333970356f4d0298932","unresolved":false,"context_lines":[{"line_number":2739,"context_line":"        if booted_from_volume:"},{"line_number":2740,"context_line":"            block_device_mapping \u003d driver.block_device_info_get_mapping("},{"line_number":2741,"context_line":"                                                      block_device_info)"},{"line_number":2742,"context_line":"            for vol in block_device_mapping:"},{"line_number":2743,"context_line":"                connection_info \u003d vol.get(\u0027connection_info\u0027) or {}"},{"line_number":2744,"context_line":"                data \u003d connection_info.get(\u0027data\u0027) or {}"},{"line_number":2745,"context_line":"                encrypted \u003d data.get(\u0027encrypted\u0027) or False"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_b8d0ad54","line":2742,"updated":"2015-07-27 08:57:40.000000000","message":"does this means every volume can\u0027t be encrypted ?\nhow about we have more than 1 volumes are used and the not-boot disk is encrypted?","commit_id":"54af55dafcea7bd3738947785776c01019c6050a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"7f040c1dc7f0f381b6f7f36d6ce7943ed7f8b207","unresolved":false,"context_lines":[{"line_number":2742,"context_line":"            for vol in block_device_mapping:"},{"line_number":2743,"context_line":"                connection_info \u003d vol.get(\u0027connection_info\u0027) or {}"},{"line_number":2744,"context_line":"                data \u003d connection_info.get(\u0027data\u0027) or {}"},{"line_number":2745,"context_line":"                is_boot_volume \u003d vol.get(\u0027boot_index\u0027) \u003d\u003d 0 or False"},{"line_number":2746,"context_line":"                encrypted \u003d data.get(\u0027encrypted\u0027) or False"},{"line_number":2747,"context_line":"                if encrypted and is_boot_volume:"},{"line_number":2748,"context_line":"                    LOG.error(_LE(\u0027Booting from encrypted volume\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_8722fea1","line":2745,"updated":"2015-07-28 06:44:03.000000000","message":"Is the `or False` necessary?","commit_id":"2f734dc187b35638f889fc9b60bd2ab49890ccb1"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"e0b2bbba23acbd9ea9124777708e3fd2a17c9dde","unresolved":false,"context_lines":[{"line_number":2708,"context_line":"                connection_info \u003d vol.get(\u0027connection_info\u0027) or {}"},{"line_number":2709,"context_line":"                data \u003d connection_info.get(\u0027data\u0027) or {}"},{"line_number":2710,"context_line":"                is_boot_volume \u003d vol.get(\u0027boot_index\u0027) \u003d\u003d 0"},{"line_number":2711,"context_line":"                encrypted \u003d data.get(\u0027encrypted\u0027) or False"},{"line_number":2712,"context_line":"                if encrypted and is_boot_volume:"},{"line_number":2713,"context_line":"                    LOG.error(_LE(\u0027Booting from encrypted volume\u0027"},{"line_number":2714,"context_line":"                                  \u0027 is not supported by Nova\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_673a8036","line":2711,"updated":"2015-07-31 18:42:03.000000000","message":"I don\u0027t think this \"or False\" is necessary either, but not a big deal.","commit_id":"d4f4b09ce038fc5613aaa7076f2636f248f41d66"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"6013fa61ac97f9ee06798e48794759ac5136bade","unresolved":false,"context_lines":[{"line_number":2708,"context_line":"                connection_info \u003d vol.get(\u0027connection_info\u0027) or {}"},{"line_number":2709,"context_line":"                data \u003d connection_info.get(\u0027data\u0027) or {}"},{"line_number":2710,"context_line":"                is_boot_volume \u003d vol.get(\u0027boot_index\u0027) \u003d\u003d 0"},{"line_number":2711,"context_line":"                encrypted \u003d data.get(\u0027encrypted\u0027) or False"},{"line_number":2712,"context_line":"                if encrypted and is_boot_volume:"},{"line_number":2713,"context_line":"                    LOG.error(_LE(\u0027Booting from encrypted volume\u0027"},{"line_number":2714,"context_line":"                                  \u0027 is not supported by Nova\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_7f84440a","line":2711,"in_reply_to":"3a50d1a3_673a8036","updated":"2015-07-31 19:57:44.000000000","message":"Concur. Please remove if other changes are necessary.","commit_id":"d4f4b09ce038fc5613aaa7076f2636f248f41d66"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"6013fa61ac97f9ee06798e48794759ac5136bade","unresolved":false,"context_lines":[{"line_number":2712,"context_line":"                if encrypted and is_boot_volume:"},{"line_number":2713,"context_line":"                    LOG.error(_LE(\u0027Booting from encrypted volume\u0027"},{"line_number":2714,"context_line":"                                  \u0027 is not supported by Nova\u0027),"},{"line_number":2715,"context_line":"                                  instance\u003dinstance)"},{"line_number":2716,"context_line":"                    raise exception.NovaException(_(\u0027Booting from\u0027"},{"line_number":2717,"context_line":"                                  \u0027 encrypted volume is not\u0027"},{"line_number":2718,"context_line":"                                  \u0027 supported by Nova\u0027))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_bf064c83","line":2715,"updated":"2015-07-31 19:57:44.000000000","message":"Would be nice to extract the message -- e.g.,\n\n  msg \u003d \u0027Booting from encrypted volume is not supported by Nova\u0027\n\nand then use that message in the log and exception messages.","commit_id":"d4f4b09ce038fc5613aaa7076f2636f248f41d66"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"6013fa61ac97f9ee06798e48794759ac5136bade","unresolved":false,"context_lines":[{"line_number":2715,"context_line":"                                  instance\u003dinstance)"},{"line_number":2716,"context_line":"                    raise exception.NovaException(_(\u0027Booting from\u0027"},{"line_number":2717,"context_line":"                                  \u0027 encrypted volume is not\u0027"},{"line_number":2718,"context_line":"                                  \u0027 supported by Nova\u0027))"},{"line_number":2719,"context_line":""},{"line_number":2720,"context_line":"        def image(fname, image_type\u003dCONF.libvirt.images_type):"},{"line_number":2721,"context_line":"            return self.image_backend.image(instance,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_3f68fc20","line":2718,"updated":"2015-07-31 19:57:44.000000000","message":"Is logging necessary given that the exception will propagate the error message (and presumably be logged at some point)?","commit_id":"d4f4b09ce038fc5613aaa7076f2636f248f41d66"}]}
