)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9f4a9601512fdcf81c4fffa638f9c101c1fb730d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-08-18 15:47:58 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Fix the ability to escape service fail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Back when we developed service, we expected operators to"},{"line_number":10,"context_line":"iterate to fix their issues, but we also put in abort code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7b9c0d78_24f4a8ad","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2025-08-19 00:18:50.000000000","message":"s/WIP:/","commit_id":"692dfffdc7dd83e125096ffad43207addc749482"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e3943f134a27ac69d3c1447e7050047f6c646327","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-08-18 15:47:58 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Fix the ability to escape service fail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Back when we developed service, we expected operators to"},{"line_number":10,"context_line":"iterate to fix their issues, but we also put in abort code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"b21d4532_c541e9c8","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"in_reply_to":"7b9c0d78_24f4a8ad","updated":"2025-08-21 20:36:45.000000000","message":"Done","commit_id":"692dfffdc7dd83e125096ffad43207addc749482"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4e1f887419429f9ebd9ef28947fc8158977497d0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-08-18 15:47:58 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Fix the ability to escape service fail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Back when we developed service, we expected operators to"},{"line_number":10,"context_line":"iterate to fix their issues, but we also put in abort code."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"b6237f68_2c2239d0","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"in_reply_to":"7b9c0d78_24f4a8ad","updated":"2025-08-20 00:14:10.000000000","message":"Done","commit_id":"692dfffdc7dd83e125096ffad43207addc749482"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cb4799eee5af98006c2080a0f29190ecffed739d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a7c71d50_ff785871","updated":"2025-08-10 14:25:25.000000000","message":"recheck looks like old reno caches are now invalid","commit_id":"cea794178f63aadb66b2c89ac9e96b091a0bf132"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"99fb5d7430ada97c493a18527bc096400f215df6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e46f0871_4abd4f5f","updated":"2025-08-11 15:15:10.000000000","message":"Looks like we have another issue to address first.","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"d225ea63fb28bf700cde968a3ed6f8c63d1d3745","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"32a8fa6a_705ceb61","updated":"2025-08-11 21:20:36.000000000","message":"Noted, thank you Julia. Happy to do further testing","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"024f8b8530a6ca576fd6b072548f89b1dd9c811e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"80b7d79f_2bd483ff","updated":"2025-08-11 05:48:29.000000000","message":"Thank you Julia. I tested the change and it works as expected. I posted testing results on IRC along with a question - probably easier to discuss there.","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"9585691ce3c57f46b0232c2d119796fb3bc67c0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0f48a0c3_f20de3d6","updated":"2025-08-12 00:43:04.000000000","message":"Thank you for the updated patch, Julia. I lab tested it, seems to work. Maintenance state concerns are resolved.\nI elaborated more on the SERVICEWAIT questions on IRC.","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"77292c9b25ab75220f023b8e85c219f4630bcb5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"26babb0b_003a76c7","updated":"2025-08-18 06:55:58.000000000","message":"recheck","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"c59a693177510860cfaa958631c06f1d6ae0c2b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"140c9c47_34762e01","updated":"2025-08-18 06:55:49.000000000","message":"resolved outstanding comments to reflect current state","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9f4a9601512fdcf81c4fffa638f9c101c1fb730d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"abc18341_d98a2508","updated":"2025-08-19 00:18:50.000000000","message":"Lgtm, just some minor things that we should adjust","commit_id":"692dfffdc7dd83e125096ffad43207addc749482"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"8b7934f5c8238aa20a6460e2703a2727d3f3ab8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"de6961f8_aae9f05f","updated":"2025-08-18 23:25:43.000000000","message":"lab tested latest iteration, works as expected, thank you Julia","commit_id":"692dfffdc7dd83e125096ffad43207addc749482"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"46737e5fdb4b3534648598c0a21d8a833d4ba68f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"423a291b_9b52d656","updated":"2025-08-20 11:38:47.000000000","message":"Are there any plans to update other *failed states with \u0027abort\u0027 action? I\u0027m -1 here if no because we\u0027ll add yet another inconsistency to the API.","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4f59d8d1dd4e6f17191352e83c24331c8b9fb828","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"95988dc0_3fe097f3","updated":"2025-08-20 08:13:19.000000000","message":"Hmm, it\u0027s reported at https://bugs.launchpad.net/ironic/+bug/2073508 before, can be closed once this patch get merged.","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4e1f887419429f9ebd9ef28947fc8158977497d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"95bae11a_995ce4a2","updated":"2025-08-20 00:14:10.000000000","message":"Thank you Julia, looks good.","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"ed58edf69ab7d7b5d66b0ef6ee7775ed28e6a2fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1e8d2b7a_531d8c27","updated":"2025-08-20 12:35:03.000000000","message":"Thank you for your comment Dmitry. I\u0027d be happy to look into this down the track in a follow up change. Based on our brief discussion considering using abort as an alias for manage where manage verb is already used may be a good start.","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"9c63a83f5e9414bcf428b6f824a44c681dc5463b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"28775446_722df0e4","updated":"2025-08-21 12:36:07.000000000","message":"recheck","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"976f3c75d245dfee76c0c1b4d3d2c790a54aa5e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"472614e7_bb0601d0","updated":"2025-08-20 08:15:28.000000000","message":"recheck","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e3943f134a27ac69d3c1447e7050047f6c646327","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8cd15a58_91c78195","updated":"2025-08-21 20:36:45.000000000","message":"recheck","commit_id":"1eda80766c321c607e69af02bfbeee8943ab5df2"}],"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9f4a9601512fdcf81c4fffa638f9c101c1fb730d","unresolved":true,"context_lines":[{"line_number":1208,"context_line":"            \u0027baremetal:node:set_provision_state\u0027, node_ident)"},{"line_number":1209,"context_line":""},{"line_number":1210,"context_line":"        api_utils.check_allow_management_verbs(target)"},{"line_number":1211,"context_line":""},{"line_number":1212,"context_line":"        # Secondary RBAC policy checking..."},{"line_number":1213,"context_line":"        # done first because RBAC policies must be asserted in order"},{"line_number":1214,"context_line":"        # of visibility to can I make a change upfront, before diving"}],"source_content_type":"text/x-python","patch_set":5,"id":"24cdcf8f_8742f1a0","side":"PARENT","line":1211,"updated":"2025-08-19 00:18:50.000000000","message":"not sure if you really wanted to change this fine","commit_id":"59047a1ff47ad797ac4fedba0127890a1828e35e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e3943f134a27ac69d3c1447e7050047f6c646327","unresolved":false,"context_lines":[{"line_number":1208,"context_line":"            \u0027baremetal:node:set_provision_state\u0027, node_ident)"},{"line_number":1209,"context_line":""},{"line_number":1210,"context_line":"        api_utils.check_allow_management_verbs(target)"},{"line_number":1211,"context_line":""},{"line_number":1212,"context_line":"        # Secondary RBAC policy checking..."},{"line_number":1213,"context_line":"        # done first because RBAC policies must be asserted in order"},{"line_number":1214,"context_line":"        # of visibility to can I make a change upfront, before diving"}],"source_content_type":"text/x-python","patch_set":5,"id":"8be82aac_c6a3af8f","side":"PARENT","line":1211,"in_reply_to":"24cdcf8f_8742f1a0","updated":"2025-08-21 20:36:45.000000000","message":"Done","commit_id":"59047a1ff47ad797ac4fedba0127890a1828e35e"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4e1f887419429f9ebd9ef28947fc8158977497d0","unresolved":false,"context_lines":[{"line_number":1208,"context_line":"            \u0027baremetal:node:set_provision_state\u0027, node_ident)"},{"line_number":1209,"context_line":""},{"line_number":1210,"context_line":"        api_utils.check_allow_management_verbs(target)"},{"line_number":1211,"context_line":""},{"line_number":1212,"context_line":"        # Secondary RBAC policy checking..."},{"line_number":1213,"context_line":"        # done first because RBAC policies must be asserted in order"},{"line_number":1214,"context_line":"        # of visibility to can I make a change upfront, before diving"}],"source_content_type":"text/x-python","patch_set":5,"id":"a418ce0a_6479be57","side":"PARENT","line":1211,"in_reply_to":"24cdcf8f_8742f1a0","updated":"2025-08-20 00:14:10.000000000","message":"Done","commit_id":"59047a1ff47ad797ac4fedba0127890a1828e35e"}],"ironic/common/states.py":[{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"9585691ce3c57f46b0232c2d119796fb3bc67c0d","unresolved":true,"context_lines":[{"line_number":671,"context_line":"machine.add_transition(SERVICEFAIL, DELETING, \u0027delete\u0027)"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"# A node in service fail may be aborted (returned to active)"},{"line_number":674,"context_line":"machine.add_transition(SERVICEFAIL, ACTIVE, \u0027abort\u0027)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"# A node in service wait may be deleted."},{"line_number":677,"context_line":"machine.add_transition(SERVICEWAIT, DELETING, \u0027delete\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a8599c1_aa81d6bc","line":674,"updated":"2025-08-12 00:43:04.000000000","message":"Is it expected that abort verb will work against node in SERVICEWAIT? It does seem to work that way at the moment, is this intended?","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"c59a693177510860cfaa958631c06f1d6ae0c2b0","unresolved":false,"context_lines":[{"line_number":671,"context_line":"machine.add_transition(SERVICEFAIL, DELETING, \u0027delete\u0027)"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"# A node in service fail may be aborted (returned to active)"},{"line_number":674,"context_line":"machine.add_transition(SERVICEFAIL, ACTIVE, \u0027abort\u0027)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"# A node in service wait may be deleted."},{"line_number":677,"context_line":"machine.add_transition(SERVICEWAIT, DELETING, \u0027delete\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c25891bc_7c0bcf6c","line":674,"in_reply_to":"1a8599c1_aa81d6bc","updated":"2025-08-18 06:55:49.000000000","message":"fix proposed in https://review.opendev.org/c/openstack/ironic/+/957189, let\u0027s keep this separate in the interest of time","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"}],"ironic/conductor/manager.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7c7daaa6d06c911c03b4d85ffee3f1692f11ccaf","unresolved":true,"context_lines":[{"line_number":1533,"context_line":"                           task.node.provision_state),"},{"line_number":1534,"context_line":"                err_handler\u003dutils.provisioning_error_handler)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"        if node.provision_state \u003d\u003d states.SERVICEFAIL:"},{"line_number":1537,"context_line":"            # When someone is in service fail, its okay to abort."},{"line_number":1538,"context_line":"            task.process_event("},{"line_number":1539,"context_line":"                \u0027abort\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bbfb7f42_a7faa03f","line":1536,"updated":"2025-08-11 08:48:37.000000000","message":"Servicing results in maintenance mode often, as a sign that things may have gone badly. I think we should refuse the abort command until the maintenance mode is removed as a sign that the operator has verified the state of the machine.","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"50415691a40b0b4121ee7b337b46cf6d7357c723","unresolved":true,"context_lines":[{"line_number":1533,"context_line":"                           task.node.provision_state),"},{"line_number":1534,"context_line":"                err_handler\u003dutils.provisioning_error_handler)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"        if node.provision_state \u003d\u003d states.SERVICEFAIL:"},{"line_number":1537,"context_line":"            # When someone is in service fail, its okay to abort."},{"line_number":1538,"context_line":"            task.process_event("},{"line_number":1539,"context_line":"                \u0027abort\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d384c0e1_c4b34e35","line":1536,"in_reply_to":"bbfb7f42_a7faa03f","updated":"2025-08-11 09:42:22.000000000","message":"That is very clever. This way we can make a (firm) recommendation for the operator to look at the console prior to issuing the ABORT command. And meanwhile node being in maintenance mode will prevent any power operations (including dreaded reboot in the middle of a running BIOS update).","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"14d63c85eb092959ebb77e1931a117473c40109d","unresolved":false,"context_lines":[{"line_number":1533,"context_line":"                           task.node.provision_state),"},{"line_number":1534,"context_line":"                err_handler\u003dutils.provisioning_error_handler)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"        if node.provision_state \u003d\u003d states.SERVICEFAIL:"},{"line_number":1537,"context_line":"            # When someone is in service fail, its okay to abort."},{"line_number":1538,"context_line":"            task.process_event("},{"line_number":1539,"context_line":"                \u0027abort\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3802705d_e1982f47","line":1536,"in_reply_to":"d384c0e1_c4b34e35","updated":"2025-08-18 23:06:43.000000000","message":"the current revision does refuse abort on a node in maintenance; maintenance needs to be unset first.","commit_id":"6349eacec0a102187884c3f74a7c27509174c810"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"9585691ce3c57f46b0232c2d119796fb3bc67c0d","unresolved":true,"context_lines":[{"line_number":1534,"context_line":"                err_handler\u003dutils.provisioning_error_handler)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"        if node.provision_state \u003d\u003d states.SERVICEFAIL:"},{"line_number":1537,"context_line":"            if task.node.maintenance:"},{"line_number":1538,"context_line":"                msg \u003d (_(\u0027Can not abort service on node \"%(node)s\" while it \u0027"},{"line_number":1539,"context_line":"                         \u0027is in maintenance mode. Please remove the node \u0027"},{"line_number":1540,"context_line":"                         \u0027from maintenance prior to issuing the request to \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"395690a7_cd34a6dc","line":1537,"updated":"2025-08-12 00:43:04.000000000","message":"It seems we\u0027re going through retry code here which I don\u0027t think it\u0027s needed. It seems to me we should try once and fail instead:\n\n(bifrost) [stack@u640-u04 ~]$ baremetal node abort u640-u05\nError contacting Ironic server: Can not abort service on node \"fe81395b-1999-4ab4-8eb0-235e1ab02778\" while it is in maintenance mode. Please remove the node from maintenance prior to issuing the request to abort the service operation. (HTTP 409). Attempt 6 of 6\nCan not abort service on node \"fe81395b-1999-4ab4-8eb0-235e1ab02778\" while it is in maintenance mode. Please remove the node from maintenance prior to issuing the request to abort the service operation. (HTTP 409)\n(bifrost) [stack@u640-u04 ~]$","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"c59a693177510860cfaa958631c06f1d6ae0c2b0","unresolved":false,"context_lines":[{"line_number":1534,"context_line":"                err_handler\u003dutils.provisioning_error_handler)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"        if node.provision_state \u003d\u003d states.SERVICEFAIL:"},{"line_number":1537,"context_line":"            if task.node.maintenance:"},{"line_number":1538,"context_line":"                msg \u003d (_(\u0027Can not abort service on node \"%(node)s\" while it \u0027"},{"line_number":1539,"context_line":"                         \u0027is in maintenance mode. Please remove the node \u0027"},{"line_number":1540,"context_line":"                         \u0027from maintenance prior to issuing the request to \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"0975e2f1_ca2e35c7","line":1537,"in_reply_to":"395690a7_cd34a6dc","updated":"2025-08-18 06:55:49.000000000","message":"Can be discussed separately, not really an issue.","commit_id":"ce436e4565ce97139332e4b808e9e05a9e640815"}]}
