)]}'
{"id":"openstack%2Fcinderlib~798633","triplet_id":"openstack%2Fcinderlib~master~I1422e833ec0ec50376d4afac91f22c7b60bf996b","project":"openstack/cinderlib","branch":"master","topic":"datetime-serialization","hashtags":[],"change_id":"I1422e833ec0ec50376d4afac91f22c7b60bf996b","subject":"Fix datetime serialization","status":"MERGED","created":"2021-06-29 10:00:23.000000000","updated":"2021-06-29 20:59:00.000000000","submitted":"2021-06-29 20:57:47.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"798633-datetime-serialization","meta_rev_id":"008a51448f544ef94ed74dd58ba74de3fad1d18d","_number":798633,"virtual_id_number":798633,"owner":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-06-29 20:57:46.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"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":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":2,"date":"2021-06-29 20:59:00.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-06-29 20:59:00.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"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":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":1,"date":"2021-06-29 19:33:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-06-29 10:52:38.000000000","updated_by":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"reviewer":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"state":"REVIEWER"},{"updated":"2021-06-29 12:46:49.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2021-06-29 13:48:33.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":"cf57f2edfcb59131752d35728e1ff6133ad7d16c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 10:00:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"37b825bc8a7e8de7387215405039ee93922f0d22","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2021-06-29 10:52:38.000000000","message":"Patch Set 1: Code-Review-1\n\n(6 comments)\n\n-1 for the nits in test","accounts_in_message":[],"_revision_number":1},{"id":"c219feee6b0efdd17af2696405e863a9d3d76f61","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 12:07:06.000000000","message":"Patch Set 1:\n\n(7 comments)","accounts_in_message":[],"_revision_number":1},{"id":"6420925ad078087d93acb60f60bc8eae7f092cc9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 12:07:26.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"953e4005dbc2a746585069d656b744961cfbfad4","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2021-06-29 12:34:34.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)\n\nLGTM, thanks Gorka.","accounts_in_message":[],"_revision_number":2},{"id":"6d77e3dabc4fc1415f2440e18fe776a92fb221f5","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2021-06-29 12:46:49.000000000","message":"Patch Set 2: Code-Review+2\n\n(2 comments)\n\nNit and a question inline.  Code and tests look good.","accounts_in_message":[],"_revision_number":2},{"id":"18535d73d4e42995b5357162ff2284114470eae8","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 12:52:05.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"72d8501d4982d785c01a82a446604c8b1f9a7974","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2021-06-29 13:02:35.000000000","message":"Patch Set 2: Workflow+1\n\n(1 comment)\n\nI don\u0027t think my nit on the release note is worth holding this up.","accounts_in_message":[],"_revision_number":2},{"id":"7dbeab9000e5f32dc9d28e639ac8719edbc23bbf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 13:48:33.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5892eace79a2428a9bcf30abcce45b46 : SUCCESS in 11m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6a9224c72a7041efbc4d3c3a6deeca57 : SUCCESS in 6m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/63cb988041eb4474af0abcf81642b91d : SUCCESS in 7m 42s\n- cinderlib-tox-py36 https://zuul.opendev.org/t/openstack/build/1f06986a6c734f0aaedb81c5d5a0c9b6 : FAILURE in 10m 10s\n- cinderlib-tox-py37 https://zuul.opendev.org/t/openstack/build/5e98a9b79a774223afa6e23da66515f2 : SUCCESS in 12m 55s\n- cinderlib-lvm-functional https://zuul.opendev.org/t/openstack/build/e8342526d1c2483c9b00e8b4c6298818 : SUCCESS in 12m 02s\n- cinderlib-ceph-functional https://zuul.opendev.org/t/openstack/build/2f71b7bee52d42e99ae00ea26ae4bcef : SUCCESS in 13m 19s\n- os-brick-src-tempest-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/034e6cba8f9948e9a5faba7eb7486d36 : SUCCESS in 1h 31m 35s","accounts_in_message":[],"_revision_number":2},{"id":"390d760176b3a7f094754a18a3ed0e5223268135","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 15:50:40.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"94ab9e16ed995a9ee3c812cf0f7bd2543e7ad145","author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"date":"2021-06-29 15:51:35.000000000","message":"Patch Set 2:\n\nFailure is a unit test issue unrelated to the patch.  I have written a patch to fix it and rebased this patch on top of it. https://review.opendev.org/c/openstack/cinderlib/+/798706","accounts_in_message":[],"_revision_number":2},{"id":"3f6b8026c6545569d078f23be91f41f9d8c8d8e9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 17:29:05.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5850bfa1034c48e1a2ebfb45801c7303 : SUCCESS in 11m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1bece5de449e4366978af5a203c296c6 : SUCCESS in 6m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b6ba5d1b5bcf45028e2e7ae190b5ee23 : SUCCESS in 7m 18s\n- cinderlib-tox-py36 https://zuul.opendev.org/t/openstack/build/3c70c1501c944292b5ed1d22d78e51e7 : SUCCESS in 13m 06s\n- cinderlib-tox-py37 https://zuul.opendev.org/t/openstack/build/bab63b20b90741caafd800b263266b7f : SUCCESS in 12m 26s\n- cinderlib-lvm-functional https://zuul.opendev.org/t/openstack/build/6b7867f51caf42ccb5825d3ffcff0f0f : SUCCESS in 14m 23s\n- cinderlib-ceph-functional https://zuul.opendev.org/t/openstack/build/1fdfd42d6d874b329dc751aa67bc6ea6 : SUCCESS in 14m 14s\n- os-brick-src-tempest-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/c777e02fde9d46b39793055a71173de1 : SUCCESS in 1h 37m 58s","accounts_in_message":[],"_revision_number":3},{"id":"7e46e318ccb7af4fea109a1788268bd08a8561da","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2021-06-29 19:33:28.000000000","message":"Patch Set 3: Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"88f97989a33d9686d88f0d33ec6a624933d9f3d5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 19:33:45.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"41c6c98b2ca9ac9d08b93d4b7564384d2edecd63","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 20:57:46.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7bb43e7e290c40078c99b983cc4b743c : SUCCESS in 11m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ff9c2e2b69934cdbb83e88dad0e5640d : SUCCESS in 6m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/747f7b0d156d455d93db0ef6eb847cd3 : SUCCESS in 7m 04s\n- cinderlib-tox-py36 https://zuul.opendev.org/t/openstack/build/784aa752608f47d59009b3823f4ee35b : SUCCESS in 10m 06s\n- cinderlib-tox-py37 https://zuul.opendev.org/t/openstack/build/9d9a28d288c14c8f935c740cae6c15ac : SUCCESS in 10m 08s\n- cinderlib-lvm-functional https://zuul.opendev.org/t/openstack/build/065ab8068a704868b65e49a567ce4ec0 : SUCCESS in 12m 54s\n- cinderlib-ceph-functional https://zuul.opendev.org/t/openstack/build/d61acb1f34fb42108db48d0cf04ebe20 : SUCCESS in 11m 53s\n- os-brick-src-tempest-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/b9deac1111dc4d64b5ef21769641f404 : SUCCESS in 1h 22m 54s","accounts_in_message":[],"_revision_number":3},{"id":"cea40d13343e227399e47e9d82caae726d127978","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 20:57:47.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"2a110c16681d5143a412ce49a0610fd30a86fa4f","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-29 20:59:00.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ed8c48e318e2484083ba14e48a61f190 : SUCCESS in 58s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6bb5cde641eb47a69c4f1df8fa5605ea : SUCCESS in 51s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"51609b61a43d53119c8e8e00ae5ef5e919e85a27","revisions":{"80c00267e4a76ab0ec7f005b2d22700750cb7da2":{"kind":"REWORK","_number":1,"created":"2021-06-29 10:00:23.000000000","uploader":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"ref":"refs/changes/33/798633/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinderlib","ref":"refs/changes/33/798633/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/1"}}},"commit":{"parents":[{"commit":"6ffa1c9447f3ecdfd97fcb9d40ce000b1475e570","subject":"Merge \"Remove reliance on embedded imports\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/6ffa1c9447f3ecdfd97fcb9d40ce000b1475e570"}]}],"author":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 09:56:54.000000000","tz":120},"committer":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 09:56:54.000000000","tz":120},"subject":"Fix datetime serialization","message":"Fix datetime serialization\n\nCinderlib\u0027s methods and property that convert objects to json end up\nlosing resolution on DateTime fields.\n\nSince json doesn\u0027t have a datetime fields they are stored as strings,\nbut they are not storing subsecond information.\n\nThis means that datetime fields that are serialized and then\ndeserialized are different.\n\nThis patch changes the way we format the string to use the ISO-8601\nsubsecond format instead of the standard second format.\n\nThis is a backward compatible change, as this version of cinderlib will\nbe able to read old datetime string, and old cinderlib code will be able\nto read new datetime strings as well (even if it cannot generate them).\n\nThe old code is able to read the new format because the from_primitive\ncode of the OVO field uses oslo_utils.timeutils.parse_isotime which in\nthe end uses iso8601.parse_date, and since the subsecond format is also\nISO8601 it is properly parsed.\n\nChange-Id: I1422e833ec0ec50376d4afac91f22c7b60bf996b\nCloses-Bug: #1933964\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/80c00267e4a76ab0ec7f005b2d22700750cb7da2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/80c00267e4a76ab0ec7f005b2d22700750cb7da2"}]},"branch":"refs/heads/master"},"026784b949d7115c519d5ec7bf1a763188ff1032":{"kind":"REWORK","_number":2,"created":"2021-06-29 12:07:26.000000000","uploader":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"ref":"refs/changes/33/798633/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinderlib","ref":"refs/changes/33/798633/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/2"}}},"commit":{"parents":[{"commit":"6ffa1c9447f3ecdfd97fcb9d40ce000b1475e570","subject":"Merge \"Remove reliance on embedded imports\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/6ffa1c9447f3ecdfd97fcb9d40ce000b1475e570"}]}],"author":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 09:56:54.000000000","tz":120},"committer":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 12:07:19.000000000","tz":120},"subject":"Fix datetime serialization","message":"Fix datetime serialization\n\nCinderlib\u0027s methods and property that convert objects to json end up\nlosing resolution on DateTime fields.\n\nSince json doesn\u0027t have a datetime fields they are stored as strings,\nbut they are not storing subsecond information.\n\nThis means that datetime fields that are serialized and then\ndeserialized are different.\n\nThis patch changes the way we format the string to use the ISO-8601\nsubsecond format instead of the standard second format.\n\nThis is a backward compatible change, as this version of cinderlib will\nbe able to read old datetime string, and old cinderlib code will be able\nto read new datetime strings as well (even if it cannot generate them).\n\nThe old code is able to read the new format because the from_primitive\ncode of the OVO field uses oslo_utils.timeutils.parse_isotime which in\nthe end uses iso8601.parse_date, and since the subsecond format is also\nISO8601 it is properly parsed.\n\nChange-Id: I1422e833ec0ec50376d4afac91f22c7b60bf996b\nCloses-Bug: #1933964\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/026784b949d7115c519d5ec7bf1a763188ff1032"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/026784b949d7115c519d5ec7bf1a763188ff1032"}]},"branch":"refs/heads/master"},"51609b61a43d53119c8e8e00ae5ef5e919e85a27":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2021-06-29 15:50:40.000000000","uploader":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"ref":"refs/changes/33/798633/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinderlib","ref":"refs/changes/33/798633/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinderlib refs/changes/33/798633/3"}}},"commit":{"parents":[{"commit":"42dbc4ac86dad64b19342aa491d4249bb1e36b10","subject":"Fix test_global_setup unit test","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/42dbc4ac86dad64b19342aa491d4249bb1e36b10"}]}],"author":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 09:56:54.000000000","tz":120},"committer":{"name":"Gorka Eguileor","email":"geguileo@redhat.com","date":"2021-06-29 15:48:07.000000000","tz":120},"subject":"Fix datetime serialization","message":"Fix datetime serialization\n\nCinderlib\u0027s methods and property that convert objects to json end up\nlosing resolution on DateTime fields.\n\nSince json doesn\u0027t have a datetime fields they are stored as strings,\nbut they are not storing subsecond information.\n\nThis means that datetime fields that are serialized and then\ndeserialized are different.\n\nThis patch changes the way we format the string to use the ISO-8601\nsubsecond format instead of the standard second format.\n\nThis is a backward compatible change, as this version of cinderlib will\nbe able to read old datetime string, and old cinderlib code will be able\nto read new datetime strings as well (even if it cannot generate them).\n\nThe old code is able to read the new format because the from_primitive\ncode of the OVO field uses oslo_utils.timeutils.parse_isotime which in\nthe end uses iso8601.parse_date, and since the subsecond format is also\nISO8601 it is properly parsed.\n\nChange-Id: I1422e833ec0ec50376d4afac91f22c7b60bf996b\nCloses-Bug: #1933964\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/51609b61a43d53119c8e8e00ae5ef5e919e85a27"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinderlib/commit/51609b61a43d53119c8e8e00ae5ef5e919e85a27"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
