)]}'
{"id":"openstack%2Fmicroversion-parse~496212","triplet_id":"openstack%2Fmicroversion-parse~master~I267586c78308cc5520a88598c350a7e055783f3e","project":"openstack/microversion-parse","branch":"master","topic":"cd/placement-functions","hashtags":[],"change_id":"I267586c78308cc5520a88598c350a7e055783f3e","subject":"Import functions from placement","status":"MERGED","created":"2017-08-22 11:53:35.000000000","updated":"2018-03-20 14:00:31.000000000","submitted":"2018-03-20 14:00:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":31,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"496212-1521554431062-2a1f4ec0","meta_rev_id":"650b271e6827786f3cff25bd32736871077b6013","_number":496212,"virtual_id_number":496212,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":2,"date":"2018-03-20 14:00:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"recommended":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2018-03-18 00:43:04.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":1,"date":"2018-03-15 18:24:58.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":2,"date":"2018-03-20 13:52:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},{"value":1,"date":"2018-03-15 18:24:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":1,"date":"2018-03-20 13:52:09.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-08-22 21:03:33.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2017-08-23 05:49:27.000000000","updated_by":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"reviewer":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"state":"REVIEWER"},{"updated":"2018-03-07 00:59:34.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"},{"updated":"2018-03-15 13:31:50.000000000","updated_by":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"reviewer":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"state":"REVIEWER"},{"updated":"2018-03-18 00:43:04.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2018-03-20 13:52:09.000000000","updated_by":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"reviewer":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"state":"REVIEWER"},{"updated":"2018-03-20 14:00:30.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":"61f3f92dd6444bad885401fac5fa73701305a7ff","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-08-22 11:53:35.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"17d0a6fe679eeec795123de6bfe47b0e6ced4205","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-08-22 11:55:55.000000000","message":"Patch Set 1:\n\nI explored also moving the middleware that placement uses to here, but it relies on webob and I thought we might want to have some discussion before we introduced that dependency. Thoughts?\n\nThe code in question is here: https://github.com/openstack/nova/blob/master/nova/api/openstack/placement/microversion.py#L106","accounts_in_message":[],"_revision_number":1},{"id":"a1fd949091d0c83b2b6a2f8418b9e1a1224a892b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-08-22 11:56:39.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-microversion-parse-docs-ubuntu-xenial http://docs-draft.openstack.org/12/496212/1/check/gate-microversion-parse-docs-ubuntu-xenial/32867ad//doc/build/html/ : SUCCESS in 2m 40s\n- gate-microversion-parse-pep8-ubuntu-xenial http://logs.openstack.org/12/496212/1/check/gate-microversion-parse-pep8-ubuntu-xenial/8c7ec61/ : SUCCESS in 2m 17s\n- gate-microversion-parse-python27-ubuntu-xenial http://logs.openstack.org/12/496212/1/check/gate-microversion-parse-python27-ubuntu-xenial/c623e8b/ : SUCCESS in 2m 17s\n- gate-microversion-parse-python35 http://logs.openstack.org/12/496212/1/check/gate-microversion-parse-python35/8f5b2cd/ : SUCCESS in 2m 27s","accounts_in_message":[],"_revision_number":1},{"id":"a276caa171155d985c1e3914b638b9f1604101cf","author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"date":"2017-08-22 13:10:11.000000000","message":"Patch Set 1: Code-Review+2\n\nthis looks reasonable to me, aside from my longstanding nit of using the string.format function ;P","accounts_in_message":[],"_revision_number":1},{"id":"585d2b3d1d88ee4275bf17e95af73e3e640b75b5","author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"date":"2017-08-22 13:36:55.000000000","message":"Patch Set 1: Code-Review+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"82e92ad703fa5ee430b33a091f6c387364ebf71e","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-08-22 18:00:16.000000000","message":"Patch Set 1: Workflow-1\n\n(3 comments)\n\nThanks for the comments, will tidy things up in a next version.","accounts_in_message":[],"_revision_number":1},{"id":"d9ec820042cb5a6581c05dccbb98e05373b45bd7","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-08-22 20:54:01.000000000","message":"Patch Set 1:\n\n(3 comments)\n\nunsure what to do with tests, so haven\u0027t changed them","accounts_in_message":[],"_revision_number":1},{"id":"c7a15f5c4316419fc81089cc3f9eba339402e7dd","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-08-22 20:54:17.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"328b25f89b3ee0c27dc2612924e5dc7f17d79547","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-08-22 21:03:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-microversion-parse-docs-ubuntu-xenial http://docs-draft.openstack.org/12/496212/2/check/gate-microversion-parse-docs-ubuntu-xenial/8011558//doc/build/html/ : SUCCESS in 3m 16s\n- gate-microversion-parse-pep8-ubuntu-xenial http://logs.openstack.org/12/496212/2/check/gate-microversion-parse-pep8-ubuntu-xenial/4e5970a/ : SUCCESS in 2m 20s\n- gate-microversion-parse-python27-ubuntu-xenial http://logs.openstack.org/12/496212/2/check/gate-microversion-parse-python27-ubuntu-xenial/31f8515/ : SUCCESS in 4m 32s\n- gate-microversion-parse-python35 http://logs.openstack.org/12/496212/2/check/gate-microversion-parse-python35/c4a4d06/ : SUCCESS in 4m 36s","accounts_in_message":[],"_revision_number":2},{"id":"aeb1ffb3bc941237fdb342278f9466d1301da80c","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2017-10-23 12:32:10.000000000","message":"Patch Set 2: Code-Review-1\n\n(7 comments)","accounts_in_message":[],"_revision_number":2},{"id":"b5ed0e117f4b1796afe1bc81b51aa08bf48d97e2","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2017-10-23 12:47:56.000000000","message":"Patch Set 2: Workflow-1\n\n(5 comments)\n\nThanks Eric, will make some tweaks. Some additional questions within.","accounts_in_message":[],"_revision_number":2},{"id":"b42ea62e45a386f2c5d4512b51f44478d9bf6102","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2017-10-23 13:22:10.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"760425e573c64cd5c83d8a27c3cd4a99039ac2b8","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2018-03-06 16:59:47.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"ab1e2bd08a8c237ec71787ab41babf458abcbd3c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-06 17:10:43.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/12/496212/3/check/openstack-tox-pep8/e63b641/ : SUCCESS in 3m 25s\n- openstack-tox-py27 http://logs.openstack.org/12/496212/3/check/openstack-tox-py27/8de4091/ : SUCCESS in 3m 35s\n- openstack-tox-py35 http://logs.openstack.org/12/496212/3/check/openstack-tox-py35/997dc75/ : SUCCESS in 3m 27s","accounts_in_message":[],"_revision_number":3},{"id":"6f8f1a9fbdcb9ad4e7f9accf651f6a234a32f6a2","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2018-03-07 00:59:34.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"8e0e87a7d0d431226903366d56f937961e6408e3","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2018-03-07 10:30:49.000000000","message":"Patch Set 3:\n\n(6 comments)\n\nThanks again Tim. A lot of the things that may seem like warts here are an effort to maintain compatibility with what placement is already doing, thus minimizing the changes that will be made there when placement adopts this code.","accounts_in_message":[],"_revision_number":3},{"id":"463b362404d34583000a6dce68fdfe87e4bbcce8","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2018-03-15 12:09:31.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"e41a6cbf0464fcdf244ba5be49a3f9b3ebba492a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-15 12:20:06.000000000","message":"Patch Set 4:\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/12/496212/4/check/openstack-tox-pep8/cdeb325/ : SUCCESS in 3m 31s\n- openstack-tox-py27 http://logs.openstack.org/12/496212/4/check/openstack-tox-py27/6a5b618/ : SUCCESS in 3m 41s\n- openstack-tox-py35 http://logs.openstack.org/12/496212/4/check/openstack-tox-py35/1faf55b/ : SUCCESS in 3m 40s","accounts_in_message":[],"_revision_number":4},{"id":"1017181f7d8802ab083ab9c3e6cbe34a032ac994","author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"date":"2018-03-15 13:31:50.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"e54f23d33a8679238eebaa0d0f86849792ad3ee5","author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"date":"2018-03-15 13:56:47.000000000","message":"Patch Set 4: Code-Review+1\n\nlgtm","accounts_in_message":[],"_revision_number":4},{"id":"f886707bb54850b81f19853693bd282d07cad42b","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2018-03-15 18:24:58.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.","accounts_in_message":[],"_revision_number":5},{"id":"d81bcf9f298ab16f18c68ac49123075b51caa699","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-15 19:42:02.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/12/496212/5/check/openstack-tox-pep8/0c38b7e/ : SUCCESS in 2m 51s\n- openstack-tox-py27 http://logs.openstack.org/12/496212/5/check/openstack-tox-py27/088c145/ : SUCCESS in 2m 53s\n- openstack-tox-py35 http://logs.openstack.org/12/496212/5/check/openstack-tox-py35/2983885/ : SUCCESS in 3m 19s","accounts_in_message":[],"_revision_number":5},{"id":"53159b4e724320f1189843ee852fe9a0d82eb47d","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2018-03-18 00:43:04.000000000","message":"Patch Set 5: Code-Review+1","accounts_in_message":[],"_revision_number":5},{"id":"c53eb9c0ed157bbca006fe33e0506f3172c2e9b2","author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"date":"2018-03-20 13:52:09.000000000","message":"Patch Set 5: Workflow+1 Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"c1db0b06a47bf595cc7b97b77c1da0e649f39141","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-20 13:52:20.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"6612ab2f885365eec5576c49fd5c644090b2423a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-20 14:00:30.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/12/496212/5/gate/openstack-tox-pep8/ae47574/ : SUCCESS in 3m 02s\n- openstack-tox-py27 http://logs.openstack.org/12/496212/5/gate/openstack-tox-py27/0e020ce/ : SUCCESS in 3m 17s\n- openstack-tox-py35 http://logs.openstack.org/12/496212/5/gate/openstack-tox-py35/e3be28c/ : SUCCESS in 4m 30s","accounts_in_message":[],"_revision_number":5},{"id":"6fcff3de6afe76927234082bfaa75c82852a5290","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-03-20 14:00:31.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"da0b4d66c964242ffea1f6dfe4a91556048f1243","revisions":{"b8a485ed348466eb65c577d0108f349b35ab4c0f":{"kind":"REWORK","_number":1,"created":"2017-08-22 11:53:35.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/12/496212/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/microversion-parse","ref":"refs/changes/12/496212/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/1"}}},"commit":{"parents":[{"commit":"307205b8cc16999343ffe6c8185f0842c78956e4","subject":"Provide a helper method to get headers from environ","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/307205b8cc16999343ffe6c8185f0842c78956e4"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:33:19.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:53:15.000000000","tz":60},"subject":"Import functions from placement","message":"Import functions from placement\n\nThis change imports two functions and a class from the microversion\nhandling implementation in the placement service. This code should be\ngenerally useful for other implementations.\n\nThe added code provides functions for not just extracting the\nmicroversion from HTTP headers, but for validating that the found\ninformation is actually a properly formed microversion value.\n\n\u0027latest\u0027 is translated to whatever latest is in an ordered list of\nversions and any found version is confirmed to be within the bounds of\nand a member of that list of versions.\n\nThe README.rst has been updated to reflect the newly available methods.\nThis is a start at documentation, but we\u0027ll probably want more.\n\nChange-Id: I267586c78308cc5520a88598c350a7e055783f3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/b8a485ed348466eb65c577d0108f349b35ab4c0f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/b8a485ed348466eb65c577d0108f349b35ab4c0f"}]},"branch":"refs/heads/master"},"e750b83f5d6a0b3eceeab7492e545ce452bf7012":{"kind":"REWORK","_number":2,"created":"2017-08-22 20:54:17.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/12/496212/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/microversion-parse","ref":"refs/changes/12/496212/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/2"}}},"commit":{"parents":[{"commit":"1e7074d62882f2309ca7f3bea45d201aad6d3485","subject":"Provide a helper method to get headers from environ","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/1e7074d62882f2309ca7f3bea45d201aad6d3485"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:33:19.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 20:54:08.000000000","tz":60},"subject":"Import functions from placement","message":"Import functions from placement\n\nThis change imports two functions and a class from the microversion\nhandling implementation in the placement service. This code should be\ngenerally useful for other implementations.\n\nThe added code provides functions for not just extracting the\nmicroversion from HTTP headers, but for validating that the found\ninformation is actually a properly formed microversion value.\n\n\u0027latest\u0027 is translated to whatever latest is in an ordered list of\nversions and any found version is confirmed to be within the bounds of\nand a member of that list of versions.\n\nThe README.rst has been updated to reflect the newly available methods.\nThis is a start at documentation, but we\u0027ll probably want more.\n\nChange-Id: I267586c78308cc5520a88598c350a7e055783f3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/e750b83f5d6a0b3eceeab7492e545ce452bf7012"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/e750b83f5d6a0b3eceeab7492e545ce452bf7012"}]},"branch":"refs/heads/master"},"ed426421200de823c3486c26852de9e4e206fe5c":{"kind":"REWORK","_number":3,"created":"2018-03-06 16:59:47.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/12/496212/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/microversion-parse","ref":"refs/changes/12/496212/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/3"}}},"commit":{"parents":[{"commit":"383daf79e652e796dfe73474e7e79502ecf86897","subject":"Provide a helper method to get headers from environ","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/383daf79e652e796dfe73474e7e79502ecf86897"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:33:19.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2018-03-06 16:58:50.000000000","tz":0},"subject":"Import functions from placement","message":"Import functions from placement\n\nThis change imports two functions and a class from the microversion\nhandling implementation in the placement service. This code should be\ngenerally useful for other implementations.\n\nThe added code provides functions for not just extracting the\nmicroversion from HTTP headers, but for validating that the found\ninformation is actually a properly formed microversion value.\n\n\u0027latest\u0027 is translated to whatever latest is in an ordered list of\nversions and any found version is confirmed to be within the bounds of\nand a member of that list of versions.\n\nThe README.rst has been updated to reflect the newly available methods.\nThis is a start at documentation, but we\u0027ll probably want more.\n\nChange-Id: I267586c78308cc5520a88598c350a7e055783f3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/ed426421200de823c3486c26852de9e4e206fe5c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/ed426421200de823c3486c26852de9e4e206fe5c"}]},"branch":"refs/heads/master"},"e0155972f2964d7ee8a631388f1d9be00c637b5c":{"kind":"NO_CHANGE","_number":4,"created":"2018-03-15 12:09:31.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/12/496212/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/microversion-parse","ref":"refs/changes/12/496212/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/4"}}},"commit":{"parents":[{"commit":"c0df7fa0349a6e406a73cf400d770e0b94633a13","subject":"Provide a helper method to get headers from environ","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/c0df7fa0349a6e406a73cf400d770e0b94633a13"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:33:19.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2018-03-15 12:06:04.000000000","tz":0},"subject":"Import functions from placement","message":"Import functions from placement\n\nThis change imports two functions and a class from the microversion\nhandling implementation in the placement service. This code should be\ngenerally useful for other implementations.\n\nThe added code provides functions for not just extracting the\nmicroversion from HTTP headers, but for validating that the found\ninformation is actually a properly formed microversion value.\n\n\u0027latest\u0027 is translated to whatever latest is in an ordered list of\nversions and any found version is confirmed to be within the bounds of\nand a member of that list of versions.\n\nThe README.rst has been updated to reflect the newly available methods.\nThis is a start at documentation, but we\u0027ll probably want more.\n\nChange-Id: I267586c78308cc5520a88598c350a7e055783f3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/e0155972f2964d7ee8a631388f1d9be00c637b5c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/e0155972f2964d7ee8a631388f1d9be00c637b5c"}]},"branch":"refs/heads/master"},"da0b4d66c964242ffea1f6dfe4a91556048f1243":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2018-03-15 18:24:58.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/12/496212/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/microversion-parse","ref":"refs/changes/12/496212/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/microversion-parse refs/changes/12/496212/5"}}},"commit":{"parents":[{"commit":"bd003b52a5076905ceadf514c4d360fee545bfc5","subject":"Provide a helper method to get headers from environ","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/bd003b52a5076905ceadf514c4d360fee545bfc5"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2017-08-22 11:33:19.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2018-03-15 18:15:25.000000000","tz":0},"subject":"Import functions from placement","message":"Import functions from placement\n\nThis change imports two functions and a class from the microversion\nhandling implementation in the placement service. This code should be\ngenerally useful for other implementations.\n\nThe added code provides functions for not just extracting the\nmicroversion from HTTP headers, but for validating that the found\ninformation is actually a properly formed microversion value.\n\n\u0027latest\u0027 is translated to whatever latest is in an ordered list of\nversions and any found version is confirmed to be within the bounds of\nand a member of that list of versions.\n\nThe README.rst has been updated to reflect the newly available methods.\nThis is a start at documentation, but we\u0027ll probably want more.\n\nChange-Id: I267586c78308cc5520a88598c350a7e055783f3e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/da0b4d66c964242ffea1f6dfe4a91556048f1243"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/microversion-parse/commit/da0b4d66c964242ffea1f6dfe4a91556048f1243"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
