)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"30aa52c994d952192aa663c8a96c0f27ae90a50d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"db683d86_edc3141c","updated":"2024-08-29 14:28:35.000000000","message":"Very good and written patch, thanks !","commit_id":"c8674a88b690cab9e38c786e40f95efefe357c13"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a7b96645a617c826b2bb9df79400c7d9a5f4059e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1eb02cfc_d18ebb6b","updated":"2024-08-30 02:15:43.000000000","message":"recheck no interfaces have a carrier","commit_id":"c8674a88b690cab9e38c786e40f95efefe357c13"}],"nova/scheduler/utils.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"75aad443fb8bcc7c42ff1835089c203e430ca1b7","unresolved":true,"context_lines":[{"line_number":299,"context_line":"        if vtpm_config.model \u003d\u003d obj_fields.TPMModel.TIS:"},{"line_number":300,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_TIS"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_CRB"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # Require the appropriate vTPM version support trait on a host."},{"line_number":305,"context_line":"        if vtpm_config.version \u003d\u003d obj_fields.TPMVersion.v1_2:"}],"source_content_type":"text/x-python","patch_set":3,"id":"0e2bca23_b0755d1e","line":302,"updated":"2024-08-09 02:56:14.000000000","message":"i need to check but i tought the model was optional but the version was required\n\ni need to check the orginal spec too confirm that crb is the default when not set\nbut we may want to to only set the model trait if its explictly requested.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9e867f32317ca2ebcc0874d127d8325d17bbc2f8","unresolved":true,"context_lines":[{"line_number":299,"context_line":"        if vtpm_config.model \u003d\u003d obj_fields.TPMModel.TIS:"},{"line_number":300,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_TIS"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_CRB"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # Require the appropriate vTPM version support trait on a host."},{"line_number":305,"context_line":"        if vtpm_config.version \u003d\u003d obj_fields.TPMVersion.v1_2:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abbb955_c13b247a","line":302,"in_reply_to":"0e2bca23_b0755d1e","updated":"2024-08-09 15:04:58.000000000","message":"When model is not set then TIS is used by default.\n\nhttps://github.com/openstack/nova/blob/7399728e8937c31b7e92ed8fa7f9ce860c9a3b9f/nova/virt/hardware.py#L2040-L2042\n\nThe field is already set to TIS by get_vtpm_constraint if the model is not explicitly requested by image/flavor. I\u0027ve added a unit test case to assert this behavior.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9f6bf0bbd59a46f9322ed831e2ad0789bff449ba","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        if vtpm_config.model \u003d\u003d obj_fields.TPMModel.TIS:"},{"line_number":300,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_TIS"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_CRB"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # Require the appropriate vTPM version support trait on a host."},{"line_number":305,"context_line":"        if vtpm_config.version \u003d\u003d obj_fields.TPMVersion.v1_2:"}],"source_content_type":"text/x-python","patch_set":3,"id":"8008d270_cfa5a184","line":302,"in_reply_to":"6d1e6005_98c65778","updated":"2024-08-10 03:41:14.000000000","message":"Done. I also rewrote the logic for version but lmk if you don\u0027t want me to touch that block.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"df826d39234882008fc4c1cacc4c00dbd443013e","unresolved":true,"context_lines":[{"line_number":299,"context_line":"        if vtpm_config.model \u003d\u003d obj_fields.TPMModel.TIS:"},{"line_number":300,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_TIS"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_CRB"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # Require the appropriate vTPM version support trait on a host."},{"line_number":305,"context_line":"        if vtpm_config.version \u003d\u003d obj_fields.TPMVersion.v1_2:"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d1e6005_98c65778","line":302,"in_reply_to":"9abbb955_c13b247a","updated":"2024-08-09 16:55:56.000000000","message":"ok so the defaultin to TIS is done in hardware.get_vtpm_constraint(flavor, image)\nso this will alwasy be set and we will take one of the two branchs.\n\ni would still like you rewrite this as\n\n```suggestion\n            \n          model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_TIS\n          if vtpm_config.model \u003d\u003d obj_fields.TPMModel.CRB:\n              model_trait \u003d os_traits.COMPUTE_SECURITY_TPM_CRB\n```","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"75aad443fb8bcc7c42ff1835089c203e430ca1b7","unresolved":true,"context_lines":[{"line_number":307,"context_line":"        else:"},{"line_number":308,"context_line":"            version_trait \u003d os_traits.COMPUTE_SECURITY_TPM_2_0"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        self._add_trait(model_trait, \u0027required\u0027)"},{"line_number":311,"context_line":"        self._add_trait(version_trait, \u0027required\u0027)"},{"line_number":312,"context_line":"        LOG.debug(\"Requiring emulated TPM support via trait %s and %s.\","},{"line_number":313,"context_line":"                  version_trait, model_trait)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cc5136c6_99e1b517","line":310,"updated":"2024-08-09 02:56:14.000000000","message":"that would require this to be conditional.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"df826d39234882008fc4c1cacc4c00dbd443013e","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        else:"},{"line_number":308,"context_line":"            version_trait \u003d os_traits.COMPUTE_SECURITY_TPM_2_0"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        self._add_trait(model_trait, \u0027required\u0027)"},{"line_number":311,"context_line":"        self._add_trait(version_trait, \u0027required\u0027)"},{"line_number":312,"context_line":"        LOG.debug(\"Requiring emulated TPM support via trait %s and %s.\","},{"line_number":313,"context_line":"                  version_trait, model_trait)"}],"source_content_type":"text/x-python","patch_set":3,"id":"aad1b3ed_59a924bf","line":310,"in_reply_to":"983f2217_947e8e80","updated":"2024-08-09 16:55:56.000000000","message":"Acknowledged","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"28aa1991ee891d80f35fa419735d796077b0b0b3","unresolved":true,"context_lines":[{"line_number":307,"context_line":"        else:"},{"line_number":308,"context_line":"            version_trait \u003d os_traits.COMPUTE_SECURITY_TPM_2_0"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        self._add_trait(model_trait, \u0027required\u0027)"},{"line_number":311,"context_line":"        self._add_trait(version_trait, \u0027required\u0027)"},{"line_number":312,"context_line":"        LOG.debug(\"Requiring emulated TPM support via trait %s and %s.\","},{"line_number":313,"context_line":"                  version_trait, model_trait)"}],"source_content_type":"text/x-python","patch_set":3,"id":"983f2217_947e8e80","line":310,"in_reply_to":"cc5136c6_99e1b517","updated":"2024-08-09 15:22:31.000000000","message":"Because the specific model (TIS) is used when no model is requested, this should be required.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"75aad443fb8bcc7c42ff1835089c203e430ca1b7","unresolved":true,"context_lines":[{"line_number":12922,"context_line":"            tr \u003d {"},{"line_number":12923,"context_line":"                ot.COMPUTE_SECURITY_TPM_TIS: \u0027tpm-tis\u0027 in tpm_models,"},{"line_number":12924,"context_line":"                ot.COMPUTE_SECURITY_TPM_CRB: \u0027tpm-crb\u0027 in tpm_models,"},{"line_number":12925,"context_line":"            }"},{"line_number":12926,"context_line":""},{"line_number":12927,"context_line":"        if tpm_versions is None:"},{"line_number":12928,"context_line":"            # TODO(tkajinam): Remove this fallback once libvirt\u003e\u003d8.6.0 is"}],"source_content_type":"text/x-python","patch_set":3,"id":"7c689d89_20c84447","line":12925,"updated":"2024-08-09 02:56:14.000000000","message":"i would prefer if you set tr \u003d{} first\n\ni generally consider this ot be a bad practic to initalise varibles in condtionals that are not pre decalred out side of the if.\n\nwe have been bitten by this in the past where it was not obviouse that a varible was only initalised in one of the branches so i dont like seeing this pattern.\n\nim aware that ifs dont create scopes in python but i would still prefer to be safe here","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d2ce9a757df596ad5e4eb1636daa231cc6596bc","unresolved":false,"context_lines":[{"line_number":12922,"context_line":"            tr \u003d {"},{"line_number":12923,"context_line":"                ot.COMPUTE_SECURITY_TPM_TIS: \u0027tpm-tis\u0027 in tpm_models,"},{"line_number":12924,"context_line":"                ot.COMPUTE_SECURITY_TPM_CRB: \u0027tpm-crb\u0027 in tpm_models,"},{"line_number":12925,"context_line":"            }"},{"line_number":12926,"context_line":""},{"line_number":12927,"context_line":"        if tpm_versions is None:"},{"line_number":12928,"context_line":"            # TODO(tkajinam): Remove this fallback once libvirt\u003e\u003d8.6.0 is"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f731cbd_775d8118","line":12925,"in_reply_to":"29ca0f4e_47a32450","updated":"2024-08-19 14:06:52.000000000","message":"hum not that was not showign for me before so i might have looked at an older verions last time i checked.","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9f6bf0bbd59a46f9322ed831e2ad0789bff449ba","unresolved":true,"context_lines":[{"line_number":12922,"context_line":"            tr \u003d {"},{"line_number":12923,"context_line":"                ot.COMPUTE_SECURITY_TPM_TIS: \u0027tpm-tis\u0027 in tpm_models,"},{"line_number":12924,"context_line":"                ot.COMPUTE_SECURITY_TPM_CRB: \u0027tpm-crb\u0027 in tpm_models,"},{"line_number":12925,"context_line":"            }"},{"line_number":12926,"context_line":""},{"line_number":12927,"context_line":"        if tpm_versions is None:"},{"line_number":12928,"context_line":"            # TODO(tkajinam): Remove this fallback once libvirt\u003e\u003d8.6.0 is"}],"source_content_type":"text/x-python","patch_set":3,"id":"29ca0f4e_47a32450","line":12925,"in_reply_to":"3e7f6a69_78c07ad3","updated":"2024-08-10 03:41:14.000000000","message":"I\u0027ve added `tr \u003d {}` in L12914 but do you expect anything different ?","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9e867f32317ca2ebcc0874d127d8325d17bbc2f8","unresolved":false,"context_lines":[{"line_number":12922,"context_line":"            tr \u003d {"},{"line_number":12923,"context_line":"                ot.COMPUTE_SECURITY_TPM_TIS: \u0027tpm-tis\u0027 in tpm_models,"},{"line_number":12924,"context_line":"                ot.COMPUTE_SECURITY_TPM_CRB: \u0027tpm-crb\u0027 in tpm_models,"},{"line_number":12925,"context_line":"            }"},{"line_number":12926,"context_line":""},{"line_number":12927,"context_line":"        if tpm_versions is None:"},{"line_number":12928,"context_line":"            # TODO(tkajinam): Remove this fallback once libvirt\u003e\u003d8.6.0 is"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1f678e_c5cb6f82","line":12925,"in_reply_to":"7c689d89_20c84447","updated":"2024-08-09 15:04:58.000000000","message":"Done","commit_id":"3b832387118c46679784c91158935f3b1e643fee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"df826d39234882008fc4c1cacc4c00dbd443013e","unresolved":true,"context_lines":[{"line_number":12922,"context_line":"            tr \u003d {"},{"line_number":12923,"context_line":"                ot.COMPUTE_SECURITY_TPM_TIS: \u0027tpm-tis\u0027 in tpm_models,"},{"line_number":12924,"context_line":"                ot.COMPUTE_SECURITY_TPM_CRB: \u0027tpm-crb\u0027 in tpm_models,"},{"line_number":12925,"context_line":"            }"},{"line_number":12926,"context_line":""},{"line_number":12927,"context_line":"        if tpm_versions is None:"},{"line_number":12928,"context_line":"            # TODO(tkajinam): Remove this fallback once libvirt\u003e\u003d8.6.0 is"}],"source_content_type":"text/x-python","patch_set":3,"id":"3e7f6a69_78c07ad3","line":12925,"in_reply_to":"fa1f678e_c5cb6f82","updated":"2024-08-09 16:55:56.000000000","message":"you have not done this","commit_id":"3b832387118c46679784c91158935f3b1e643fee"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"30aa52c994d952192aa663c8a96c0f27ae90a50d","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"            # TODO(tkajinam): Remove first check once libvirt \u003e\u003d 8.0.0 is"},{"line_number":1896,"context_line":"            # required"},{"line_number":1897,"context_line":"            # TODO(tkajinam): Remove second check once libvirt \u003e\u003d 8.6.0 is"},{"line_number":1898,"context_line":"            # required"},{"line_number":1899,"context_line":"            if _tpm is None or _tpm.models is None:"},{"line_number":1900,"context_line":"                return None"},{"line_number":1901,"context_line":"            return _tpm.models"}],"source_content_type":"text/x-python","patch_set":6,"id":"f3950801_bf0f2a14","line":1898,"updated":"2024-08-29 14:28:35.000000000","message":"++","commit_id":"c8674a88b690cab9e38c786e40f95efefe357c13"}]}
