)]}'
{"id":"openstack%2Ffreezer-api~996264","triplet_id":"openstack%2Ffreezer-api~master~Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3","project":"openstack/freezer-api","branch":"master","attention_set":{},"removed_from_attention_set":{"39044":{"account":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"last_update":"2026-07-23 11:10:07.000000000","reason":"Change was submitted"},"28619":{"account":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"last_update":"2026-07-23 10:09:16.000000000","reason":"\u003cGERRIT_ACCOUNT_28619\u003e replied on the change","reason_account":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}}},"hashtags":[],"change_id":"Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3","subject":"Store jobs.job_actions in a relational table instead of JSON blob","status":"MERGED","created":"2026-07-07 10:33:23.000000000","updated":"2026-07-23 11:11:00.000000000","submitted":"2026-07-23 11:10:07.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":37,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"996264","meta_rev_id":"7177b14246003737f32b5da26146e25e6b674f0c","_number":996264,"virtual_id_number":996264,"owner":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-23 11:10:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":2,"date":"2026-07-23 10:25:27.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":1,"date":"2026-07-23 10:25:27.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-07 11:14:46.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-07-07 11:28:29.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-07-21 10:07:31.000000000","updated_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"REVIEWER"}],"messages":[{"id":"ae0a1ac0db5ae88b03db1b4b8dd17f4861ae2fcf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-07 10:33:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"51d51ef0db4695605d1a71a4ecc7abe45eeab65d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-07 10:48:26.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"2ff7a32a0764cba611bcbe11d6232651e9a2b535","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 11:14:46.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d3ce1e85d7974bfdb75a117d3801740d\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/f2728970d4ad4381b4f23f3590e9bba7 : SUCCESS in 6m 08s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/fc407c80858448409070c1df223fcdb0 : SUCCESS in 6m 30s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/b3bac229230b4ac8be030ea5529e4ecb : SUCCESS in 10m 14s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"c722ef627d8b2f6e09fd1b7edce4f1cff9bba71b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 11:28:29.000000000","message":"Patch Set 2: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/b6b57b711b3d4df4bb3b13040c2761ec\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/678067c6d80b4416bb6c75d62c332de3 : FAILURE in 4m 53s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b3c70c1f5e6a4cf381feda4d1de5663a : SUCCESS in 3m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ad90dcf1edb1458b8103505561314b57 : SUCCESS in 3m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/86ba1005a587463c861769c230ecef4b : SUCCESS in 8m 19s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bb9e0c162ade458ba7c797e740279018 : SUCCESS in 3m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8c79071e12274f4ca8e2e0f4256bf443 : SUCCESS in 3m 49s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/d36fd623883642c1b026174c3d6641cc : SUCCESS in 4m 07s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/cbcab253e0af49ba86480adafc14c31b : SUCCESS in 35m 10s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/01f65f193a694c158882b1960a875582 : SUCCESS in 37m 13s","accounts_in_message":[],"_revision_number":2},{"id":"cc8b7ad4413c3d38e6fd46be9dd2579e7694e91e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-07 12:23:30.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"38109efee5e75a0f7e352731f246af570defa2dc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 12:46:58.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/48e1a4bb7c294e5b8715fde4efaedf88\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/c99ce8526e174900b2f3bdd3ef3d1711 : SUCCESS in 7m 04s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/36533ff1a4fe48428affbeaf276531d9 : SUCCESS in 7m 43s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/634074cb4eec403e9fbbd5a8e9644ef4 : SUCCESS in 11m 52s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"0456b4e617d13f9c7ff217cecfbe3dff5f9471b9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 13:15:16.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/edc50b7056844570afa5d97af802d29a\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3a5ab655ecb04898b163bd4066b4ff00 : SUCCESS in 3m 47s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b00eb44ec97c4e77aaf743796cdb3a94 : SUCCESS in 4m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b635a177465e4fe686d60d8b528c28e9 : SUCCESS in 4m 05s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/926496460d9645c48054dc9090a0d67d : SUCCESS in 6m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/50a10e771c664d73b0a83f568c092d6d : SUCCESS in 4m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b5d73f69f26c42c7b6d34d32bb46df9e : SUCCESS in 3m 44s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/313200496b2a42749ce9c86091b990b9 : SUCCESS in 5m 27s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/a4edcc87e26e4457bc8e417e42b2c541 : SUCCESS in 33m 05s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/731b685e1ada4fdfb3e809ac716d8e49 : SUCCESS in 45m 25s","accounts_in_message":[],"_revision_number":3},{"id":"3dc030b076c6b1ec3c1773ea12af5f100977dc58","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-07-21 10:07:31.000000000","message":"Patch Set 3: Code-Review+1\n\n(11 comments)","accounts_in_message":[],"_revision_number":3},{"id":"272c44e02e67820631192e1080af620642063fd5","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-21 18:10:16.000000000","message":"Patch Set 3:\n\n(10 comments)","accounts_in_message":[],"_revision_number":3},{"id":"be7389ce35b7a037ca8c671b1b2f09e6c51ecea4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-21 18:22:53.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"31255397f537cd0719a7d887e96f1beea64c8aa9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 18:37:12.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/679ee03d0fb74e89b80091750b2b9381\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/273d85ce2c82416ea6df95898d9011ff : SUCCESS in 5m 18s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/837dcdfd06a3413c8a033334cfc6875d : SUCCESS in 6m 05s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/d69f87faf5b544eea5907f9d0db91121 : SUCCESS in 11m 52s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"4bb6b7b02d26f955fa41e5dd764101199227a251","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 19:12:54.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/acda581642ae418c8d806c87206f5434\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ca7440fa91c4cbdb81a933e2784bc29 : SUCCESS in 4m 36s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/724dbd5ffd214aecbd90706c808b5f9d : SUCCESS in 3m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ee6029b334ae4e1ca0944266f7db71f7 : SUCCESS in 4m 03s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a40e33773ba64dda9df2ff9d5e427e9e : SUCCESS in 7m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b33b9c9e6ece4c5290f0e5f5e105b116 : SUCCESS in 2m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b5b4dd3e35ee49dc8a7edab65a33e043 : SUCCESS in 4m 31s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/a8a32af8e3ba4b88a3038550bc112e73 : SUCCESS in 4m 10s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/e471e53e83e946ffa11836ae72597221 : SUCCESS in 41m 25s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/aafb689c2fc24b23b5571c71b51b979e : SUCCESS in 28m 11s","accounts_in_message":[],"_revision_number":4},{"id":"3427b56a44f2861083a0bdacb0b56631c5bbd71a","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-07-22 07:24:49.000000000","message":"Patch Set 4:\n\n(5 comments)","accounts_in_message":[],"_revision_number":4},{"id":"a9911f7b290c31ac9f538874b651d983efe23980","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-07-22 07:50:02.000000000","message":"Patch Set 4:\n\n(4 comments)","accounts_in_message":[],"_revision_number":4},{"id":"4161e9e5bd86b31ae9af9b19feb5a8c5807f8964","author":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"date":"2026-07-22 10:49:43.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"340a0bd35835150a45498aeae1c1b652dbbde54e","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-07-23 10:09:16.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"34e5a60d427373fee3ad16bad5a81c078d975c0e","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-07-23 10:25:27.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"67d57ee3080e0eebcd7f02f51d344a246edfc818","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 10:25:56.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"dac7d8594421cb75bcd179a36574973532325448","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 11:10:07.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/917d52c5e2a24cd4a4e76cd2239da38e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1d4a7db4e18f4461aaa262c356de4d71 : SUCCESS in 3m 05s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/80ea756ab962429e9543ab136575cd8f : SUCCESS in 3m 53s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/70da8bb9fc9543a1811ac96475afdea9 : SUCCESS in 3m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a02b1014ce634b52b8e060bddcffb865 : SUCCESS in 3m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fc366e58a1674711a90e658a32625f9a : SUCCESS in 4m 01s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/63b272743e694529afe58b8a9f6c6e60 : SUCCESS in 4m 33s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/cba340dc902e49d8bf3683feab5bbf0f : SUCCESS in 36m 45s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e4d82ea5de434a73b8f5928af4a96b47 : SUCCESS in 38m 29s","accounts_in_message":[],"_revision_number":4},{"id":"15e03bc29ab18579019013a846e2923bb53d81f0","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 11:10:07.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"7177b14246003737f32b5da26146e25e6b674f0c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 11:11:00.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f2e1b709769d43839d0d2319d6a5d804\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/57dc03d696f1499db912f9b32f9ffa81 : SUCCESS in 39s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b3409af4cf3d487180faffe2286e4522 : SUCCESS in 41s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"1cc635f27f2ed223b7481f4ccfc3a723ea172328","revisions":{"334ed69618f34b5489093b1ce9d704229eed26bb":{"kind":"REWORK","_number":1,"created":"2026-07-07 10:33:23.000000000","uploader":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"ref":"refs/changes/64/996264/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/64/996264/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/1"}}},"commit":{"parents":[{"commit":"8abd345264d39f048630880bb24166c927fdeb6b","subject":"Generate api-ref parameters from schema","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/8abd345264d39f048630880bb24166c927fdeb6b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-06 20:14:22.000000000","tz":60},"committer":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-07 10:28:18.000000000","tz":60},"subject":"Store jobs.job_actions in a relational table instead of JSON blob","message":"Store jobs.job_actions in a relational table instead of JSON blob\n\nA job\u0027s actions were stored as a JSON blob in the jobs.job_actions\ncolumn, duplicating each action definition. They now live in a\ndedicated job_actions table linked to the job by foreign key and kept\nin order.\n\nAn action can be assigned by action_id alone or as a full inline\ndefinition (created if it does not exist yet). Client capability\nchecks now also cover actions referenced by action_id, and deleting an\naction removes it from the jobs that use it. A database migration\nmoves existing assignments and drops the old column.\n\nAssisted-By: Opus 4.8\nChange-Id: Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/334ed69618f34b5489093b1ce9d704229eed26bb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/334ed69618f34b5489093b1ce9d704229eed26bb"}]},"branch":"refs/heads/master"},"79b09c62a3a012a53bbbe3e0a994d6b0022a1239":{"kind":"REWORK","_number":2,"created":"2026-07-07 10:48:26.000000000","uploader":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"ref":"refs/changes/64/996264/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/64/996264/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/2"}}},"commit":{"parents":[{"commit":"8abd345264d39f048630880bb24166c927fdeb6b","subject":"Generate api-ref parameters from schema","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/8abd345264d39f048630880bb24166c927fdeb6b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-06 20:14:22.000000000","tz":60},"committer":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-07 10:43:49.000000000","tz":60},"subject":"Store jobs.job_actions in a relational table instead of JSON blob","message":"Store jobs.job_actions in a relational table instead of JSON blob\n\nA job\u0027s actions were stored as a JSON blob in the jobs.job_actions\ncolumn, duplicating each action definition. They now live in a\ndedicated job_actions table linked to the job by foreign key and kept\nin order.\n\nAn action can be assigned by action_id alone or as a full inline\ndefinition (created if it does not exist yet). Client capability\nchecks now also cover actions referenced by action_id, and deleting an\naction removes it from the jobs that use it. A database migration\nmoves existing assignments and drops the old column.\n\nAssisted-By: Opus 4.8\nChange-Id: Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/79b09c62a3a012a53bbbe3e0a994d6b0022a1239"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/79b09c62a3a012a53bbbe3e0a994d6b0022a1239"}]},"branch":"refs/heads/master"},"267e9d66db7769bd48d2a42539a079a12929a296":{"kind":"REWORK","_number":3,"created":"2026-07-07 12:23:30.000000000","uploader":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"ref":"refs/changes/64/996264/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/64/996264/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/3"}}},"commit":{"parents":[{"commit":"8abd345264d39f048630880bb24166c927fdeb6b","subject":"Generate api-ref parameters from schema","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/8abd345264d39f048630880bb24166c927fdeb6b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-06 20:14:22.000000000","tz":60},"committer":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-07 12:11:38.000000000","tz":60},"subject":"Store jobs.job_actions in a relational table instead of JSON blob","message":"Store jobs.job_actions in a relational table instead of JSON blob\n\nA job\u0027s actions were stored as a JSON blob in the jobs.job_actions\ncolumn, duplicating each action definition. They now live in a\ndedicated job_actions table linked to the job by foreign key and kept\nin order.\n\nAn action can be assigned by action_id alone or as a full inline\ndefinition (created if it does not exist yet). Client capability\nchecks now also cover actions referenced by action_id, and deleting an\naction removes it from the jobs that use it. A database migration\nmoves existing assignments and drops the old column.\n\nAssisted-By: Opus 4.8\nChange-Id: Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/267e9d66db7769bd48d2a42539a079a12929a296"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/267e9d66db7769bd48d2a42539a079a12929a296"}]},"branch":"refs/heads/master"},"1cc635f27f2ed223b7481f4ccfc3a723ea172328":{"kind":"REWORK","_number":4,"created":"2026-07-21 18:22:53.000000000","uploader":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"ref":"refs/changes/64/996264/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/64/996264/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/64/996264/4"}}},"commit":{"parents":[{"commit":"8abd345264d39f048630880bb24166c927fdeb6b","subject":"Generate api-ref parameters from schema","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/8abd345264d39f048630880bb24166c927fdeb6b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-06 20:14:22.000000000","tz":60},"committer":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-07-21 18:08:30.000000000","tz":120},"subject":"Store jobs.job_actions in a relational table instead of JSON blob","message":"Store jobs.job_actions in a relational table instead of JSON blob\n\nA job\u0027s actions were stored as a JSON blob in the jobs.job_actions\ncolumn, duplicating each action definition. They now live in a\ndedicated job_actions table linked to the job by foreign key and kept\nin order.\n\nAn action can be assigned by action_id alone or as a full inline\ndefinition (created if it does not exist yet). Client capability\nchecks now also cover actions referenced by action_id, and deleting an\naction removes it from the jobs that use it. A database migration\nmoves existing assignments and drops the old column.\n\nAssisted-By: Opus 4.8\nChange-Id: Ie7dbb53033f0be19f53df5da3f16b54e360d6ef3\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/1cc635f27f2ed223b7481f4ccfc3a723ea172328"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/1cc635f27f2ed223b7481f4ccfc3a723ea172328"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
