)]}'
{"sushy_tools/emulator/resources/systems/libvirtdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4f74deaa18eff34e841ff632badb254b5b9b3a79","unresolved":true,"context_lines":[{"line_number":628,"context_line":"            # force a different nvram path for secure vs not. This will ensure"},{"line_number":629,"context_line":"            # it gets regenerated from the template when secure boot mode"},{"line_number":630,"context_line":"            # changes"},{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("}],"source_content_type":"text/x-python","patch_set":5,"id":"4fa36740_cd0973ac","line":631,"updated":"2023-12-04 15:39:15.000000000","message":"This needs an else block. We probably expect the nvram element to always exist, but your code allow for it to be None.","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"98e5f7c862f65d98710d90e37b8ab303a1ff2ecf","unresolved":true,"context_lines":[{"line_number":628,"context_line":"            # force a different nvram path for secure vs not. This will ensure"},{"line_number":629,"context_line":"            # it gets regenerated from the template when secure boot mode"},{"line_number":630,"context_line":"            # changes"},{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("}],"source_content_type":"text/x-python","patch_set":5,"id":"8725881b_b3dfd74e","line":631,"in_reply_to":"4fa36740_cd0973ac","updated":"2023-12-04 18:47:25.000000000","message":"As intended. If nvram_path has not been defined earlier, then we want to let libvirtd create the nvram path for us. We have to let libvirtd do it for us because we cannot find out which path libvirtd would use in case it was started as non-root.","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"6aa3de60d9c6b5515818f116da686e14236ca6fe","unresolved":true,"context_lines":[{"line_number":628,"context_line":"            # force a different nvram path for secure vs not. This will ensure"},{"line_number":629,"context_line":"            # it gets regenerated from the template when secure boot mode"},{"line_number":630,"context_line":"            # changes"},{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("}],"source_content_type":"text/x-python","patch_set":5,"id":"8892b936_6131b041","line":631,"in_reply_to":"8725881b_b3dfd74e","updated":"2023-12-04 20:28:01.000000000","message":"Here is the code from libvirtd which allows us to leave out the else clause:\n\nhttps://github.com/libvirt/libvirt/blob/2b148748c223dd94f42b91a03e7e4c5ecfa8a5b2/src/qemu/qemu_firmware.c#L1065","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"67de9ee6fcf53c2365682906aa0f15039c428905","unresolved":false,"context_lines":[{"line_number":628,"context_line":"            # force a different nvram path for secure vs not. This will ensure"},{"line_number":629,"context_line":"            # it gets regenerated from the template when secure boot mode"},{"line_number":630,"context_line":"            # changes"},{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("}],"source_content_type":"text/x-python","patch_set":5,"id":"b7d44568_a2efffb9","line":631,"in_reply_to":"8892b936_6131b041","updated":"2023-12-06 13:38:04.000000000","message":"Acknowledged","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4f74deaa18eff34e841ff632badb254b5b9b3a79","unresolved":true,"context_lines":[{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("},{"line_number":635,"context_line":"                        # str.removesuffix() for Python \u003c3.9"},{"line_number":636,"context_line":"                        (lambda s, suffix:"},{"line_number":637,"context_line":"                            s[:-len(suffix)] if s.endswith(suffix) else s),"}],"source_content_type":"text/x-python","patch_set":5,"id":"8dea3cef_09bf2077","line":634,"updated":"2023-12-04 15:39:15.000000000","message":"It\u0027s a somewhat unusual way to use reduce, I\u0027d slightly prefer just a normal loop.","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"7baa4f9147c4aab2f04b96a771e8f078f636ca0a","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            if nvram_path:"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                nvram_file \u003d \\"},{"line_number":634,"context_line":"                    functools.reduce("},{"line_number":635,"context_line":"                        # str.removesuffix() for Python \u003c3.9"},{"line_number":636,"context_line":"                        (lambda s, suffix:"},{"line_number":637,"context_line":"                            s[:-len(suffix)] if s.endswith(suffix) else s),"}],"source_content_type":"text/x-python","patch_set":5,"id":"b21be767_fe665e5c","line":634,"in_reply_to":"8dea3cef_09bf2077","updated":"2023-12-04 20:25:35.000000000","message":"Done","commit_id":"dd9dac45fe83bf659a6036c80cb8fb92d4356a82"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"67de9ee6fcf53c2365682906aa0f15039c428905","unresolved":true,"context_lines":[{"line_number":628,"context_line":"            # it gets regenerated from the template when secure boot mode"},{"line_number":629,"context_line":"            # changes"},{"line_number":630,"context_line":"            if nvram_path:"},{"line_number":631,"context_line":"                nvram_file \u003d os.path.basename(nvram_path)"},{"line_number":632,"context_line":"                # replace suffix"},{"line_number":633,"context_line":"                for suffix in [\u0027.secboot.fd\u0027, \u0027.nosecboot.fd\u0027, \u0027.fd\u0027]:"},{"line_number":634,"context_line":"                    # str.removesuffix() for Python \u003c3.9"}],"source_content_type":"text/x-python","patch_set":6,"id":"91112e86_7d871c01","line":631,"updated":"2023-12-06 13:38:04.000000000","message":"nit: you could operate on nvram_path directly","commit_id":"361e0eef99671cff2c5273649a10ce4367fa7610"}]}
