)]}'
{"id":"openstack%2Fcloudkitty~674564","triplet_id":"openstack%2Fcloudkitty~master~I938f78b9987fcc4752b84cff8881ceecb5e20caf","project":"openstack/cloudkitty","branch":"master","hashtags":[],"change_id":"I938f78b9987fcc4752b84cff8881ceecb5e20caf","subject":"Introduce validation utils","status":"MERGED","created":"2019-08-05 10:12:33.000000000","updated":"2019-08-21 15:59:50.000000000","submitted":"2019-08-21 15:57:21.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"674564-1566403042056-16970a7d","meta_rev_id":"ed54028e2aa64885898fcd1a6f06fec55d157c8b","_number":674564,"virtual_id_number":674564,"owner":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},{"value":2,"date":"2019-08-21 15:57:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"}],"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":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"all":[{"value":0,"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-08-21 14:23:30.000000000","_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"}],"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":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"all":[{"value":1,"date":"2019-08-21 14:28:50.000000000","_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-08-21 14:23:30.000000000","updated_by":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"reviewer":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"state":"REVIEWER"},{"updated":"2019-08-21 15:57:21.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":"669aa64bae8918703a97997eea5224f7440131d3","author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"date":"2019-08-05 10:12:33.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f224abe200b8f677befc4de068f0092efe024886","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-05 10:57:27.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://logs.opendev.org/64/674564/1/check/openstack-tox-cover/a81d119/cover/ : SUCCESS in 4m 36s\n- openstack-tox-pep8 https://logs.opendev.org/64/674564/1/check/openstack-tox-pep8/60a2175/ : SUCCESS in 4m 11s\n- openstack-tox-py27 https://logs.opendev.org/64/674564/1/check/openstack-tox-py27/33c211f/ : SUCCESS in 6m 05s\n- openstack-tox-py36 https://logs.opendev.org/64/674564/1/check/openstack-tox-py36/d9d3e00/ : SUCCESS in 3m 43s\n- openstack-tox-py37 https://logs.opendev.org/64/674564/1/check/openstack-tox-py37/0c188ce/ : SUCCESS in 4m 21s\n- openstack-tox-docs https://logs.opendev.org/64/674564/1/check/openstack-tox-docs/772cfde/html/ : SUCCESS in 4m 50s\n- cloudkitty-tempest-full https://logs.opendev.org/64/674564/1/check/cloudkitty-tempest-full/4edfe49/ : SUCCESS in 34m 57s\n- cloudkitty-tempest-full-python3 https://logs.opendev.org/64/674564/1/check/cloudkitty-tempest-full-python3/65ae7a9/ : SUCCESS in 38m 09s\n- cloudkitty-tox-bandit https://logs.opendev.org/64/674564/1/check/cloudkitty-tox-bandit/c5e844e/ : SUCCESS in 3m 23s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7626e45c0efac3f52543f538a7ee72cf921ee789","author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"date":"2019-08-21 13:11:34.000000000","message":"Patch Set 1:\n\n(4 comments)\n\nHi Luka,\n\nGood step taken towards a better source code organization.\n\nJust a few nitpicks.\n\nOtherwise LGTM.","accounts_in_message":[],"_revision_number":1},{"id":"8ab70fef6856ff5c4721521982093d38ee3fdfe4","author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"date":"2019-08-21 14:16:34.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"ba63dfc56015787226411f26f161b8769a457951","author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"date":"2019-08-21 14:21:57.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9dc1cfa47be418b6c5a0b90344fa0361642b1909","author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"date":"2019-08-21 14:23:30.000000000","message":"Patch Set 3: Code-Review+2\n\nLGTM then.","accounts_in_message":[],"_revision_number":3},{"id":"ca5646f1630beb13c1569ee03fb7bd872f199809","author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"date":"2019-08-21 14:28:50.000000000","message":"Patch Set 3: Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"ddd4d04d311ca91e168c6157e4a18bd09cbebecf","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 15:08:55.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7a90700ddbe74f718e96bf7c730fd58d : SUCCESS in 6m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7b2c7881a009472284cbc8fdd78579f4 : SUCCESS in 6m 01s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/3c06c1534c8c46afa37a18589c6d3f26 : SUCCESS in 4m 49s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/af6b19f444dc4479b2daaf09ee821f91 : SUCCESS in 5m 11s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/965d2a3c22744eb6b6b19d4a112cef2f : SUCCESS in 6m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b5180f8fee33436abd5e9e8d695200e7 : SUCCESS in 5m 51s\n- cloudkitty-tempest-full https://zuul.opendev.org/t/openstack/build/303f82606f354f8d9b6567721f1a869c : SUCCESS in 40m 58s\n- cloudkitty-tempest-full-python3 https://zuul.opendev.org/t/openstack/build/61a9c45a447e4da6be4ac0c3517202d9 : SUCCESS in 44m 31s\n- cloudkitty-tempest-full-ipv6-only https://zuul.opendev.org/t/openstack/build/c3aeda3b036a427591350d522b98a7d1 : SUCCESS in 36m 50s\n- cloudkitty-tox-bandit https://zuul.opendev.org/t/openstack/build/f0b1d74d0f104eda8105a1520e3e7312 : SUCCESS in 5m 11s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"aa6c1ec1dc03605bc8f7d85c93d8ebb9e56c25ee","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 15:09:08.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"0231f22e192eb214dd700320e7582d083de34455","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 15:57:21.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/248f57b905524650935f4b67b3e21598 : SUCCESS in 5m 27s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/ed62ea067b184b7d9309d08012ceaab9 : SUCCESS in 4m 35s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/94a04c0376f8409abaa602274844bf3a : SUCCESS in 5m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/bb764b1fc94a4cfb8210a5ce265cef9f : SUCCESS in 5m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0f39aed0c5554c9185c4df1f039734e7 : SUCCESS in 4m 07s\n- cloudkitty-tempest-full https://zuul.opendev.org/t/openstack/build/879d858f987c4684a7b000102fa63d0e : SUCCESS in 37m 27s\n- cloudkitty-tempest-full-python3 https://zuul.opendev.org/t/openstack/build/bc79d02a496346ec8064cf6b3745a052 : SUCCESS in 38m 21s\n- cloudkitty-tempest-full-ipv6-only https://zuul.opendev.org/t/openstack/build/d5ce8d5e355044a7b06b618ebd8fa9af : SUCCESS in 41m 08s","accounts_in_message":[],"_revision_number":3},{"id":"8305e044af88fa14822a720b12b90c0b14215cf5","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 15:57:22.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"ed54028e2aa64885898fcd1a6f06fec55d157c8b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-21 15:59:50.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/516da0bfc5db4c08930ab9a379325821 : SUCCESS in 2m 03s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"e05c00e1171e100ce88883b600b6913dbb59167c","revisions":{"4bd05f682d44576ca217cfd10bb570958e553c29":{"kind":"REWORK","_number":1,"created":"2019-08-05 10:12:33.000000000","uploader":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"ref":"refs/changes/64/674564/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty","ref":"refs/changes/64/674564/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/1"}}},"commit":{"parents":[{"commit":"cb6a653879dc597f4a2c87d3d7b2a6c0f0fe1b3e","subject":"Use isoformat() instead of isotime() in InfluxDB storage driver","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/cb6a653879dc597f4a2c87d3d7b2a6c0f0fe1b3e"}]}],"author":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-07-02 08:59:37.000000000","tz":120},"committer":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-08-05 10:12:18.000000000","tz":120},"subject":"Introduce validation utils","message":"Introduce validation utils\n\nThis adds a \"validation_utils\" module to cloudkitty, which aims at\ncentralizing common voluptuous helpers.\n\nWork items:\n\n* Create the validation_utils module, and move the \"get_string_type\" helper\n  function to it. API-specific helpers have not been moved.\n\n* Update the module of the \"get_string_type\" helper function in the\n  documentation.\n\n* Add two validators to the \"validation_utils\" module, allowing to check\n  the types of a dict\u0027s values and keys.\n\nChange-Id: I938f78b9987fcc4752b84cff8881ceecb5e20caf\nStory: 2005890\nTask: 35657\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/4bd05f682d44576ca217cfd10bb570958e553c29"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/4bd05f682d44576ca217cfd10bb570958e553c29"}]},"branch":"refs/heads/master"},"bc94602c5e6db23fd44368fa59291e19b940a891":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2019-08-21 14:16:34.000000000","uploader":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"ref":"refs/changes/64/674564/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty","ref":"refs/changes/64/674564/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/2"}}},"commit":{"parents":[{"commit":"05050a4b22ef9004077d2bae4e281dfc31182521","subject":"Merge \"Updated the documentation\u0027s rst markup\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/05050a4b22ef9004077d2bae4e281dfc31182521"}]}],"author":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-07-02 08:59:37.000000000","tz":120},"committer":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-08-21 13:00:08.000000000","tz":120},"subject":"Introduce validation utils","message":"Introduce validation utils\n\nThis adds a \"validation_utils\" module to cloudkitty, which aims at\ncentralizing common voluptuous helpers.\n\nWork items:\n\n* Create the validation_utils module, and move the \"get_string_type\" helper\n  function to it. API-specific helpers have not been moved.\n\n* Update the module of the \"get_string_type\" helper function in the\n  documentation.\n\n* Add two validators to the \"validation_utils\" module, allowing to check\n  the types of a dict\u0027s values and keys.\n\nChange-Id: I938f78b9987fcc4752b84cff8881ceecb5e20caf\nStory: 2005890\nTask: 35657\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/bc94602c5e6db23fd44368fa59291e19b940a891"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/bc94602c5e6db23fd44368fa59291e19b940a891"}]},"branch":"refs/heads/master"},"e05c00e1171e100ce88883b600b6913dbb59167c":{"kind":"REWORK","_number":3,"created":"2019-08-21 14:21:57.000000000","uploader":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"ref":"refs/changes/64/674564/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty","ref":"refs/changes/64/674564/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty refs/changes/64/674564/3"}}},"commit":{"parents":[{"commit":"05050a4b22ef9004077d2bae4e281dfc31182521","subject":"Merge \"Updated the documentation\u0027s rst markup\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/05050a4b22ef9004077d2bae4e281dfc31182521"}]}],"author":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-07-02 08:59:37.000000000","tz":120},"committer":{"name":"Luka Peschke","email":"luka.peschke@objectif-libre.com","date":"2019-08-21 14:20:03.000000000","tz":120},"subject":"Introduce validation utils","message":"Introduce validation utils\n\nThis adds a \"validation_utils\" module to cloudkitty, which aims at\ncentralizing common voluptuous helpers.\n\nWork items:\n\n* Create the validation_utils module, and move the \"get_string_type\" helper\n  function to it. API-specific helpers have not been moved.\n\n* Update the module of the \"get_string_type\" helper function in the\n  documentation.\n\n* Add two validators to the \"validation_utils\" module, allowing to check\n  the types of a dict\u0027s values and keys.\n\nChange-Id: I938f78b9987fcc4752b84cff8881ceecb5e20caf\nStory: 2005890\nTask: 35657\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/e05c00e1171e100ce88883b600b6913dbb59167c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty/commit/e05c00e1171e100ce88883b600b6913dbb59167c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
