)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"70ffb4f9_d93ce60e","updated":"2022-02-21 18:30:56.000000000","message":"Lots of nits, but the general direction is fine","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c208cb4d691b85eab5a7d5c73b1eff2c5b2caea3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b92a16b2_a2742162","updated":"2022-07-13 08:06:11.000000000","message":"if people are comfortabel with teh current approch im ok to proceed with it but i have alays dislike extened teh term ephpmeral to anything other the teh explict epmeral disks requestabel vai the flavor/commandlien","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6803dffcea8e51ca1c671364b258a810aaa356e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"7df19773_2e3bb52f","updated":"2022-07-20 02:19:32.000000000","message":"I haven\u0027t changed anything wrt the naming yet, I had added a pointer to the nova meeting agenda to get more input but it looks like it didn\u0027t get covered. I will bring it up again next meeting as maybe people would be more likely to say an opinion in that setting.","commit_id":"005b49343947612b4e90d7b570737608a17851cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4317701f522fb532675cb3ab94fca663f3b708ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c833c560_f9d24198","updated":"2022-08-09 15:49:31.000000000","message":"droping -1 as noted on irc ill try and fined time to rereivew soon","commit_id":"2f97ca2cdc6e804ac848ce152d36978c0e296394"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f61c689576861423916f7f18cba976cdc5e1a4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"f6286364_d52fa230","updated":"2022-08-10 08:44:00.000000000","message":"minor nits aside i think this looks fine","commit_id":"2f97ca2cdc6e804ac848ce152d36978c0e296394"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"395c248147d79f6c486140933fded5d0800ea3e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4d1aae00_61b609f9","updated":"2022-08-18 03:31:02.000000000","message":"recheck","commit_id":"2f97ca2cdc6e804ac848ce152d36978c0e296394"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4a07908d4b5473f8dc60afa991c3dfc9938ec85d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"61fc6074_8cafcf0a","updated":"2022-08-18 08:48:52.000000000","message":"recheck timeout","commit_id":"2f97ca2cdc6e804ac848ce152d36978c0e296394"}],"nova/api/validation/extra_specs/hw.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":505,"context_line":"    base.ExtraSpecValidator("},{"line_number":506,"context_line":"        name\u003d\u0027hw:ephemeral_encryption\u0027,"},{"line_number":507,"context_line":"        description\u003d("},{"line_number":508,"context_line":"            \u0027Wheter to enable ephemeral storage encryption.\u0027"},{"line_number":509,"context_line":"        ),"},{"line_number":510,"context_line":"        value\u003d{"},{"line_number":511,"context_line":"            \u0027type\u0027: bool,"}],"source_content_type":"text/x-python","patch_set":6,"id":"922c05d0_648cf90d","line":508,"range":{"start_line":508,"start_character":13,"end_line":508,"end_character":19},"updated":"2022-02-21 18:30:56.000000000","message":"Whether","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":505,"context_line":"    base.ExtraSpecValidator("},{"line_number":506,"context_line":"        name\u003d\u0027hw:ephemeral_encryption\u0027,"},{"line_number":507,"context_line":"        description\u003d("},{"line_number":508,"context_line":"            \u0027Wheter to enable ephemeral storage encryption.\u0027"},{"line_number":509,"context_line":"        ),"},{"line_number":510,"context_line":"        value\u003d{"},{"line_number":511,"context_line":"            \u0027type\u0027: bool,"}],"source_content_type":"text/x-python","patch_set":6,"id":"a13749e9_a3c49789","line":508,"range":{"start_line":508,"start_character":13,"end_line":508,"end_character":19},"in_reply_to":"922c05d0_648cf90d","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":509,"context_line":"        ),"},{"line_number":510,"context_line":"        value\u003d{"},{"line_number":511,"context_line":"            \u0027type\u0027: bool,"},{"line_number":512,"context_line":"            \u0027description\u0027: \u0027Wheter to enable ephemeral storage encryption.\u0027,"},{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("}],"source_content_type":"text/x-python","patch_set":6,"id":"ce34e16d_0ddb40f4","line":512,"range":{"start_line":512,"start_character":28,"end_line":512,"end_character":34},"updated":"2022-02-21 18:30:56.000000000","message":"Whether","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        ),"},{"line_number":510,"context_line":"        value\u003d{"},{"line_number":511,"context_line":"            \u0027type\u0027: bool,"},{"line_number":512,"context_line":"            \u0027description\u0027: \u0027Wheter to enable ephemeral storage encryption.\u0027,"},{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("}],"source_content_type":"text/x-python","patch_set":6,"id":"fe5fc666_032adf93","line":512,"range":{"start_line":512,"start_character":28,"end_line":512,"end_character":34},"in_reply_to":"ce34e16d_0ddb40f4","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if epehemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"},{"line_number":520,"context_line":"        ),"},{"line_number":521,"context_line":"        value\u003d{"}],"source_content_type":"text/x-python","patch_set":6,"id":"462b98aa_4d28c689","line":518,"range":{"start_line":518,"start_character":49,"end_line":518,"end_character":59},"updated":"2022-02-21 18:30:56.000000000","message":"ephemeral","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if epehemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"},{"line_number":520,"context_line":"        ),"},{"line_number":521,"context_line":"        value\u003d{"}],"source_content_type":"text/x-python","patch_set":6,"id":"595782b7_735e89be","line":518,"range":{"start_line":518,"start_character":49,"end_line":518,"end_character":59},"in_reply_to":"462b98aa_4d28c689","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e3e148e34f9a74e12ad38abbe31b87e8537752e0","unresolved":true,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"88d02e25_909eee61","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"updated":"2022-07-12 08:33:58.000000000","message":"im kind of sad I did not think of this in the spec review but we should not use the term ephemeral to refer to the root disk.\n\nthe root disk is just as persistent as a cinder volume\n\nwe should have used a term like hw:disk_encrpution_format or hw:local_encryption_format\n\nhw:ephemeral_encryption_format is ambiguous as it could just refer to the ephemeral storage not the root disk.\n\ndo you think we should update the spec to use a better term\n\nsame for hw:ephemeral_encryption\u0027, I would prefer to use hw:disk_encryption\u0027,","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c208cb4d691b85eab5a7d5c73b1eff2c5b2caea3","unresolved":true,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f394ff0_a16333e3","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"in_reply_to":"2304507b_5b59255b","updated":"2022-07-13 08:06:11.000000000","message":"ack, I agree on more import before reworking.\n\nI have always found the term ephemeral to be mildly offensive or derogatory when referring to nova root disk storage. i.e. it implies that nova is carless with you data and cinder is not.\n\nto me, cinder storage is not any more persistent than novas.\nboth only exist for the lifetime of the resource that created them (volume or instance) \n\ncinder storage does not impley that the backen has any addtional resilnce or data integrety properties espically when using nfs to store qcow files like many cinder drivers do. \n\nso i have alwasy considerd it incorrect to refer to the root_disk as ephmeral unless you also consider every other resouce a instance owns to be ephmeral including its data volume.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ac5f879c3884969f739eeecb46203afa63a515cf","unresolved":true,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"2aa7d160_fbb8ef73","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"in_reply_to":"28272c96_f59b9ec6","updated":"2022-07-14 12:15:15.000000000","message":"i am fine with  \"local disk encryption\" if others agree we should make this change and its useful to disambiguate.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7899741a6050ebc8ee46b501d70905f13b74c340","unresolved":false,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"6fb07b72_78327e0a","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"in_reply_to":"2aa7d160_fbb8ef73","updated":"2022-08-09 15:44:46.000000000","message":"As far as I\u0027m aware, this has been resolved and we\u0027ve agreed to stick with this terminology. Will ask Sean to drop their -1","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"232b82a1bce43dc044eac107f7d57602a5bbe37c","unresolved":true,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"28272c96_f59b9ec6","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"in_reply_to":"5f394ff0_a16333e3","updated":"2022-07-14 08:44:41.000000000","message":"In the flavors and the block_device_mapping REST API doc we use the term \"local\" compared to \"volume\" and use the term \"root disk\" compared to \"ephemeral\". So I think the \"local disk encryption\" is the closest terminology we can have for this feature to include both the root disk and the ephemeral disk handled by nova.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ef52035d94b52f938f942bd0ae96ec9d23934482","unresolved":true,"context_lines":[{"line_number":513,"context_line":"        },"},{"line_number":514,"context_line":"    ),"},{"line_number":515,"context_line":"    base.ExtraSpecValidator("},{"line_number":516,"context_line":"        name\u003d\u0027hw:ephemeral_encryption_format\u0027,"},{"line_number":517,"context_line":"        description\u003d("},{"line_number":518,"context_line":"            \u0027The encryption format to be used if ephemeral storage \u0027"},{"line_number":519,"context_line":"            \u0027encryption is enabled via hw:ephemeral_encryption.\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"2304507b_5b59255b","line":516,"range":{"start_line":516,"start_character":17,"end_line":516,"end_character":44},"in_reply_to":"88d02e25_909eee61","updated":"2022-07-13 01:25:43.000000000","message":"\u003e im kind of sad I did not think of this in the spec review but we should not use the term ephemeral to refer to the root disk.\n\u003e \n\u003e the root disk is just as persistent as a cinder volume\n\u003e \n\u003e we should have used a term like hw:disk_encrpution_format or hw:local_encryption_format\n\nI dunno, IMHO the use of the word ephemeral is not wrong referring to storage that only exists during the lifecycle of the VM (as opposed to cinder volumes/remote storage [not created by nova] that continues to persist after the VM is destroyed).\n\nI googled a bit and found it seems a pretty standard use:\n\n* https://help.dreamhost.com/hc/en-us/articles/217701757-What-s-the-difference-between-ephemeral-and-volume-boot-disks-\n\n* https://docs.openshift.com/container-platform/4.6/storage/understanding-ephemeral-storage.html\n\n* https://kubernetes.io/docs/concepts/storage/ephemeral-volumes\n\n\u003e hw:ephemeral_encryption_format is ambiguous as it could just refer to the ephemeral storage not the root disk.\n\nIt\u0027s not ambiguous in that it is meant to encrypt all of the ephemeral disks, not only the root disk. It is indirectly mentioned in the spec:\nhttps://specs.openstack.org/openstack/nova-specs/specs/yoga/approved/ephemeral-storage-encryption.html#populate-ephemeral-encryption-blockdevicemapping-attributes-during-build\n\nBut ... I realize it *is* ambiguous if there is a cinder volume attached with delete_on_termination\u003dTrue. In this scenario we would not be encrypting the cinder volumes data and they will be deleted when the VM is deleted. So perhaps this is reason enough to change it.\n\n\u003e do you think we should update the spec to use a better term\n\u003e \n\u003e same for hw:ephemeral_encryption\u0027, I would prefer to use hw:disk_encryption\u0027,\n\nPersonally I think \"disk encryption\" is ambiguous because it could mean any disk attached to the VM including cinder volumes. If we change the term, I think \"local encryption\" or \"local disk encryption\" is more clear.\n\nI think it would also be worthwhile to get additional input from more reviewers before changing everything.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e3e148e34f9a74e12ad38abbe31b87e8537752e0","unresolved":true,"context_lines":[{"line_number":521,"context_line":"        value\u003d{"},{"line_number":522,"context_line":"            \u0027type\u0027: str,"},{"line_number":523,"context_line":"            \u0027description\u0027: \u0027The encryption format to be used if enabled.\u0027,"},{"line_number":524,"context_line":"            \u0027enum\u0027: fields.BlockDeviceEncryptionFormatType.ALL,"},{"line_number":525,"context_line":"        },"},{"line_number":526,"context_line":"    ),"},{"line_number":527,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9d3b8a21_5e472e51","line":524,"range":{"start_line":524,"start_character":20,"end_line":524,"end_character":63},"updated":"2022-07-12 08:33:58.000000000","message":"extra specs are not part of the micro versioned api. i.e. adding or extending \nextra specs does not require a new microverion\n\nwith that in mind the fact that this will track the currently defined set of encryption formats and update automatically when we add new ones is probably the correct approach.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7899741a6050ebc8ee46b501d70905f13b74c340","unresolved":false,"context_lines":[{"line_number":521,"context_line":"        value\u003d{"},{"line_number":522,"context_line":"            \u0027type\u0027: str,"},{"line_number":523,"context_line":"            \u0027description\u0027: \u0027The encryption format to be used if enabled.\u0027,"},{"line_number":524,"context_line":"            \u0027enum\u0027: fields.BlockDeviceEncryptionFormatType.ALL,"},{"line_number":525,"context_line":"        },"},{"line_number":526,"context_line":"    ),"},{"line_number":527,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"a95291cd_118fab6c","line":524,"range":{"start_line":524,"start_character":20,"end_line":524,"end_character":63},"in_reply_to":"9d3b8a21_5e472e51","updated":"2022-08-09 15:44:46.000000000","message":"Ack","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"}],"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"03d327dc_56358c16","line":1553,"range":{"start_line":1553,"start_character":18,"end_line":1553,"end_character":31},"updated":"2022-02-21 18:30:56.000000000","message":"Let\u0027s not propagate the instance_type mess (haven\u0027t we cleaned most of those up now?) It\u0027s a flavor 😊","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"bead5efc_773f2ecb","line":1553,"range":{"start_line":1553,"start_character":33,"end_line":1553,"end_character":42},"updated":"2022-02-21 18:30:56.000000000","message":"image_meta ?","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"61375bf4_082d9279","line":1553,"updated":"2022-02-21 18:30:56.000000000","message":"nit: typing hints would be A1. I think:\n\n    def _update_ephemeral_encryption_bdms(\n        self,\n        flavor: \u0027objects.Flavor\u0027,\n        image_meta: \u0027objects.ImageMeta\u0027,\n        block_device_mapping: \u0027objects.BlockDeviceMappingList\u0027,\n    ) -\u003e None:\n\nought to do the trick?","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"90c487fa_5b0d4547","line":1553,"range":{"start_line":1553,"start_character":18,"end_line":1553,"end_character":31},"in_reply_to":"03d327dc_56358c16","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e3e148e34f9a74e12ad38abbe31b87e8537752e0","unresolved":false,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"7095da81_9c87f489","line":1553,"range":{"start_line":1553,"start_character":33,"end_line":1553,"end_character":42},"in_reply_to":"133f1ab2_ac3309ce","updated":"2022-07-12 08:33:58.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"0161d943_0623c6f6","line":1553,"in_reply_to":"61375bf4_082d9279","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":true,"context_lines":[{"line_number":1550,"context_line":"        return objects.InstanceGroup.get_by_uuid(context, group_hint)"},{"line_number":1551,"context_line":""},{"line_number":1552,"context_line":"    def _update_ephemeral_encryption_bdms("},{"line_number":1553,"context_line":"            self, instance_type, boot_meta, block_device_mapping):"},{"line_number":1554,"context_line":"        \"\"\"Update local BlockDeviceMappings when ephemeral encryption requested"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"        Enable ephemeral encryption in all local BlockDeviceMappings"}],"source_content_type":"text/x-python","patch_set":6,"id":"133f1ab2_ac3309ce","line":1553,"range":{"start_line":1553,"start_character":33,"end_line":1553,"end_character":42},"in_reply_to":"bead5efc_773f2ecb","updated":"2022-03-23 23:38:41.000000000","message":"Correct, it\u0027s image_meta in dict form. Elsewhere in this file I see that the name \"boot_meta\" is used to mean the image meta dict. But it\u0027s more clear to name it image_meta_dict, for example.","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":false,"context_lines":[{"line_number":1659,"context_line":"            max_count \u003d max_net_count"},{"line_number":1660,"context_line":""},{"line_number":1661,"context_line":"        # _check_and_transform_bdm transforms block_device_mapping from API"},{"line_number":1662,"context_line":"        # bdms (dicts) to a BlockDeviceMappingList."},{"line_number":1663,"context_line":"        block_device_mapping \u003d self._check_and_transform_bdm(context,"},{"line_number":1664,"context_line":"            base_options, flavor, boot_meta, min_count, max_count,"},{"line_number":1665,"context_line":"            block_device_mapping, legacy_bdm)"}],"source_content_type":"text/x-python","patch_set":6,"id":"6912baf5_fa6e2413","line":1662,"updated":"2022-02-21 18:30:56.000000000","message":"A type hint on same would be very educational 😉","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e3e148e34f9a74e12ad38abbe31b87e8537752e0","unresolved":true,"context_lines":[{"line_number":1606,"context_line":"        eph_format \u003d hardware.get_ephemeral_encryption_format("},{"line_number":1607,"context_line":"            flavor, image_meta)"},{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":"        # NOTE(lyarwood): The term ephemeral is overloaded in the codebase,"},{"line_number":1610,"context_line":"        # what it actually means in the context of ephemeral encryption is"},{"line_number":1611,"context_line":"        # anything local to the compute host so use the is_local property."},{"line_number":1612,"context_line":"        # TODO(lyarwood): Add .get_local_devices() to BlockDeviceMappingList"},{"line_number":1613,"context_line":"        for bdm in [b for b in block_device_mapping if b.is_local]:"},{"line_number":1614,"context_line":"            bdm.encrypted \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"8fa947ac_523a8a8c","line":1611,"range":{"start_line":1609,"start_character":7,"end_line":1611,"end_character":74},"updated":"2022-07-12 08:33:58.000000000","message":"not really\n\nephemeral should only ever refer to the additional non root local disks\nthe local disk should never be referred to as ephemeral.\n\nwhich makes me think we should rename this feature to stop propagating the overloading.\n\nthis comment is what made me think we should rename the extra specs by the way.\n\nwe should be very clear to never use the term ephmeral to refer too the root disk","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f61c689576861423916f7f18cba976cdc5e1a4e","unresolved":false,"context_lines":[{"line_number":1606,"context_line":"        eph_format \u003d hardware.get_ephemeral_encryption_format("},{"line_number":1607,"context_line":"            flavor, image_meta)"},{"line_number":1608,"context_line":""},{"line_number":1609,"context_line":"        # NOTE(lyarwood): The term ephemeral is overloaded in the codebase,"},{"line_number":1610,"context_line":"        # what it actually means in the context of ephemeral encryption is"},{"line_number":1611,"context_line":"        # anything local to the compute host so use the is_local property."},{"line_number":1612,"context_line":"        # TODO(lyarwood): Add .get_local_devices() to BlockDeviceMappingList"},{"line_number":1613,"context_line":"        for bdm in [b for b in block_device_mapping if b.is_local]:"},{"line_number":1614,"context_line":"            bdm.encrypted \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"2d85f48b_4401bf40","line":1611,"range":{"start_line":1609,"start_character":7,"end_line":1611,"end_character":74},"in_reply_to":"8fa947ac_523a8a8c","updated":"2022-08-10 08:44:00.000000000","message":"we have disucssed this at length so marking resovled.","commit_id":"0afb5ffccabbc37232171910f760f757f003c3ae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7899741a6050ebc8ee46b501d70905f13b74c340","unresolved":false,"context_lines":[{"line_number":1604,"context_line":""},{"line_number":1605,"context_line":"        # NOTE(lyarwood): Attempt to find the format in the flavor and image,"},{"line_number":1606,"context_line":"        # if one isn\u0027t found then the compute will need to provide and save a"},{"line_number":1607,"context_line":"        # default format during a the initial build."},{"line_number":1608,"context_line":"        eph_format \u003d hardware.get_ephemeral_encryption_format("},{"line_number":1609,"context_line":"            flavor, image_meta)"},{"line_number":1610,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"aac227c4_f58d4239","line":1607,"range":{"start_line":1607,"start_character":32,"end_line":1607,"end_character":34},"updated":"2022-08-09 15:44:46.000000000","message":"nit: drop","commit_id":"2f97ca2cdc6e804ac848ce152d36978c0e296394"}],"nova/tests/unit/compute/test_api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":5846,"context_line":"        self._test_check_and_transform_bdm(block_device_mapping)"},{"line_number":5847,"context_line":""},{"line_number":5848,"context_line":"    def test_update_ephemeral_encryption_bdms(self):"},{"line_number":5849,"context_line":"        instance_type \u003d self._create_flavor("},{"line_number":5850,"context_line":"            extra_specs\u003d{"},{"line_number":5851,"context_line":"                \u0027hw:ephemeral_encryption\u0027: True,"},{"line_number":5852,"context_line":"                \u0027hw:ephemeral_encryption_format\u0027: \u0027luks\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a2d7435_09797ff3","line":5849,"range":{"start_line":5849,"start_character":8,"end_line":5849,"end_character":21},"updated":"2022-02-21 18:30:56.000000000","message":"flavor","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":5846,"context_line":"        self._test_check_and_transform_bdm(block_device_mapping)"},{"line_number":5847,"context_line":""},{"line_number":5848,"context_line":"    def test_update_ephemeral_encryption_bdms(self):"},{"line_number":5849,"context_line":"        instance_type \u003d self._create_flavor("},{"line_number":5850,"context_line":"            extra_specs\u003d{"},{"line_number":5851,"context_line":"                \u0027hw:ephemeral_encryption\u0027: True,"},{"line_number":5852,"context_line":"                \u0027hw:ephemeral_encryption_format\u0027: \u0027luks\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"78875988_b522caf0","line":5849,"range":{"start_line":5849,"start_character":8,"end_line":5849,"end_character":21},"in_reply_to":"1a2d7435_09797ff3","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"}],"nova/virt/hardware.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":2496,"context_line":"        emsg \u003d _("},{"line_number":2497,"context_line":"            \"Flavor %(flavor_name)s has hw:ephemeral_encryption extra spec \""},{"line_number":2498,"context_line":"            \"explicitly set to %(flavor_val)s, conflicting with \""},{"line_number":2499,"context_line":"            \"image %(image_name)s which has hw_eph_encryptionryption property \""},{"line_number":2500,"context_line":"            \"explicitly set to %(image_val)s\""},{"line_number":2501,"context_line":"        )"},{"line_number":2502,"context_line":"        data \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"128fd7c9_b690a3eb","line":2499,"range":{"start_line":2499,"start_character":61,"end_line":2499,"end_character":68},"updated":"2022-02-21 18:30:56.000000000","message":"strike","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":2496,"context_line":"        emsg \u003d _("},{"line_number":2497,"context_line":"            \"Flavor %(flavor_name)s has hw:ephemeral_encryption extra spec \""},{"line_number":2498,"context_line":"            \"explicitly set to %(flavor_val)s, conflicting with \""},{"line_number":2499,"context_line":"            \"image %(image_name)s which has hw_eph_encryptionryption property \""},{"line_number":2500,"context_line":"            \"explicitly set to %(image_val)s\""},{"line_number":2501,"context_line":"        )"},{"line_number":2502,"context_line":"        data \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"50b1db2f_c5c3ab4a","line":2499,"range":{"start_line":2499,"start_character":61,"end_line":2499,"end_character":68},"in_reply_to":"128fd7c9_b690a3eb","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"36164592c047532975e79ada6f55d1388014d45e","unresolved":true,"context_lines":[{"line_number":2513,"context_line":"def get_ephemeral_encryption_format("},{"line_number":2514,"context_line":"    flavor: \u0027objects.flavor\u0027,"},{"line_number":2515,"context_line":"    image_meta: \u0027objects.imagemeta\u0027,"},{"line_number":2516,"context_line":") -\u003e str:"},{"line_number":2517,"context_line":"    \"\"\"Get the ephemeral encryption format."},{"line_number":2518,"context_line":""},{"line_number":2519,"context_line":"    :param instance_type: Flavor object"}],"source_content_type":"text/x-python","patch_set":6,"id":"4d4f7194_8157e82e","line":2516,"range":{"start_line":2516,"start_character":5,"end_line":2516,"end_character":8},"updated":"2022-02-21 18:30:56.000000000","message":"You want:\n\n  ty.Optional[str]","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cd0e6e423f32243c8a55aef9286718f71fe9ab99","unresolved":false,"context_lines":[{"line_number":2513,"context_line":"def get_ephemeral_encryption_format("},{"line_number":2514,"context_line":"    flavor: \u0027objects.flavor\u0027,"},{"line_number":2515,"context_line":"    image_meta: \u0027objects.imagemeta\u0027,"},{"line_number":2516,"context_line":") -\u003e str:"},{"line_number":2517,"context_line":"    \"\"\"Get the ephemeral encryption format."},{"line_number":2518,"context_line":""},{"line_number":2519,"context_line":"    :param instance_type: Flavor object"}],"source_content_type":"text/x-python","patch_set":6,"id":"e8670333_7643b8c1","line":2516,"range":{"start_line":2516,"start_character":5,"end_line":2516,"end_character":8},"in_reply_to":"4d4f7194_8157e82e","updated":"2022-03-23 23:38:41.000000000","message":"Done","commit_id":"cfd5f6a9ead17cca6b25400fd4d20c9f8b8d0424"}]}
