)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25e0153cf16cb6583b8131c030147415eff6ae00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"69c731ef_8dd70b20","updated":"2023-05-03 16:43:58.000000000","message":"This is a great start! I\u0027ve left some comments inline. Summary: you need to follow the same structure as in-band inspection and also add unit tests. Thanks.","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"9a30e57e81a91cf9f679c47fbf3dab43faca63c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"40817cff_321bf85f","updated":"2023-05-05 07:25:08.000000000","message":"thanks Mahnoor, good start with this\nwe probably need a release note here, as well as some more details in the commit message\nalso good practice would be running at least pep8 tests locally before submitting the patch","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e12665a9_7abc04fb","updated":"2023-05-22 17:07:52.000000000","message":"Great progress, some more comments incoming!","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"5e109bf4321e687c7937ba999da7f21fcd1ac4f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"72597bb4_71e5e0c6","updated":"2023-05-22 09:46:05.000000000","message":"recheck","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb18c226e5bc1ea8cc909d05cae5052c62f098a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e19ec520_35dd1e24","updated":"2023-05-26 15:26:57.000000000","message":"One tiny issue inline, otherwise great job!","commit_id":"d52b9f41be38b817df191aaa625a119114adbca3"}],"ironic/drivers/modules/redfish/inspect.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25e0153cf16cb6583b8131c030147415eff6ae00","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        if system.processors and system.processors.summary:"},{"line_number":111,"context_line":"            cpus, arch \u003d system.processors.summary"},{"line_number":112,"context_line":"            if cpus:"},{"line_number":113,"context_line":"                inspected_properties[\u0027cpus\u0027] \u003d cpus"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"            if arch:"},{"line_number":116,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"a3d473aa_9fd04488","line":113,"updated":"2023-05-03 16:43:58.000000000","message":"You need to use a new dictionary. inspected_properties is then saved as node.properties (line 184), which is not what you want.","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"ba30228bbbea66f652cfe4f5beca4c6e8df0e68a","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        if system.processors and system.processors.summary:"},{"line_number":111,"context_line":"            cpus, arch \u003d system.processors.summary"},{"line_number":112,"context_line":"            if cpus:"},{"line_number":113,"context_line":"                inspected_properties[\u0027cpus\u0027] \u003d cpus"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"            if arch:"},{"line_number":116,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"d7db4d24_4a468308","line":113,"in_reply_to":"a3d473aa_9fd04488","updated":"2023-05-11 11:56:54.000000000","message":"Ack","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25e0153cf16cb6583b8131c030147415eff6ae00","unresolved":true,"context_lines":[{"line_number":135,"context_line":"                    proc_frequencies.append(proc.max_speed_mhz)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            if proc_models:"},{"line_number":138,"context_line":"                inspected_properties[\u0027cpu_model_name\u0027] \u003d proc_models"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if proc_frequencies:"},{"line_number":141,"context_line":"                inspected_properties[\u0027cpu_frequencies\u0027] \u003d proc_frequencies"}],"source_content_type":"text/x-python","patch_set":1,"id":"57352b1a_e4bff092","line":138,"updated":"2023-05-03 16:43:58.000000000","message":"This does not seem to follow the format of the hardware inventory strictly, please double-check with https://docs.openstack.org/ironic-python-agent/latest/admin/how_it_works.html#hardware-inventory. Or see this example, it is from in-band inspection: https://paste.opendev.org/show/b042126G1X6DAQpAVU00/. You cannot collect all these fields, but you should keep the structure the same.","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"ba30228bbbea66f652cfe4f5beca4c6e8df0e68a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                    proc_frequencies.append(proc.max_speed_mhz)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            if proc_models:"},{"line_number":138,"context_line":"                inspected_properties[\u0027cpu_model_name\u0027] \u003d proc_models"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if proc_frequencies:"},{"line_number":141,"context_line":"                inspected_properties[\u0027cpu_frequencies\u0027] \u003d proc_frequencies"}],"source_content_type":"text/x-python","patch_set":1,"id":"68fe7b9e_1a9c583f","line":138,"in_reply_to":"57352b1a_e4bff092","updated":"2023-05-11 11:56:54.000000000","message":"Ack","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25e0153cf16cb6583b8131c030147415eff6ae00","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                LOG.warning(\"No port information discovered \""},{"line_number":217,"context_line":"                            \"for node %(node)s\", {\u0027node\u0027: task.node.uuid})"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        inspect_utils.store_inspection_data(task.node, inspected_properties, None, task.context)"},{"line_number":220,"context_line":"        return states.MANAGEABLE"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def _create_ports(self, task, system):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9bb6f3a2_636a0d0e","line":219,"updated":"2023-05-03 16:43:58.000000000","message":"You need to add/update unit tests for every change you\u0027re making.","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"ba30228bbbea66f652cfe4f5beca4c6e8df0e68a","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                LOG.warning(\"No port information discovered \""},{"line_number":217,"context_line":"                            \"for node %(node)s\", {\u0027node\u0027: task.node.uuid})"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        inspect_utils.store_inspection_data(task.node, inspected_properties, None, task.context)"},{"line_number":220,"context_line":"        return states.MANAGEABLE"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def _create_ports(self, task, system):"}],"source_content_type":"text/x-python","patch_set":1,"id":"998baf8d_c4191b2a","line":219,"in_reply_to":"9bb6f3a2_636a0d0e","updated":"2023-05-11 11:56:54.000000000","message":"Ack","commit_id":"924bf727bb378f84d998f82d79ea7e85524ae93b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":true,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        if system.memory_summary and system.memory_summary.size_gib:"},{"line_number":108,"context_line":"            memory \u003d str(system.memory_summary.size_gib * units.Ki)"},{"line_number":109,"context_line":"            inspected_properties[\u0027memory_mb\u0027] \u003d memory"},{"line_number":110,"context_line":"            inventory[\u0027memory\u0027] \u003d {\u0027physical_mb\u0027: memory}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self._get_processor_info(task, system, inspected_properties, inventory)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cbdb8ad3_1d29dc6a","line":109,"updated":"2023-05-22 17:07:52.000000000","message":"Move str() here please because the value in the inventory should stay an integer.","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"46bfda0cef60b3e43d9a7a666e19de3378038e81","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        if system.memory_summary and system.memory_summary.size_gib:"},{"line_number":108,"context_line":"            memory \u003d str(system.memory_summary.size_gib * units.Ki)"},{"line_number":109,"context_line":"            inspected_properties[\u0027memory_mb\u0027] \u003d memory"},{"line_number":110,"context_line":"            inventory[\u0027memory\u0027] \u003d {\u0027physical_mb\u0027: memory}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self._get_processor_info(task, system, inspected_properties, inventory)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1e748539_0b4b7996","line":109,"in_reply_to":"cbdb8ad3_1d29dc6a","updated":"2023-05-24 10:07:17.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":true,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if local_gb:"},{"line_number":118,"context_line":"            inspected_properties[\u0027local_gb\u0027] \u003d str(local_gb)"},{"line_number":119,"context_line":"            inventory[\u0027disks\u0027] \u003d [{\u0027size\u0027: str(local_gb)}]"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            LOG.warning(\"Could not provide a valid storage size configured \""},{"line_number":122,"context_line":"                        \"for node %(node)s. Assuming this is a disk-less node\","}],"source_content_type":"text/x-python","patch_set":3,"id":"39ce2350_804d17e4","line":119,"updated":"2023-05-22 17:07:52.000000000","message":"I\u0027d prefer this logic to be somewhat expanded. local_gb in properties is just our guess to pick one of the disks. We need information about all disks here. If you check _detect_local_gb, you\u0027ll see how it iterates over disks in the SimpleStorage resource. Let\u0027s at least have a size per each disk.\n\nIdeally, we need serial numbers and other things, but this can come later.","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"ae211a7d618cf4b548339a211d15c67f7fe78503","unresolved":true,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if local_gb:"},{"line_number":118,"context_line":"            inspected_properties[\u0027local_gb\u0027] \u003d str(local_gb)"},{"line_number":119,"context_line":"            inventory[\u0027disks\u0027] \u003d [{\u0027size\u0027: str(local_gb)}]"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            LOG.warning(\"Could not provide a valid storage size configured \""},{"line_number":122,"context_line":"                        \"for node %(node)s. Assuming this is a disk-less node\","}],"source_content_type":"text/x-python","patch_set":3,"id":"6bb65e1a_b5b4b7ea","line":119,"in_reply_to":"39ce2350_804d17e4","updated":"2023-05-25 14:52:29.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"401ec26680e0fbc1c33ebee18d6267920db35906","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if local_gb:"},{"line_number":118,"context_line":"            inspected_properties[\u0027local_gb\u0027] \u003d str(local_gb)"},{"line_number":119,"context_line":"            inventory[\u0027disks\u0027] \u003d [{\u0027size\u0027: str(local_gb)}]"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            LOG.warning(\"Could not provide a valid storage size configured \""},{"line_number":122,"context_line":"                        \"for node %(node)s. Assuming this is a disk-less node\","}],"source_content_type":"text/x-python","patch_set":3,"id":"0aa538b7_2dc5e509","line":119,"in_reply_to":"6bb65e1a_b5b4b7ea","updated":"2023-05-30 10:00:12.000000000","message":"Done","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            if arch:"},{"line_number":302,"context_line":"                try:"},{"line_number":303,"context_line":"                    inspected_properties[\u0027cpu_arch\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":304,"context_line":"                    cpu[\u0027architecture\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                except KeyError:"},{"line_number":307,"context_line":"                    LOG.warning(\"Unknown CPU arch %(arch)s discovered \""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f548c53_f9f22d1e","line":304,"updated":"2023-05-22 17:07:52.000000000","message":"This line is interesting. In the previous line, we\u0027re converting Redfish architecture names into... ehmmm.. something. I suspect something is coming from Nova (the OpenStack Compute service).\n\nNext, even more interesting. Redfish has Architecture values of \"x86\" or \"arm\". This is not what lscpu would report on the ramdisk: it would be \"x86_64\" or \"aarch64\".\n\nSo, here is the suggestion (which, I admit, makes your work a bit harder). We should use Processor.instruction_set (instead of processor_architecture used in summary). And we should convert it like this:\n\n InstructionSet.ARM_A32 \u003d\u003e \"arm\"\n InstructionSet.ARM_A64 \u003d\u003e \"aarch64\"\n InstructionSet.IA_64 \u003d\u003e \"ia64\"\n InstructionSet.MIPS32 \u003d\u003e \"mips\"\n InstructionSet.MIPS64 \u003d\u003e \"mips64\"\n InstructionSet.X86 \u003d\u003e \"i686\"\n InstructionSet.X86_64 \u003d\u003e \"x86_64\"\n InstructionSet.OEM \u003d\u003e None\n \nThis way we\u0027re compatible with what a ramdisk would produce. If you\u0027re curious, I took values from https://stackoverflow.com/questions/45125516/possible-values-for-uname-m","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"46bfda0cef60b3e43d9a7a666e19de3378038e81","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            if arch:"},{"line_number":302,"context_line":"                try:"},{"line_number":303,"context_line":"                    inspected_properties[\u0027cpu_arch\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":304,"context_line":"                    cpu[\u0027architecture\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                except KeyError:"},{"line_number":307,"context_line":"                    LOG.warning(\"Unknown CPU arch %(arch)s discovered \""}],"source_content_type":"text/x-python","patch_set":3,"id":"9d7ad90b_510ba038","line":304,"in_reply_to":"5f548c53_f9f22d1e","updated":"2023-05-24 10:07:17.000000000","message":"Should I use the \u0027Processor.instruction_set\u0027 field for inspected_properties as well, or is that okay as it is?","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"401ec26680e0fbc1c33ebee18d6267920db35906","unresolved":false,"context_lines":[{"line_number":301,"context_line":"            if arch:"},{"line_number":302,"context_line":"                try:"},{"line_number":303,"context_line":"                    inspected_properties[\u0027cpu_arch\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":304,"context_line":"                    cpu[\u0027architecture\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                except KeyError:"},{"line_number":307,"context_line":"                    LOG.warning(\"Unknown CPU arch %(arch)s discovered \""}],"source_content_type":"text/x-python","patch_set":3,"id":"cc3b1686_c440fc1f","line":304,"in_reply_to":"657c756a_d943a970","updated":"2023-05-30 10:00:12.000000000","message":"Done","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ad701fab44d12a9ed3f28190e3cf79f02153e563","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            if arch:"},{"line_number":302,"context_line":"                try:"},{"line_number":303,"context_line":"                    inspected_properties[\u0027cpu_arch\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":304,"context_line":"                    cpu[\u0027architecture\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                except KeyError:"},{"line_number":307,"context_line":"                    LOG.warning(\"Unknown CPU arch %(arch)s discovered \""}],"source_content_type":"text/x-python","patch_set":3,"id":"e55ff460_89100816","line":304,"in_reply_to":"9d7ad90b_510ba038","updated":"2023-05-24 10:09:41.000000000","message":"Let\u0027s not change anything in inspected_properties, they look like this for a reason (although very few people remember the reason :)","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"ae211a7d618cf4b548339a211d15c67f7fe78503","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            if arch:"},{"line_number":302,"context_line":"                try:"},{"line_number":303,"context_line":"                    inspected_properties[\u0027cpu_arch\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":304,"context_line":"                    cpu[\u0027architecture\u0027] \u003d CPU_ARCH_MAP[arch]"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                except KeyError:"},{"line_number":307,"context_line":"                    LOG.warning(\"Unknown CPU arch %(arch)s discovered \""}],"source_content_type":"text/x-python","patch_set":3,"id":"657c756a_d943a970","line":304,"in_reply_to":"e55ff460_89100816","updated":"2023-05-25 14:52:29.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":true,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        processor_identities \u003d system.processors.members_identities"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        for processor_id in processor_identities:"},{"line_number":314,"context_line":"            processor \u003d system.processors.get_member(processor_id)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"            if processor.model is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7c397fd8_62b782df","line":313,"updated":"2023-05-22 17:07:52.000000000","message":"You\u0027re looping over all processors but only using the data from one. I suggest you just take the first processor.","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"46bfda0cef60b3e43d9a7a666e19de3378038e81","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        processor_identities \u003d system.processors.members_identities"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        for processor_id in processor_identities:"},{"line_number":314,"context_line":"            processor \u003d system.processors.get_member(processor_id)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"            if processor.model is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a7b347d_c508f6dd","line":313,"in_reply_to":"7c397fd8_62b782df","updated":"2023-05-24 10:07:17.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb18c226e5bc1ea8cc909d05cae5052c62f098a5","unresolved":true,"context_lines":[{"line_number":334,"context_line":"        if processor.model is not None:"},{"line_number":335,"context_line":"            cpu[\u0027model_name\u0027] \u003d str(processor.model)"},{"line_number":336,"context_line":"        if processor.max_speed_mhz is not None:"},{"line_number":337,"context_line":"            cpu[\u0027frequency\u0027] \u003d str(processor.max_speed_mhz)"},{"line_number":338,"context_line":"        if processor.instruction_set is not None:"},{"line_number":339,"context_line":"            cpu[\u0027architecture\u0027] \u003d PROCESSOR_INSTRUCTION_SET_MAP["},{"line_number":340,"context_line":"                processor.instruction_set]"}],"source_content_type":"text/x-python","patch_set":4,"id":"c202cc93_03551b39","line":337,"updated":"2023-05-26 15:26:57.000000000","message":"This is a number, not a string","commit_id":"d52b9f41be38b817df191aaa625a119114adbca3"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"401ec26680e0fbc1c33ebee18d6267920db35906","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        if processor.model is not None:"},{"line_number":335,"context_line":"            cpu[\u0027model_name\u0027] \u003d str(processor.model)"},{"line_number":336,"context_line":"        if processor.max_speed_mhz is not None:"},{"line_number":337,"context_line":"            cpu[\u0027frequency\u0027] \u003d str(processor.max_speed_mhz)"},{"line_number":338,"context_line":"        if processor.instruction_set is not None:"},{"line_number":339,"context_line":"            cpu[\u0027architecture\u0027] \u003d PROCESSOR_INSTRUCTION_SET_MAP["},{"line_number":340,"context_line":"                processor.instruction_set]"}],"source_content_type":"text/x-python","patch_set":4,"id":"889dc8fd_75992848","line":337,"in_reply_to":"c202cc93_03551b39","updated":"2023-05-30 10:00:12.000000000","message":"Ack","commit_id":"d52b9f41be38b817df191aaa625a119114adbca3"}],"releasenotes/notes/add-redfish-hardware-inventory-830ebc0b2e0f50c2.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4a6c391e5aaf8cf13f26282cc75c9fbe0cd3d716","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - Use Redfish to collect the available hardware inventory information, and"},{"line_number":4,"context_line":"    store it in the right format. Information collected includes cpu"},{"line_number":5,"context_line":"    information including \"count\", \"architecture\", \"model_name\", and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c8dd4c5c_a4c46b93","line":2,"updated":"2023-05-22 17:07:52.000000000","message":"Should be in the \"features\" section. The upgrade section is for things that may be important during upgrades, e.g. when we change behavior or remove features.","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"46bfda0cef60b3e43d9a7a666e19de3378038e81","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - Use Redfish to collect the available hardware inventory information, and"},{"line_number":4,"context_line":"    store it in the right format. Information collected includes cpu"},{"line_number":5,"context_line":"    information including \"count\", \"architecture\", \"model_name\", and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"06ed9415_0a72c329","line":2,"in_reply_to":"c8dd4c5c_a4c46b93","updated":"2023-05-24 10:07:17.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"46bfda0cef60b3e43d9a7a666e19de3378038e81","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - Use Redfish to collect the available hardware inventory information, and"},{"line_number":4,"context_line":"    store it in the right format. Information collected includes cpu"},{"line_number":5,"context_line":"    information including \"count\", \"architecture\", \"model_name\", and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"6f8bd26e_c7035cd9","line":2,"in_reply_to":"c8dd4c5c_a4c46b93","updated":"2023-05-24 10:07:17.000000000","message":"Ack","commit_id":"cd187987bfc1aae7745721dcfcbae9bfe88e2ac7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb18c226e5bc1ea8cc909d05cae5052c62f098a5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Use Redfish to collect the available hardware inventory information, and"},{"line_number":4,"context_line":"    store it in the right format. Information collected includes cpu"},{"line_number":5,"context_line":"    information including \"count\", \"architecture\", \"model_name\", and"},{"line_number":6,"context_line":"    \"frequency\", disk \"size\" (in bytes), interface \"mac_address\","}],"source_content_type":"text/x-yaml","patch_set":4,"id":"290ac70c_27f64a8a","line":3,"updated":"2023-05-26 15:26:57.000000000","message":"nit: Release notes are associated with a version, so we by convention say \"Uses\" (as in \"\u003cThis version ...\u003e Uses Redfish to ...\"","commit_id":"d52b9f41be38b817df191aaa625a119114adbca3"},{"author":{"_account_id":35929,"name":"Mahnoor Asghar","display_name":"Mahnoor Asghar","email":"masghar@redhat.com","username":"mahnoorasghar"},"change_message_id":"401ec26680e0fbc1c33ebee18d6267920db35906","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Use Redfish to collect the available hardware inventory information, and"},{"line_number":4,"context_line":"    store it in the right format. Information collected includes cpu"},{"line_number":5,"context_line":"    information including \"count\", \"architecture\", \"model_name\", and"},{"line_number":6,"context_line":"    \"frequency\", disk \"size\" (in bytes), interface \"mac_address\","}],"source_content_type":"text/x-yaml","patch_set":4,"id":"eeb4d40c_b0b95319","line":3,"in_reply_to":"290ac70c_27f64a8a","updated":"2023-05-30 10:00:12.000000000","message":"Ack","commit_id":"d52b9f41be38b817df191aaa625a119114adbca3"}]}
