)]}'
{"id":"openstack%2Fswift~981908","triplet_id":"openstack%2Fswift~master~I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5","project":"openstack/swift","branch":"master","topic":"fix-rebase","attention_set":{},"removed_from_attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-03-25 17:10:57.000000000","reason":"\u003cGERRIT_ACCOUNT_15343\u003e replied on the change","reason_account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-03-25 22:41:38.000000000","reason":"Change was submitted"},"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-03-25 22:41:38.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5","subject":"timestamps: support offsets with Timestamp.__invert__","status":"MERGED","created":"2026-03-24 14:58:51.000000000","updated":"2026-03-25 22:44:28.000000000","submitted":"2026-03-25 22:41:38.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":10,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"981908-fix-rebase","meta_rev_id":"88989f984e3ffe1917e807c5fff106187146828c","_number":981908,"virtual_id_number":981908,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-25 22:41:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-03-25 17:10:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":2,"date":"2026-03-25 19:07:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-03-25 17:10:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":1,"date":"2026-03-25 19:07:21.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-24 15:36:14.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-03-24 16:14:44.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-03-24 19:31:54.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"},{"updated":"2026-03-25 03:06:13.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2026-03-25 19:07:21.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"}],"messages":[{"id":"c8f6c80679d5d1e923197b23f319c8ba50587f7d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-24 14:58:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d583b9fe7b48321c4bc0943cd168853312479372","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-24 15:36:14.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/034ecb2884d842f1a289d68cf55bd983\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/54a214c5c6bf44ffaeaced1723b1db9f : SUCCESS in 33m 44s","accounts_in_message":[],"_revision_number":1},{"id":"a1b6e808ca932909d20df02aa55425bdedf5cb98","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-24 16:14:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6afc39a058c941db81b8d57e31fbd31b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/035ca2a888394100b634dd69537741c5 : SUCCESS in 5m 16s\n- grenade https://zuul.opendev.org/t/openstack/build/773160844725489b96a57d895652b946 : SUCCESS in 47m 39s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/4a783b8095534aa99260cddb6172bb99 : SUCCESS in 1h 03m 22s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9762800cd83744ca97cffbdc485e00f1 : SUCCESS in 1h 01m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/305c96cf1b0748cfa470c8711417fd17 : SUCCESS in 1h 07m 00s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d627391b9f15450097a5c607ff8822f0 : SUCCESS in 10m 56s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d6d3058dec504c008cd16aa3aee0e52f : SUCCESS in 19m 39s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/263622da33ce42fc9226fa31ef1ba973 : SUCCESS in 17m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a747114866d24b41a83314add73df535 : SUCCESS in 9m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/884d69fb41af4e6b8eba9dc0296449c9 : SUCCESS in 18m 41s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/2d9c5e26e0bf464b881c1dac8713bd41 : SUCCESS in 26m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/58d87b8a13664f32aa5520d3e9ef7032 : SUCCESS in 12m 38s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/b885a4683d484cfaac62d1f8dd99d51c : SUCCESS in 21m 08s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d529d7131e154a40bddbd7582d00e275 : SUCCESS in 7m 43s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/cd6a98a510a44c96a5369106de31716f : SUCCESS in 13m 59s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/597f15763a7b4588b6533c2db637120f : SUCCESS in 16m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/88f9a050756049a0921485e52741c68b : SUCCESS in 8m 45s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5665b49eb044429c824151a33a4146ea : SUCCESS in 8m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/55962f22fa5a4230b6fe162a78d617d5 : SUCCESS in 7m 44s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4eab14f3310c49159e2c3cf08656cb22 : SUCCESS in 50m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d25ea0d503644588975504cfa33534f3 : SUCCESS in 52m 56s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b3c9a5ac32784b698bd73e57d05f1972 : SUCCESS in 25m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b5ad12da68c44217bfec1ec0d52b6876 : SUCCESS in 10m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b81ffdbda404a45b0def22b879d79d7 : SUCCESS in 5m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f6860b03191c4042bbc565f82f464554 : SUCCESS in 10m 27s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/738c212c8dca4435b0219081668d095e : SUCCESS in 41m 04s","accounts_in_message":[],"_revision_number":1},{"id":"e355a7d0a50e5c11647d04ef0d1081555e3e189e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-24 16:31:34.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b4a982fd88dfcf52ee3f26e2afb480f8ce7dbd34","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-24 17:53:09.000000000","message":"Patch Set 1: -Workflow","accounts_in_message":[],"_revision_number":1},{"id":"2ca370d31b45c8517ea555218bba990da82e3d4d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-03-24 19:31:54.000000000","message":"Patch Set 1: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"9892680adaa0617e777cb52c33c403d9501b12d9","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-03-25 03:06:13.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"70eb55fa3e18251ab0ac8ef91755e708c7a50d1c","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-03-25 03:06:26.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b2b52f45c8955d546cbded4802fbdc878e39c2ff","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-03-25 03:39:42.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"aa06e21071a08b625deb39c99f22413af6f986bd","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-25 11:08:16.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"60a14265a6c812a79b7512749eab19446191e9d1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-25 16:30:13.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"4e15beae4254909eefedc42e84d2eab1257ebbfb","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-03-25 17:10:57.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"d9853c0fffbf89c21ee1cbb6232f9fdb8f0b615f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 17:39:05.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/997c1d92282543e6a3972ebf1edddb57\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ae9558bffca84993a0280cfcff46591b : SUCCESS in 12m 35s\n- grenade https://zuul.opendev.org/t/openstack/build/980dc360be7b4a688be8007c8850d951 : SUCCESS in 34m 49s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f4f4192b83c048ae9886fe8e26b96cda : SUCCESS in 34m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/39888ccbfd0640dc860592f1d1dfd7ec : SUCCESS in 1h 01m 30s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2215a65b285d4d609abc0bae88cd7f22 : SUCCESS in 53m 02s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/be1175c3df2f44f2b6a3d80a04da0953 : SUCCESS in 21m 06s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2a295d7b70a340b6a24ad07b3be08313 : SUCCESS in 19m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0b304770d59b4c64b6cd51ef7a80cf24 : SUCCESS in 21m 24s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/bc2ffd7a8da84f4cb56f1e43bdb3685c : SUCCESS in 7m 02s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9037045657a04939aaecf03aa1587436 : SUCCESS in 10m 55s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/2df5891306434c43a36b68de2a0e6382 : SUCCESS in 23m 52s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c17e9022f1d54d1a86b7c0126247e615 : SUCCESS in 29m 33s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/55fb9db9197744a48c1b5788422b36c4 : SUCCESS in 19m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/30ccfdc3e26b46d3a298c3d055e61c27 : SUCCESS in 10m 06s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7c1768ee508341569b71c656971a4438 : SUCCESS in 13m 34s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/47c22d1d226249b2983c5d13042e175b : SUCCESS in 12m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c3ef8d6db0a94536adc0ec62f43f6561 : SUCCESS in 5m 23s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4690a85f92bd4ae7a00e888c9c8ed360 : SUCCESS in 16m 47s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2ec79e2dd0bf4519a32fb9a18a61194e : SUCCESS in 9m 39s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c57077a4dbb240b18f15a90fff1dfce8 : SUCCESS in 1h 01m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d57f495172b5449987ab60a4048b1b93 : SUCCESS in 53m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/802bc23f04b445c5b289728e3ea48fbd : SUCCESS in 50m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/07895c9b30504fba89e6c83501006f63 : SUCCESS in 27m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4736d53d339046608d96ff929d7af7da : SUCCESS in 6m 08s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1310652541a141f48e662fe535e650f2 : SUCCESS in 19m 33s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/409ff25462e948bfac94bd70216280da : SUCCESS in 52m 03s","accounts_in_message":[],"_revision_number":2},{"id":"30f45ad42a1b01e54697f916d8b4f5bc92fcac06","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 17:39:35.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"73941395d7c8d17fd2c05adab302d1ce9875e747","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 18:49:14.000000000","message":"Patch Set 2: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/51387e631c83400796e64f4b7cde8737\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/54291e6a3b3140009732ef918903279e : SUCCESS in 11m 36s\n- grenade https://zuul.opendev.org/t/openstack/build/0725d47d215b40dc8dc7472d0cc67853 : SUCCESS in 49m 52s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d359d4da4408450f9a25e32ed2fa320c : SUCCESS in 1h 01m 06s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1480e08774434966bf0698320d1a05a8 : SUCCESS in 56m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a2d539a23b3846cc800e0db383c3f717 : SUCCESS in 1h 08m 22s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/529cbeba68af41df924d4ae4b7212cd6 : SUCCESS in 11m 20s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/73adedb9b3aa4b80b5df557d9a9c3cdf : SUCCESS in 22m 35s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ffa59ba3e2bb4afdac58ff57f6c5793c : SUCCESS in 16m 44s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c0afc76149f64aeba647f2630e65e702 : SUCCESS in 25m 25s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ae453a754b7b47148bd186a29d51ee70 : SUCCESS in 20m 04s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/35d8a2f9a3fe4e559b0c5c3dad69d984 : SUCCESS in 15m 04s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/83d6b9703dbb4f8582f1cefb2dabe754 : SUCCESS in 8m 25s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1f152a233f3f4b29874254c58c756df1 : SUCCESS in 17m 52s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d68f3b896dcb4c52a38cff0b57da1139 : SUCCESS in 3m 58s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1c9ec68d528140ab8c71b53d35a69492 : SUCCESS in 7m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f30fd703c3704d2396d78bde156333d6 : SUCCESS in 1h 02m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cf0a96b2a9aa4e12954e9c7c2a259332 : SUCCESS in 56m 45s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fee4b60b33014dd4b30a36efbb054e29 : SUCCESS in 21m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a15c477998f44ec38fa6cbd6cf3411d0 : SUCCESS in 28m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/feadc205f1bd4bcda4c193e4ae4b9061 : SUCCESS in 2m 40s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a12c273aa1e2400fb2f5a59ee72df559 : FAILURE in 30m 43s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/52ed40b99fd5467d8fa4f7ebdbb362af : SUCCESS in 30m 18s","accounts_in_message":[],"_revision_number":2},{"id":"04341ac68a346a9e8305fcbecb7b572d31dee2a0","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-03-25 19:00:59.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"03fb067bd7c7a1eeba9a235d49f3456474737fda","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-03-25 19:07:21.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"b7866a1a3a19e5bd7bd640b60d9ea2c194ab53a5","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 19:46:52.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f22fbaa937034ba3813994b5e0c69160\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/82b95b56e6b04794aaee6155d016703c : SUCCESS in 31m 48s","accounts_in_message":[],"_revision_number":2},{"id":"ecb016fdf7f631cfe01a33228cb9cd45ece08709","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 20:06:23.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/24587d574ffb4f26be77b64038ddd2fa\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/47253d07068443f380484ebc3875b3f5 : SUCCESS in 10m 03s\n- grenade https://zuul.opendev.org/t/openstack/build/2c7732443139438bad5c96e1732d00d1 : SUCCESS in 1h 00m 36s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6fb7b838e7b44e8d801542cbc9210773 : SUCCESS in 51m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ee9f2cf73ddc45d4849cdd66818e62f8 : SUCCESS in 34m 57s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/965d7a85a85548d7a0c6e8bee7a99857 : SUCCESS in 35m 41s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8c75707f6c914e748bc42dd7a04b9586 : SUCCESS in 20m 02s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c7f45232ead54b5091f972b39988d7c6 : SUCCESS in 21m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bd9895057db54f5b9ca8bbc79865dedb : SUCCESS in 22m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e45bf3e469d649c8a0475ebb9f60be79 : SUCCESS in 6m 47s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/cd27b2e96b4b4e24833c9b8664a09200 : SUCCESS in 24m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/631f6e0cfc7949968c510b62497083e0 : SUCCESS in 21m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/928b2c32d3b1409e9a08a988938914aa : SUCCESS in 28m 12s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/595023588cee41449d1990eeb1ef38da : SUCCESS in 21m 46s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/69025746276d44bda63c3706884adb4e : SUCCESS in 17m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/59791ebf2b9d48e18a91772159dfbeb9 : SUCCESS in 14m 52s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/21a341ecb29e49a4ae02a9982069a7c3 : SUCCESS in 8m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f8fe0a89193244e68b93d0876a6ec062 : SUCCESS in 6m 06s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/34d4b6b86e624ce8ad55fea3306a5601 : SUCCESS in 16m 41s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/b3ead9e3ddce4f29b3d06a900dde694b : SUCCESS in 7m 55s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1d410ce9a7a84a3c9d09abe60abb7cd8 : SUCCESS in 51m 34s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/187149ca86e446df938522a62a7a3b09 : SUCCESS in 55m 30s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9297c39db74f46e38c562e0440ee86fd : SUCCESS in 22m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/58e81200f1724031b51d30c94d971182 : SUCCESS in 27m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/700e61e117444ab4919b75eba32c224a : SUCCESS in 2m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/4ac7edb3046348beb63ded0f2567f6a9 : SUCCESS in 17m 22s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7917443247d046c7868aade1ec2a5d67 : SUCCESS in 47m 09s","accounts_in_message":[],"_revision_number":2},{"id":"810cf8c8d3c4f1840158b2258c2ad8f279e50de1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 20:06:59.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b62453b1c10c39279b7a6932696084b04cf80b26","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 22:41:38.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f135e36209314a408138240987d8453c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9b15bef4a241485f9e295f26c44afc9a : SUCCESS in 5m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/b30c0678598243d1a7ecf134e2e1e203 : SUCCESS in 1h 06m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/291135197c504248ad7edbb2a80899ca : SUCCESS in 33m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ea1495be9af341efa54562efd2b4aa4d : SUCCESS in 36m 18s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/00baa372de7844b8a06d966fd887c236 : SUCCESS in 1h 01m 28s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/f80a14f2e34d4af48aad68e5243f5f5a : SUCCESS in 9m 42s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9bddb037c11b4e37997b0b1c1f75486c : SUCCESS in 26m 56s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c2b4a060da3a4c0ebf3ebd6db476b31c : SUCCESS in 18m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1b97b3617467407d9ca2cd2b3f0cdcf0 : SUCCESS in 32m 24s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/1f671d625bc7487388407465acf309f3 : SUCCESS in 10m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/20442162fc734159a3688a304c51db79 : SUCCESS in 16m 00s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/02a6e2b7bc764ad0aca54b56208fce99 : SUCCESS in 15m 20s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0ed5cda440234bb280fa527a5ba633cb : SUCCESS in 16m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e7938bde76714c269d323a3f3259e48a : SUCCESS in 8m 34s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c2e9a43a638e4a6695c2a1d51810db5e : SUCCESS in 10m 33s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/157bce7cdf544b4fba84af99156acbff : SUCCESS in 52m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d093810c765f4a478c058337537c9ad3 : SUCCESS in 36m 43s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ec0f0364b8ac4828ab950807e0e72faa : SUCCESS in 43m 10s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4c4cde4497304823a3881913554d6d53 : SUCCESS in 31m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/025d232f9b1446098d732e9065cb7b09 : SUCCESS in 5m 00s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/71827c596c3744019c3768ce2fec3316 : SUCCESS in 19m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d8b7a0833ae7413eb3205ce8523fa3b0 : SUCCESS in 43m 12s","accounts_in_message":[],"_revision_number":2},{"id":"00a8fa8d0a19f80ebb00a1f0e87ab14ddc64bf61","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 22:41:38.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"88989f984e3ffe1917e807c5fff106187146828c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 22:44:28.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f743a98e22864698a6ed7e490d5745c3\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1f4af93c381b42b3951bc7c82aa5e6d5 : SUCCESS in 48s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/3a64ce93fb1e4273ab4587db6e0590f7 : SUCCESS in 47s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"92ca1b8df7cc6521206a72b73d457254d9517725","revisions":{"7814c0cb5620527724695ac6b1f48d27572a3767":{"kind":"REWORK","_number":1,"created":"2026-03-24 14:58:51.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/08/981908/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/08/981908/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/08/981908/1"}}},"commit":{"parents":[{"commit":"eb1c6890cb263d7754d2223fb6f509a317a07303","subject":"Update master for stable/2026.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eb1c6890cb263d7754d2223fb6f509a317a07303"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-24 14:28:16.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-24 14:55:54.000000000","tz":0},"subject":"timestamps: support offsets with Timestamp.__invert__","message":"timestamps: support offsets with Timestamp.__invert__\n\nPreviously the Timestamp class inversion method did not allow a hex\noffset part in the Timestamp being inverted. The sole use case for\nTimestamp inversion is object_versioning where PUT request x-timestamp\nheaders (and therefore version-id\u0027s) are not expected to have offsets.\n\nHowever, in the future, x-timestamp headers may be extended to have\nhex parts and it will be useful during upgrades for legacy object\nversioning middleware to at least allow version_id\u0027s that have a hex\npart. This patch therefore pre-emptively adds support for inverting\nTimestamps with a hex offset part.\n\nRelated-Change: Ic7d39ba425ca324eeb4543a2ce8d03428e2225a\nChange-Id: I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7814c0cb5620527724695ac6b1f48d27572a3767"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7814c0cb5620527724695ac6b1f48d27572a3767"}]},"branch":"refs/heads/master"},"92ca1b8df7cc6521206a72b73d457254d9517725":{"kind":"REWORK","_number":2,"created":"2026-03-25 16:30:13.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/08/981908/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/08/981908/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/08/981908/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/08/981908/2"}}},"commit":{"parents":[{"commit":"4ff01ea2fa2d697f43d69e18d44e685580934666","subject":"Stop looking for warnings we shouldn\u0027t be triggering","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4ff01ea2fa2d697f43d69e18d44e685580934666"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-24 14:28:16.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-25 16:24:45.000000000","tz":0},"subject":"timestamps: support offsets with Timestamp.__invert__","message":"timestamps: support offsets with Timestamp.__invert__\n\nPreviously the Timestamp class inversion method did not allow a hex\noffset part in the Timestamp being inverted. The sole use case for\nTimestamp inversion is object_versioning where PUT request x-timestamp\nheaders (and therefore version-id\u0027s) are not expected to have offsets.\n\nHowever, in the future, x-timestamp headers may be extended to have\nhex parts and it will be useful during upgrades for legacy object\nversioning middleware to at least allow version_id\u0027s that have a hex\npart. This patch therefore pre-emptively adds support for inverting\nTimestamps with a hex offset part.\n\nRelated-Change: Ic7d39ba425ca324eeb4543a2ce8d03428e2225a\nChange-Id: I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/92ca1b8df7cc6521206a72b73d457254d9517725"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/92ca1b8df7cc6521206a72b73d457254d9517725"}]},"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"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":{}}},{"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":{}}},{"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":{}}}]}
