)]}'
{"id":"openstack%2Ffreezer-api~993727","triplet_id":"openstack%2Ffreezer-api~master~I90a52184d6ebbaf89793ea69468a75787044b46b","project":"openstack/freezer-api","branch":"master","hashtags":[],"change_id":"I90a52184d6ebbaf89793ea69468a75787044b46b","subject":"Allow null values in schema","status":"MERGED","created":"2026-06-17 10:08:51.000000000","updated":"2026-06-17 12:00:43.000000000","submitted":"2026-06-17 11:59:48.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"993727","meta_rev_id":"00befe241ecd37211934bd9e1f6d80fae4009928","_number":993727,"virtual_id_number":993727,"owner":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"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-06-17 11:59:48.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-06-17 11:21:06.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-06-17 11:21:06.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-06-17 10:26:25.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-06-17 10:55:02.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"}],"messages":[{"id":"73db10c6cf270f92c239f9ea621458179de11214","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-06-17 10:08:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8476490a4cd3bf95d5b1262fe259a4d5fddf5803","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 10:26:25.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d6cfd7136e1648939f5e6085290ea716\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/7f2a8a296a054940a032b7e8268b63ce : SUCCESS in 4m 09s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/17ce82c6c62841d49ae4969133fb637a : SUCCESS in 5m 47s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/65842f7663f5471d8f3df1e3ac41aea4 : SUCCESS in 6m 52s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"bbd553f6bfcc14f3e841bff5a3062e3e17d66f62","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 10:55:02.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/75cc828bc8044cd38ee98d0232eb97ae\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cab99835102b4b4a9f12eac43e0f3d28 : SUCCESS in 3m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/541b8a62ebf1412ab746ff0a9839c4ad : SUCCESS in 3m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f515cbe05c35477cbce84c84952a3959 : SUCCESS in 3m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e189942c3fb44b01b7e26a8a778fa0cb : SUCCESS in 6m 16s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a03da0430ac34487b164dd46dff997ba : SUCCESS in 3m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0a4c19227b334bb1b02cb81956354cb6 : SUCCESS in 4m 49s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/fd875e8df915451ea122b29ca834bea2 : SUCCESS in 4m 15s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/0ebfee35e7e44621883f3e4e04ce5235 : SUCCESS in 40m 42s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ffe137b49dc74ccbae026938066410db : SUCCESS in 34m 55s","accounts_in_message":[],"_revision_number":1},{"id":"d4a2918af1220f435f09f5cf3d03ab5b215af255","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-06-17 11:21:06.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"c05c0f0faf534eba1443bed39e72fbf18d2a46e3","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 11:21:43.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"91d4324bc94a827ad2f8240f2f4a794ee25e675c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 11:59:48.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/87742d0bcced4eb289967c5711b039a7\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aca361f52ec640b38257f61ef2d71ef9 : SUCCESS in 3m 30s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f813fc4348604179b77425cb0478e64b : SUCCESS in 3m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/035796d38312467abfdf3028d2bf10d4 : SUCCESS in 2m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e6d1a5733d154c45979316a8d94b47ab : SUCCESS in 4m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fd204211b25144d8a84754ae26d10295 : SUCCESS in 4m 14s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/d9279e9995944ba9bedd11cf75d1c0e9 : SUCCESS in 4m 35s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/e9a67763b5a84391b499baad03699dca : SUCCESS in 33m 35s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5c34607d020c4a45b47058664c565ddd : SUCCESS in 25m 10s","accounts_in_message":[],"_revision_number":1},{"id":"7f487d51d50e081b262c5cafaf8136df4f887e2c","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 11:59:48.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"00befe241ecd37211934bd9e1f6d80fae4009928","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 12:00:43.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cfb84db8ac2747ccaca25f37f49b6a16\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cfb4353aad244f9f9cf7d65fd5dbe241 : SUCCESS in 42s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9ced1675ff7b3bdd8a19b1d4088abdc80f16d686","revisions":{"9ced1675ff7b3bdd8a19b1d4088abdc80f16d686":{"kind":"REWORK","_number":1,"created":"2026-06-17 10:08:51.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/27/993727/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/27/993727/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/27/993727/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/27/993727/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/27/993727/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/27/993727/1"}}},"commit":{"parents":[{"commit":"d714e30fdc824ec3492b36ba2bb696a65d1c2330","subject":"Collect freezer-api app logs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/d714e30fdc824ec3492b36ba2bb696a65d1c2330"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-06-17 10:08:29.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-06-17 10:08:29.000000000","tz":120},"subject":"Allow null values in schema","message":"Allow null values in schema\n\nAPI schema requires an optional input data to be a string. At the same\ntime API does respond with these values being None. In case of\nfeeding an answer of API back to it, a 400 will be raised.\n\nChange-Id: I90a52184d6ebbaf89793ea69468a75787044b46b\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/9ced1675ff7b3bdd8a19b1d4088abdc80f16d686"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/9ced1675ff7b3bdd8a19b1d4088abdc80f16d686"}]},"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":""}}}]}
