)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38165,"name":"Nahian Pathan","display_name":"Nahian","email":"npathan@redhat.com","username":"pixelsoccupied"},"change_message_id":"5adad30172a7d3b433080464fc6f921f8147f200","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e8a550a7_e90940ff","updated":"2025-07-25 17:24:39.000000000","message":"Yeah i was thinking the same as Dmitry. As long as they key \"hardware.idrac.metrics\" is there we can use the existing parser (e.g whatever we do for HP) given the payload from ironic is identical? \n\nProbably we can go one step further and always have same key for all BMCs (instead of deriving it) so that we don\u0027t have this problem in the future in case another vendor makes a random change like this?","commit_id":"f0e1aee9d24b2ffeca9b87db355f3c563ac5b91a"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"ed129f5d8c049be3428bc155cd9d5193ba11438e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6cc660ae_ff0c2126","updated":"2025-08-12 09:13:52.000000000","message":"recheck - unrelated CI failure.","commit_id":"f0e1aee9d24b2ffeca9b87db355f3c563ac5b91a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1538637df329d98dbf7778289a1a103e4a6711c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5057e214_df4e7fa2","updated":"2025-08-25 19:52:13.000000000","message":"recheck ci config changes","commit_id":"f0e1aee9d24b2ffeca9b87db355f3c563ac5b91a"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"eccd948afe8c48db2513d7e1583b0aa20b4f886c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"61e36650_f13616ba","in_reply_to":"e8a550a7_e90940ff","updated":"2025-08-02 00:45:02.000000000","message":"I gave it a +2 but I think it would be good to get this all into just redfish. along with having conductor or this be registered to get events from redfish","commit_id":"f0e1aee9d24b2ffeca9b87db355f3c563ac5b91a"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"168f3f8f70b76f774bad39649427c04a094a93c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cb3dc0f6_44c6c3f8","updated":"2025-08-27 03:51:50.000000000","message":"I will be doing a follow-up to have the common things between idrac and redfish in a single place, here I will be only introducing the support for idrac redfish based metrics.","commit_id":"fa30352c045b6c137d9cae103bae886e863106ef"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0c5782f2d91521e2ebc13b783de71f4bc9afc7bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d54cda69_825f5d04","updated":"2025-09-04 15:08:39.000000000","message":"Sorry, but I\u0027m still struggling to understand what is going on here. The diff between the redfish and idrac implementations is small and seems to be at least partially in stylistic details. It seems that the two implementations could use the same common code.\n\nI also don\u0027t understand why redfish-common-status is a subset of redfish given that idrac is redfish.\n\nPlease review the decision and explain the ones that need to stay in the commit message.","commit_id":"ed193b6e2200224c7dbcf5af159d649c4167d748"}],"ironic_prometheus_exporter/parsers/metrics_information/redfish.json":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e873c9464f2ff7e3f44e68ebbfd34c1abcc77a2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"baremetal_power_status\":"},{"line_number":3,"context_line":"        \"Power supply unit health status (0 - OK, 1 - Warning, 2 - Critical)\","},{"line_number":4,"context_line":"    \"baremetal_temp_room_celsius\":"},{"line_number":5,"context_line":"        \"Room temperature expressed in Celsius\","},{"line_number":6,"context_line":"    \"baremetal_temp_intake_celsius\":"}],"source_content_type":"application/json","patch_set":4,"id":"85099f7f_d16c0fe0","line":3,"updated":"2025-09-15 14:27:04.000000000","message":"These and the rest of changes are technically breaking, right? It\u0027s worth at least mentioning in the commit message and the release notes.","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"c7e10392d22d2c4fdde7aad894c5c6964f1e46d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"baremetal_power_status\":"},{"line_number":3,"context_line":"        \"Power supply unit health status (0 - OK, 1 - Warning, 2 - Critical)\","},{"line_number":4,"context_line":"    \"baremetal_temp_room_celsius\":"},{"line_number":5,"context_line":"        \"Room temperature expressed in Celsius\","},{"line_number":6,"context_line":"    \"baremetal_temp_intake_celsius\":"}],"source_content_type":"application/json","patch_set":4,"id":"676b18c8_96c5d4b2","line":3,"in_reply_to":"85099f7f_d16c0fe0","updated":"2025-10-11 14:35:00.000000000","message":"I was more thinking this as a fix, since before we would consider warning/critical the same thing, I will add this information.","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"}],"ironic_prometheus_exporter/parsers/redfish.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e873c9464f2ff7e3f44e68ebbfd34c1abcc77a2","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _build_sensor_labels(sensor_labels, sensor_id, sensor_data, ignore_keys):"},{"line_number":42,"context_line":"    for k, v in sensor_data.items():"},{"line_number":43,"context_line":"        if k not in ignore_keys:"},{"line_number":44,"context_line":"            if v is not None:"},{"line_number":45,"context_line":"                sensor_labels[k] \u003d v"},{"line_number":46,"context_line":"    sensor_labels[\u0027sensor_id\u0027] \u003d sensor_id"}],"source_content_type":"text/x-python","patch_set":4,"id":"d2d948ad_de575cfe","line":43,"updated":"2025-09-15 14:27:04.000000000","message":"nit: merge the two conditions","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"c7e10392d22d2c4fdde7aad894c5c6964f1e46d1","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _build_sensor_labels(sensor_labels, sensor_id, sensor_data, ignore_keys):"},{"line_number":42,"context_line":"    for k, v in sensor_data.items():"},{"line_number":43,"context_line":"        if k not in ignore_keys:"},{"line_number":44,"context_line":"            if v is not None:"},{"line_number":45,"context_line":"                sensor_labels[k] \u003d v"},{"line_number":46,"context_line":"    sensor_labels[\u0027sensor_id\u0027] \u003d sensor_id"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a98b19b_40995268","line":43,"in_reply_to":"d2d948ad_de575cfe","updated":"2025-10-11 14:35:00.000000000","message":"Done","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e873c9464f2ff7e3f44e68ebbfd34c1abcc77a2","unresolved":true,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        metric \u003d \u0027baremetal_temp_%s_celsius\u0027 % ("},{"line_number":92,"context_line":"            sensor_data[\u0027physical_context\u0027].lower())"},{"line_number":93,"context_line":"        sensor_reading \u003d sensor_data[\u0027reading_celsius\u0027]"},{"line_number":94,"context_line":"        health_value \u003d HEALTH_MAP.get(sensor_data[\u0027health\u0027])"},{"line_number":95,"context_line":"        temp_metrics \u003d {"},{"line_number":96,"context_line":"               metric: sensor_reading,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ab4defb5_2fe09335","line":93,"updated":"2025-09-15 14:27:04.000000000","message":"Cannot you use pop() here instead of ignoring this value later on?","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"c7e10392d22d2c4fdde7aad894c5c6964f1e46d1","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        metric \u003d \u0027baremetal_temp_%s_celsius\u0027 % ("},{"line_number":92,"context_line":"            sensor_data[\u0027physical_context\u0027].lower())"},{"line_number":93,"context_line":"        sensor_reading \u003d sensor_data[\u0027reading_celsius\u0027]"},{"line_number":94,"context_line":"        health_value \u003d HEALTH_MAP.get(sensor_data[\u0027health\u0027])"},{"line_number":95,"context_line":"        temp_metrics \u003d {"},{"line_number":96,"context_line":"               metric: sensor_reading,"}],"source_content_type":"text/x-python","patch_set":4,"id":"a3dbaa5d_e37fb0ca","line":93,"in_reply_to":"ab4defb5_2fe09335","updated":"2025-10-11 14:35:00.000000000","message":"Done","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e873c9464f2ff7e3f44e68ebbfd34c1abcc77a2","unresolved":true,"context_lines":[{"line_number":131,"context_line":"            # metric name"},{"line_number":132,"context_line":"            \u0027baremetal_power_status\u0027:"},{"line_number":133,"context_line":"                ["},{"line_number":134,"context_line":"                    # metric value (0 - OK, 1 - on fire)"},{"line_number":135,"context_line":"                    0,"},{"line_number":136,"context_line":"                    # metric instance in form of Prometheus labels"},{"line_number":137,"context_line":"                    {"}],"source_content_type":"text/x-python","patch_set":4,"id":"99d1c135_8fe52217","line":134,"updated":"2025-09-15 14:27:04.000000000","message":"Is this up-to-date?","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"c7e10392d22d2c4fdde7aad894c5c6964f1e46d1","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            # metric name"},{"line_number":132,"context_line":"            \u0027baremetal_power_status\u0027:"},{"line_number":133,"context_line":"                ["},{"line_number":134,"context_line":"                    # metric value (0 - OK, 1 - on fire)"},{"line_number":135,"context_line":"                    0,"},{"line_number":136,"context_line":"                    # metric instance in form of Prometheus labels"},{"line_number":137,"context_line":"                    {"}],"source_content_type":"text/x-python","patch_set":4,"id":"008b8079_57b79b12","line":134,"in_reply_to":"99d1c135_8fe52217","updated":"2025-10-11 14:35:00.000000000","message":"Oh right!","commit_id":"d2630b11cc8e6383b8e09e320325b6b13fa58c24"}]}
