)]}'
{"id":"openstack%2Fswift~331369","triplet_id":"openstack%2Fswift~master~I007425301914144e228b9cfece5533443e851b6e","project":"openstack/swift","branch":"master","topic":"331369","hashtags":[],"change_id":"I007425301914144e228b9cfece5533443e851b6e","subject":"Always set swift processes to use UTC","status":"MERGED","created":"2016-06-17 22:33:17.000000000","updated":"2017-03-01 00:10:44.000000000","submitted":"2017-03-01 00:10:43.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"3270518518495cc1d2cbd222c4d765dcc40fa149","_number":331369,"virtual_id_number":331369,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},{"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":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":2,"date":"2017-03-01 00:10:43.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"recommended":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"all":[{"value":0,"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":1,"date":"2017-01-04 17:53:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":2,"date":"2017-02-01 02:13:44.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":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":2,"date":"2017-02-28 22:42:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":0,"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},{"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":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":1,"date":"2017-02-28 22:42:33.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_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":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-11-07 23:40:05.000000000","updated_by":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2016-11-09 17:37:06.000000000","updated_by":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"reviewer":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"state":"REVIEWER"},{"updated":"2017-01-04 17:53:57.000000000","updated_by":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"reviewer":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"state":"REVIEWER"},{"updated":"2017-02-01 02:13:44.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"},{"updated":"2017-02-28 22:42:33.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":"2017-03-01 00:10:43.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"6c920bce525cf4d5fd29021510aeb9b838b129c1","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-06-17 22:33:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4ee15472fdefaa78b29651753652399bbb567f7c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-06-17 23:36:34.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-swift-docs http://docs-draft.openstack.org/69/331369/1/check/gate-swift-docs/7cb07e3//doc/build/html/ : SUCCESS in 2m 30s\n- gate-swift-pep8 http://logs.openstack.org/69/331369/1/check/gate-swift-pep8/0aaabda/ : SUCCESS in 1m 43s\n- gate-swift-python27 http://logs.openstack.org/69/331369/1/check/gate-swift-python27/e22d5f2/ : FAILURE in 5m 02s\n- gate-swift-python34 http://logs.openstack.org/69/331369/1/check/gate-swift-python34/808ca85/ : SUCCESS in 2m 46s\n- gate-swift-tox-func http://logs.openstack.org/69/331369/1/check/gate-swift-tox-func/8b034b5/ : SUCCESS in 4m 26s\n- gate-swift-tox-func-in-process-fast-post http://logs.openstack.org/69/331369/1/check/gate-swift-tox-func-in-process-fast-post/1f90ee3/ : SUCCESS in 4m 23s\n- gate-tempest-dsvm-full http://logs.openstack.org/69/331369/1/check/gate-tempest-dsvm-full/4ce9537/ : SUCCESS in 44m 45s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-nv http://logs.openstack.org/69/331369/1/check/gate-tempest-dsvm-neutron-identity-v3-only-full-nv/ed92f21/ : SUCCESS in 58m 37s (non-voting)\n- gate-grenade-dsvm http://logs.openstack.org/69/331369/1/check/gate-grenade-dsvm/eda7a0d/ : SUCCESS in 41m 33s\n- gate-swift-dsvm-functional http://logs.openstack.org/69/331369/1/check/gate-swift-dsvm-functional/44772d0/ : SUCCESS in 26m 36s\n- gate-swift-tox-bandit http://logs.openstack.org/69/331369/1/check/gate-swift-tox-bandit/c6ae9e9/ : SUCCESS in 2m 06s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ca044de83827a924614d799757d4e43b37d2eada","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-06-18 01:38:04.000000000","message":"Patch Set 1:\n\nrecheck","accounts_in_message":[],"_revision_number":1},{"id":"d461e0f7e7185a1f8478c2f31352abea9cb72271","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-06-18 02:39:06.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-docs http://docs-draft.openstack.org/69/331369/1/check/gate-swift-docs/601b2c3//doc/build/html/ : SUCCESS in 1m 38s\n- gate-swift-pep8 http://logs.openstack.org/69/331369/1/check/gate-swift-pep8/5b702f2/ : SUCCESS in 1m 42s\n- gate-swift-python27 http://logs.openstack.org/69/331369/1/check/gate-swift-python27/81cf09d/ : SUCCESS in 4m 26s\n- gate-swift-python34 http://logs.openstack.org/69/331369/1/check/gate-swift-python34/a76fc85/ : SUCCESS in 4m 05s\n- gate-swift-tox-func http://logs.openstack.org/69/331369/1/check/gate-swift-tox-func/c4de587/ : SUCCESS in 4m 00s\n- gate-swift-tox-func-in-process-fast-post http://logs.openstack.org/69/331369/1/check/gate-swift-tox-func-in-process-fast-post/e58d245/ : SUCCESS in 4m 36s\n- gate-tempest-dsvm-full http://logs.openstack.org/69/331369/1/check/gate-tempest-dsvm-full/9971778/ : SUCCESS in 40m 58s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-nv http://logs.openstack.org/69/331369/1/check/gate-tempest-dsvm-neutron-identity-v3-only-full-nv/ffb7ee7/ : SUCCESS in 59m 53s (non-voting)\n- gate-grenade-dsvm http://logs.openstack.org/69/331369/1/check/gate-grenade-dsvm/eb60d86/ : SUCCESS in 26m 01s\n- gate-swift-dsvm-functional http://logs.openstack.org/69/331369/1/check/gate-swift-dsvm-functional/75f55a2/ : SUCCESS in 25m 26s\n- gate-swift-tox-bandit http://logs.openstack.org/69/331369/1/check/gate-swift-tox-bandit/78c3e1e/ : SUCCESS in 2m 08s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"2c0bfba5c6c0024d482ff4258974c48e9991c9ed","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2016-06-18 03:56:58.000000000","message":"Patch Set 1:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/4064/ssbench : SUCCESS\n\n* vm-saio-probe https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/3371/probetests/ : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/5426/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/3470/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"4c6c58d858d0bb98f51eed73b49d09026965a4e6","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-09-16 02:08:00.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"fd7c9d4244b33c6dfa7b61af50c03c0dc6f175f8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-09-16 02:56:23.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/69/331369/2/check/gate-swift-docs-ubuntu-xenial/cdc0aad//doc/build/html/ : SUCCESS in 2m 03s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-pep8-ubuntu-xenial/f368fea/ : SUCCESS in 2m 16s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-python27-ubuntu-xenial/0af3073/ : SUCCESS in 5m 13s\n- gate-swift-python34 http://logs.openstack.org/69/331369/2/check/gate-swift-python34/9fcea78/ : SUCCESS in 2m 18s\n- gate-swift-python35-nv http://logs.openstack.org/69/331369/2/check/gate-swift-python35-nv/e314f0a/ : SUCCESS in 3m 06s (non-voting)\n- gate-swift-tox-func-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-ubuntu-xenial/dae0217/ : SUCCESS in 3m 10s\n- gate-swift-tox-func-in-process-fast-post-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-in-process-fast-post-ubuntu-xenial/8500ba9/ : SUCCESS in 5m 28s\n- gate-swift-tox-func-in-process-encryption-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-in-process-encryption-ubuntu-xenial/e1d3474/ : SUCCESS in 6m 46s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-tempest-dsvm-full-ubuntu-xenial/b97e4b5/ : FAILURE in 46m 52s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv http://logs.openstack.org/69/331369/2/check/gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv/883597b/ : FAILURE in 11m 46s (non-voting)\n- gate-grenade-dsvm-ubuntu-trusty http://logs.openstack.org/69/331369/2/check/gate-grenade-dsvm-ubuntu-trusty/ee4dd97/ : SUCCESS in 25m 50s\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-dsvm-functional-ubuntu-xenial/d0b4efa/ : FAILURE in 15m 22s\n- gate-swift-tox-bandit-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-bandit-ubuntu-xenial/8025f4c/ : SUCCESS in 1m 30s (non-voting)\n- gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv http://logs.openstack.org/69/331369/2/check/gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv/7e3e164/ : SUCCESS in 17m 13s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"b6ad9f0efbecaa56a998dde800b116d3fecbffa4","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-09-16 18:03:51.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"0acdaf025dd7a6b220158969b0796d70e0a3f566","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-09-16 18:57:05.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/69/331369/2/check/gate-swift-docs-ubuntu-xenial/e6f222a//doc/build/html/ : SUCCESS in 3m 28s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-pep8-ubuntu-xenial/6fd22a0/ : SUCCESS in 2m 14s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-python27-ubuntu-xenial/2231948/ : SUCCESS in 3m 17s\n- gate-swift-python34 http://logs.openstack.org/69/331369/2/check/gate-swift-python34/8ea75cb/ : SUCCESS in 2m 25s\n- gate-swift-python35-nv http://logs.openstack.org/69/331369/2/check/gate-swift-python35-nv/eb9449b/ : SUCCESS in 2m 11s (non-voting)\n- gate-swift-tox-func-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-ubuntu-xenial/710922b/ : SUCCESS in 3m 11s\n- gate-swift-tox-func-in-process-fast-post-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-in-process-fast-post-ubuntu-xenial/f9e6229/ : SUCCESS in 4m 39s\n- gate-swift-tox-func-in-process-encryption-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-func-in-process-encryption-ubuntu-xenial/3583606/ : SUCCESS in 3m 39s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-tempest-dsvm-full-ubuntu-xenial/11f4e45/ : SUCCESS in 51m 50s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv http://logs.openstack.org/69/331369/2/check/gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv/7d4ddbb/ : FAILURE in 11m 38s (non-voting)\n- gate-grenade-dsvm-ubuntu-trusty http://logs.openstack.org/69/331369/2/check/gate-grenade-dsvm-ubuntu-trusty/68e8cea/ : SUCCESS in 25m 33s\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-dsvm-functional-ubuntu-xenial/003ac24/ : SUCCESS in 16m 15s\n- gate-swift-tox-bandit-ubuntu-xenial http://logs.openstack.org/69/331369/2/check/gate-swift-tox-bandit-ubuntu-xenial/cd51221/ : SUCCESS in 2m 35s (non-voting)\n- gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv http://logs.openstack.org/69/331369/2/check/gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv/351309f/ : SUCCESS in 15m 42s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"e2427894cbbad053d6fc1b59e86dbff0acfa151e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-07 19:03:38.000000000","message":"Patch Set 2: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":2},{"id":"109a38ab2c5d5e7997f1f2057abd8fa31dd0662d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-11-07 20:27:48.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"6e242e4c2db2cdae10130b7d2ee4d2a2c7bcd2ea","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-07 21:18:19.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/69/331369/3/check/gate-swift-docs-ubuntu-xenial/3ea1bbd//doc/build/html/ : SUCCESS in 2m 13s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-pep8-ubuntu-xenial/1808c88/ : SUCCESS in 2m 13s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-python27-ubuntu-xenial/bc8a0a2/ : SUCCESS in 4m 02s\n- gate-swift-python34 http://logs.openstack.org/69/331369/3/check/gate-swift-python34/ac86bdc/ : SUCCESS in 2m 40s\n- gate-swift-python35-nv http://logs.openstack.org/69/331369/3/check/gate-swift-python35-nv/5906a24/ : SUCCESS in 2m 34s (non-voting)\n- gate-swift-tox-func-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-tox-func-ubuntu-xenial/15dd2b5/ : SUCCESS in 3m 35s\n- gate-swift-tox-func-in-process-fast-post-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-tox-func-in-process-fast-post-ubuntu-xenial/ca41b11/ : SUCCESS in 4m 01s\n- gate-swift-tox-func-in-process-encryption-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-tox-func-in-process-encryption-ubuntu-xenial/5f91a52/ : SUCCESS in 5m 53s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv http://logs.openstack.org/69/331369/3/check/gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv/58527b6/ : SUCCESS in 46m 39s (non-voting)\n- gate-grenade-dsvm-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-grenade-dsvm-ubuntu-xenial/3a20240/ : SUCCESS in 47m 52s\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-dsvm-functional-ubuntu-xenial/7c3bd67/ : SUCCESS in 27m 48s\n- gate-swift-tox-bandit-ubuntu-xenial http://logs.openstack.org/69/331369/3/check/gate-swift-tox-bandit-ubuntu-xenial/afb409e/ : SUCCESS in 1m 49s (non-voting)\n- gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv http://logs.openstack.org/69/331369/3/check/gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv/8c0feba/ : SUCCESS in 31m 53s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"2f0465b2aee3fb58e95af7ed063e5f062310c2fb","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2016-11-07 23:40:05.000000000","message":"Patch Set 3:\n\nBuild succeeded \n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/4736/ : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/6697/ : SUCCESS\n\n* vm-saio-probe https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/5043/probetests/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"6efba24c10a7985f4a7f7e52c89f186f50da3a56","author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"date":"2016-12-12 17:23:05.000000000","message":"Patch Set 3: Code-Review+1\n\nLGTM","accounts_in_message":[],"_revision_number":3},{"id":"57fd527963df6c01828e2a0ad18d81a6ca607bf0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-12-19 07:32:41.000000000","message":"Patch Set 3: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":3},{"id":"c4f6bddac4d0dc5c4cf0b6f1a2a118c4be4478f2","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-12-20 00:23:27.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"ae5dd2a950574a3a5d4e042a3f4be486780c429c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-12-20 01:03:24.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/69/331369/4/check/gate-swift-docs-ubuntu-xenial/c6d15a8//doc/build/html/ : SUCCESS in 2m 13s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-pep8-ubuntu-xenial/528d4b6/ : SUCCESS in 3m 48s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-python27-ubuntu-xenial/b08eb1b/ : SUCCESS in 3m 21s\n- gate-swift-python35 http://logs.openstack.org/69/331369/4/check/gate-swift-python35/73ac868/ : SUCCESS in 1m 24s\n- gate-swift-tox-xfs-tmp-py27-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-py27-ubuntu-xenial/6631cf8/ : SUCCESS in 3m 39s\n- gate-swift-tox-xfs-tmp-py35-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-py35-ubuntu-xenial/373ddc7/ : SUCCESS in 1m 37s\n- gate-swift-tox-xfs-tmp-func-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-func-ubuntu-xenial/47e869a/ : SUCCESS in 3m 17s\n- gate-swift-tox-xfs-tmp-func-fast-post-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-func-fast-post-ubuntu-xenial/2b12bb3/ : SUCCESS in 3m 46s\n- gate-swift-tox-xfs-tmp-func-encryption-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-func-encryption-ubuntu-xenial/302e1bc/ : SUCCESS in 3m 20s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv http://logs.openstack.org/69/331369/4/check/gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv/5caeb6c/ : FAILURE in 37m 03s (non-voting)\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-dsvm-functional-ubuntu-xenial/e8ebbd3/ : SUCCESS in 32m 54s\n- gate-swift-tox-xfs-tmp-bandit-ubuntu-xenial http://logs.openstack.org/69/331369/4/check/gate-swift-tox-xfs-tmp-bandit-ubuntu-xenial/c5522eb/ : SUCCESS in 2m 37s (non-voting)\n- gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv http://logs.openstack.org/69/331369/4/check/gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv/a1f7f59/ : SUCCESS in 32m 29s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"66ae5d07f36487a2f2092301cc7fca2ba92b1893","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2016-12-20 01:10:19.000000000","message":"Patch Set 4:\n\nBuild succeeded \n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/7064/ : SUCCESS\n\n* vm-saio-probe https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/5434/probetests/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/331369/5100/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"f220de72d5faffc7dc06d041bee3e58a326588c4","author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"date":"2017-01-04 17:53:57.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"ffae7ab0ec2d7682543f6570c9b6af29c1077a87","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2017-02-01 02:13:44.000000000","message":"Patch Set 4: Code-Review+2\n\n(2 comments)\n\nThere\u0027s a lot of information in the commit message, for me the most important take away was that we were already \"Always set swift processes to use UTC\"\n\nThis change is more like:\n\n    Set swift processes to use UTC correctly on-purpose\n\nI set my ubuntu saio to not-UTC like this:\n\n    sudo timedatectl set-timezone America/New_York\n\nIt\u0027s not really clear that anyone attempted to verify %z did at all what we wanted, and less so that gmtime was what we wanted!?\n\n\tubuntu@saio:~$ date\n\tTue Jan 31 20:41:38 EST 2017\n\tubuntu@saio:~$ python -c \u0027import time; print time.strftime(\"%c %z\", time.gmtime())\u0027\n\tWed Feb  1 01:41:49 2017 +0000\n\tubuntu@saio:~$ python -c \u0027import time; print time.strftime(\"%c %z\", time.localtime())\u0027\n\tTue Jan 31 20:41:53 2017 +0000\n\nSo - we\u0027ve effectively been setting basically everything to UTC forever.  Which is *awesome* because ^\u0026*# not-UTC!\n\nBut if we\u0027re gunna do it; let\u0027s not leave this landmine in there:\n\n\tubuntu@saio:~$ TZ\u003d+0000 python -c \u0027import datetime, email.utils; print datetime.datetime.now(), email.utils.formatdate(localtime\u003dTrue)\u0027\n\t2017-02-01 01:43:42.117906 Wed, 01 Feb 2017 01:43:42 +0000\n\tubuntu@saio:~$ python -c \u0027import datetime, email.utils, os; os.environ[\"TZ\"] \u003d \"+0000\"; print datetime.datetime.now(), email.utils.formatdate(localtime\u003dTrue)\u0027\n\t2017-02-01 01:43:47.637701 Wed, 01 Feb 2017 01:43:47 -0500\n\nNote that in both cases we make the *datetime* correctly act like UTC - but in the case where we manipulate the TZ environ after we start - email.utils (and possibly other places that look at time.timezone) are half wrong (right UTC datetime, wrong offset).\n\nCalling time.tzset is the documented and obvious right way to do this at runtime:\n\n\tubuntu@saio:~$ python -c \u0027import datetime, email.utils, os, time; os.environ[\"TZ\"] \u003d \"+0000\"; time.tzset(); print datetime.datetime.now(), email.utils.formatdate(localtime\u003dTrue)\u0027\n\t2017-02-01 01:53:16.086771 Wed, 01 Feb 2017 01:53:16 +0000\n\nLeaving only, the question of *why* TZ should be the string UTC instead of +0000 since both seem to work?  Well... acctually *any string* will \"work\" if the goal is UTC - the fallback when the TZ variable is un-parseable seems to be offset 0!?\n\n\tubuntu@saio:~$ python -c \u0027import datetime, email.utils, os, time; os.environ[\"TZ\"] \u003d \"monkies\"; time.tzset(); print datetime.datetime.now(), email.utils.formatdate(localtime\u003dTrue)\u0027\n\t2017-02-01 01:54:19.392384 Wed, 01 Feb 2017 01:54:19 +0000\n\n... but it seems happiest on my machine when I use things from /usr/share/zoneinfo\n\n    ubuntu@saio:~$ ls -alhF /usr/share/zoneinfo/UTC \n    lrwxrwxrwx 1 root root 4 Dec  7 05:59 /usr/share/zoneinfo/UTC -\u003e Zulu\n\nTo recap:\n\n1) we always forced python datetime library calls to behave as if system time UTC\n2) that\u0027s fine because everyone runs UTC anyway\n3) the way we did it (set environ to +0000 in the process) worked everywhere in *our tree* (on accident?) but will continue to cause demonstrably nonsensical results if you used other parts of python stdlib\n4) we can Do The Right Thing and still get what we wanted:\n\n\tubuntu@saio:~$ strace python -c \u0027from datetime import datetime; [datetime.now() for i in range(100)]\u0027 2\u003e\u00261 | grep localtime | wc -l\n\t100\n\tubuntu@saio:~$ strace python -c \u0027import os, time; os.environ[\"TZ\"] \u003d \"UTC\"; time.tzset(); from datetime import datetime; [datetime.now() for i in range(100)]\u0027 2\u003e\u00261 | grep localtime | wc -l\n\t2\n\nN.B. only one open \u0026 one stat syscall on /etc/localtime instead of one open and 99 stat!\n\nWay to go Tim!\n\n1. I\u0027m guessing no one noticed because WAT!? Y U NO ALREADY UTC!?","accounts_in_message":[],"_revision_number":4},{"id":"a638eac5d9245c7beb88926329598402a88fd926","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2017-02-22 05:59:46.000000000","message":"Patch Set 4:\n\ngood read\n\nhttps://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/","accounts_in_message":[],"_revision_number":4},{"id":"7ffe16a755992032a679404b3afb591be7a22928","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2017-02-22 22:22:58.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"f1fe3c440ad217ee104a48118c6b1d696dcda32f","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2017-02-28 22:42:33.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)\n\nThanks for figuring you the backwards API and explaining it to me :)\n\nNice work Tim.","accounts_in_message":[],"_revision_number":4},{"id":"59220cf82620bdfb031fb411c0cda668f474c7ab","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-02-28 22:42:43.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":4},{"id":"77680e8aa771958529b14114c50409cf90978d6b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-03-01 00:10:43.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/69/331369/4/gate/gate-swift-docs-ubuntu-xenial/b17f41c//doc/build/html/ : SUCCESS in 1m 44s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-pep8-ubuntu-xenial/0293fe0/ : SUCCESS in 2m 08s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-python27-ubuntu-xenial/24a8d6a/ : SUCCESS in 3m 05s\n- gate-swift-python35 http://logs.openstack.org/69/331369/4/gate/gate-swift-python35/5db925d/ : SUCCESS in 1m 05s\n- gate-tempest-dsvm-neutron-full-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-tempest-dsvm-neutron-full-ubuntu-xenial/a360762/ : SUCCESS in 1h 06m 02s\n- gate-grenade-dsvm-neutron-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-grenade-dsvm-neutron-ubuntu-xenial/8d95ef6/ : SUCCESS in 38m 30s\n- gate-swift-tox-xfs-tmp-py27-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-tox-xfs-tmp-py27-ubuntu-xenial/93039b5/ : SUCCESS in 3m 09s\n- gate-swift-tox-xfs-tmp-py35-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-tox-xfs-tmp-py35-ubuntu-xenial/fe492b6/ : SUCCESS in 1m 01s\n- gate-swift-tox-xfs-tmp-func-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-tox-xfs-tmp-func-ubuntu-xenial/aa2c7bb/ : SUCCESS in 2m 52s\n- gate-swift-tox-xfs-tmp-func-post-as-copy-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-tox-xfs-tmp-func-post-as-copy-ubuntu-xenial/0e6edeb/ : SUCCESS in 2m 59s\n- gate-swift-tox-xfs-tmp-func-encryption-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-tox-xfs-tmp-func-encryption-ubuntu-xenial/cebc084/ : SUCCESS in 3m 01s\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/69/331369/4/gate/gate-swift-dsvm-functional-ubuntu-xenial/d27b833/ : SUCCESS in 19m 31s","accounts_in_message":[],"_revision_number":4},{"id":"b3ef1259d5870307347e6827c6bd10211d610bf0","date":"2017-03-01 00:10:44.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"523bc0ab71a4d976782a03c2beb46e5e8a25706b","revisions":{"e8b58b36d470bd622cb7f6aea3be9afc7aec159d":{"kind":"REWORK","_number":1,"created":"2016-06-17 22:33:17.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/69/331369/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/69/331369/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/69/331369/1"}}},"commit":{"parents":[{"commit":"3944d820387f08372c1a29444f4af7d8e6090ae9","subject":"Catch AttributeError less often","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3944d820387f08372c1a29444f4af7d8e6090ae9"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-06-17 22:03:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-06-17 22:32:58.000000000","tz":-420},"subject":"Always set swift processes to use UTC","message":"Always set swift processes to use UTC\n\nPreviously, we would set the TZ environment variable to the result of\n\n    time.strftime(\"%z\", time.gmtime())\n\nThis has a few problems.\n\n 1. The \"%z\" format  does not appear in the table of formatting\n    directives for strftime [1]. While it *does* appear in a\n    footnote [2] for that section, it is described as \"not supported by\n    all ANSI C libraries.\" This may explain the next point.\n\n 2. On the handful of Linux platforms I\u0027ve tested, the above produces\n    \"+0000\" regardless of the system\u0027s timezone. This seems to run\n    counter to the intent of the patches that introduced the TZ\n    mangling. (See related changes.)\n\n 3. The above does not produce a valid Posix TZ format, which expects\n    (at minimum) a name consisting of three or more alphabetic\n    characters followed by the offset to be added to the local time to\n    get Coordinated Universal Time (UTC).\n\nFurther, while we would change os.environ[\u0027TZ\u0027], we would *not* call\ntime.tzset [3], which seems like a Bad Thing\n\nSome combination of the above has the net effect of changing some of the\nfunctions in the time module to use UTC. (Maybe all of them? At the very\nleast, time.localtime and time.mktime.) However, it does *not* change\nthe offset stored in time.timezone, which causes bad behavior when\ndealing with local timestamps [4].\n\nNow, set TZ to \"UTC+0\" and call tzset. Apparently we don\u0027t have a good\nway of getting local timezone info, we were (unintentionally?) using UTC\nbefore, and you should probably be running your servers in UTC anyway.\n\n[1] https://docs.python.org/2/library/time.html#time.strftime\n[2] https://docs.python.org/2/library/time.html#id2\n[3] https://docs.python.org/2/library/time.html#time.tzset\n[4] Like in email.utils.mktime_tz, prior to being fixed in\n    https://hg.python.org/cpython/rev/a283563c8cc4\n\nChange-Id: I007425301914144e228b9cfece5533443e851b6e\nRelated-Change: Ifc78236a99ed193a42389e383d062b38f57a5a31\nRelated-Change: I8ec80202789707f723abfe93ccc9cf1e677e4dc6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e8b58b36d470bd622cb7f6aea3be9afc7aec159d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e8b58b36d470bd622cb7f6aea3be9afc7aec159d"}]},"branch":"refs/heads/master"},"5b23f2ac439511a30900f4043a1b1a04401246ff":{"kind":"REWORK","_number":2,"created":"2016-09-16 02:08:00.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/69/331369/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/69/331369/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/69/331369/2"}}},"commit":{"parents":[{"commit":"acb8971c765fbc64e55f37923e8b16c0126598ac","subject":"Update link reference","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/acb8971c765fbc64e55f37923e8b16c0126598ac"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-06-17 22:03:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-09-16 02:07:51.000000000","tz":-420},"subject":"Always set swift processes to use UTC","message":"Always set swift processes to use UTC\n\nPreviously, we would set the TZ environment variable to the result of\n\n    time.strftime(\"%z\", time.gmtime())\n\nThis has a few problems.\n\n 1. The \"%z\" format does not appear in the table of formatting\n    directives for strftime [1]. While it *does* appear in a\n    footnote [2] for that section, it is described as \"not supported by\n    all ANSI C libraries.\" This may explain the next point.\n\n 2. On the handful of Linux platforms I\u0027ve tested, the above produces\n    \"+0000\" regardless of the system\u0027s timezone. This seems to run\n    counter to the intent of the patches that introduced the TZ\n    mangling. (See the first two related changes.)\n\n 3. The above does not produce a valid Posix TZ format, which expects\n    (at minimum) a name consisting of three or more alphabetic\n    characters followed by the offset to be added to the local time to\n    get Coordinated Universal Time (UTC).\n\nFurther, while we would change os.environ[\u0027TZ\u0027], we would *not* call\ntime.tzset like it says in the docs [3], which seems like a Bad Thing.\n\nSome combination of the above has the net effect of changing some of the\nfunctions in the time module to use UTC. (Maybe all of them? At the very\nleast, time.localtime and time.mktime.) However, it does *not* change\nthe offset stored in time.timezone, which causes bad behavior when\ndealing with local timestamps [4].\n\nNow, set TZ to \"UTC+0\" and call tzset. Apparently we don\u0027t have a good\nway of getting local timezone info, we were (unintentionally?) using UTC\nbefore, and you should probably be running your servers in UTC anyway.\n\n[1] https://docs.python.org/2/library/time.html#time.strftime\n[2] https://docs.python.org/2/library/time.html#id2\n[3] https://docs.python.org/2/library/time.html#time.tzset\n[4] Like in email.utils.mktime_tz, prior to being fixed in\n    https://hg.python.org/cpython/rev/a283563c8cc4\n\nChange-Id: I007425301914144e228b9cfece5533443e851b6e\nRelated-Change: Ifc78236a99ed193a42389e383d062b38f57a5a31\nRelated-Change: I8ec80202789707f723abfe93ccc9cf1e677e4dc6\nRelated-Change: Iee7488d03ab404072d3d0c1a262f004bb0f2da26\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5b23f2ac439511a30900f4043a1b1a04401246ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5b23f2ac439511a30900f4043a1b1a04401246ff"}]},"branch":"refs/heads/master"},"f371376fa79475505d57367ca55dc53366f30367":{"kind":"REWORK","_number":3,"created":"2016-11-07 20:27:48.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/69/331369/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/69/331369/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/69/331369/3"}}},"commit":{"parents":[{"commit":"c3f9c1cf25c8e5de216198c34a890775b16a1e84","subject":"Merge \"Fix signal handling for daemons with InternalClient\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c3f9c1cf25c8e5de216198c34a890775b16a1e84"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-06-17 22:03:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-11-07 19:17:52.000000000","tz":-480},"subject":"Always set swift processes to use UTC","message":"Always set swift processes to use UTC\n\nPreviously, we would set the TZ environment variable to the result of\n\n    time.strftime(\"%z\", time.gmtime())\n\nThis has a few problems.\n\n 1. The \"%z\" format does not appear in the table of formatting\n    directives for strftime [1]. While it *does* appear in a\n    footnote [2] for that section, it is described as \"not supported by\n    all ANSI C libraries.\" This may explain the next point.\n\n 2. On the handful of Linux platforms I\u0027ve tested, the above produces\n    \"+0000\" regardless of the system\u0027s timezone. This seems to run\n    counter to the intent of the patches that introduced the TZ\n    mangling. (See the first two related changes.)\n\n 3. The above does not produce a valid Posix TZ format, which expects\n    (at minimum) a name consisting of three or more alphabetic\n    characters followed by the offset to be added to the local time to\n    get Coordinated Universal Time (UTC).\n\nFurther, while we would change os.environ[\u0027TZ\u0027], we would *not* call\ntime.tzset like it says in the docs [3], which seems like a Bad Thing.\n\nSome combination of the above has the net effect of changing some of the\nfunctions in the time module to use UTC. (Maybe all of them? At the very\nleast, time.localtime and time.mktime.) However, it does *not* change\nthe offset stored in time.timezone, which causes bad behavior when\ndealing with local timestamps [4].\n\nNow, set TZ to \"UTC+0\" and call tzset. Apparently we don\u0027t have a good\nway of getting local timezone info, we were (unintentionally?) using UTC\nbefore, and you should probably be running your servers in UTC anyway.\n\n[1] https://docs.python.org/2/library/time.html#time.strftime\n[2] https://docs.python.org/2/library/time.html#id2\n[3] https://docs.python.org/2/library/time.html#time.tzset\n[4] Like in email.utils.mktime_tz, prior to being fixed in\n    https://hg.python.org/cpython/rev/a283563c8cc4\n\nChange-Id: I007425301914144e228b9cfece5533443e851b6e\nRelated-Change: Ifc78236a99ed193a42389e383d062b38f57a5a31\nRelated-Change: I8ec80202789707f723abfe93ccc9cf1e677e4dc6\nRelated-Change: Iee7488d03ab404072d3d0c1a262f004bb0f2da26\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f371376fa79475505d57367ca55dc53366f30367"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f371376fa79475505d57367ca55dc53366f30367"}]},"branch":"refs/heads/master"},"523bc0ab71a4d976782a03c2beb46e5e8a25706b":{"kind":"REWORK","_number":4,"created":"2016-12-20 00:23:27.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/69/331369/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/69/331369/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/69/331369/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/69/331369/4"}}},"commit":{"parents":[{"commit":"94c6b9e46bc5b4e1154cb3f8922f797fa6048e1e","subject":"Merge \"Raise ValueError if a config section does not exist\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/94c6b9e46bc5b4e1154cb3f8922f797fa6048e1e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-06-17 22:03:25.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-12-20 00:23:13.000000000","tz":-480},"subject":"Always set swift processes to use UTC","message":"Always set swift processes to use UTC\n\nPreviously, we would set the TZ environment variable to the result of\n\n    time.strftime(\"%z\", time.gmtime())\n\nThis has a few problems.\n\n 1. The \"%z\" format does not appear in the table of formatting\n    directives for strftime [1]. While it *does* appear in a\n    footnote [2] for that section, it is described as \"not supported by\n    all ANSI C libraries.\" This may explain the next point.\n\n 2. On the handful of Linux platforms I\u0027ve tested, the above produces\n    \"+0000\" regardless of the system\u0027s timezone. This seems to run\n    counter to the intent of the patches that introduced the TZ\n    mangling. (See the first two related changes.)\n\n 3. The above does not produce a valid Posix TZ format, which expects\n    (at minimum) a name consisting of three or more alphabetic\n    characters followed by the offset to be added to the local time to\n    get Coordinated Universal Time (UTC).\n\nFurther, while we would change os.environ[\u0027TZ\u0027], we would *not* call\ntime.tzset like it says in the docs [3], which seems like a Bad Thing.\n\nSome combination of the above has the net effect of changing some of the\nfunctions in the time module to use UTC. (Maybe all of them? At the very\nleast, time.localtime and time.mktime.) However, it does *not* change\nthe offset stored in time.timezone, which causes bad behavior when\ndealing with local timestamps [4].\n\nNow, set TZ to \"UTC+0\" and call tzset. Apparently we don\u0027t have a good\nway of getting local timezone info, we were (unintentionally?) using UTC\nbefore, and you should probably be running your servers in UTC anyway.\n\n[1] https://docs.python.org/2/library/time.html#time.strftime\n[2] https://docs.python.org/2/library/time.html#id2\n[3] https://docs.python.org/2/library/time.html#time.tzset\n[4] Like in email.utils.mktime_tz, prior to being fixed in\n    https://hg.python.org/cpython/rev/a283563c8cc4\n\nChange-Id: I007425301914144e228b9cfece5533443e851b6e\nRelated-Change: Ifc78236a99ed193a42389e383d062b38f57a5a31\nRelated-Change: I8ec80202789707f723abfe93ccc9cf1e677e4dc6\nRelated-Change: Iee7488d03ab404072d3d0c1a262f004bb0f2da26\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/523bc0ab71a4d976782a03c2beb46e5e8a25706b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/523bc0ab71a4d976782a03c2beb46e5e8a25706b"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
