)]}'
{"id":"openstack%2Fkeystone~670592","triplet_id":"openstack%2Fkeystone~master~Ib1448fa08d7106fd55e18a0f92a705011bc3ce2b","project":"openstack/keystone","branch":"master","topic":"fix_and_test_json_type","hashtags":[],"change_id":"Ib1448fa08d7106fd55e18a0f92a705011bc3ce2b","subject":"Allow JsonBlob to accommodate SQL NULL result sets","status":"MERGED","created":"2019-07-12 15:59:29.000000000","updated":"2019-07-15 21:29:44.000000000","submitted":"2019-07-15 21:29:44.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"670592-1563226184039-3eb45556","meta_rev_id":"676b2e7a1ac41aeaf80cf440ce12abbd8fa4853a","_number":670592,"virtual_id_number":670592,"owner":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},{"value":2,"date":"2019-07-15 21:29:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},{"value":0,"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},{"value":0,"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},{"value":0,"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"}],"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":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"all":[{"value":2,"date":"2019-07-15 14:39:58.000000000","_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-07-15 09:02:57.000000000","_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},{"value":1,"date":"2019-07-13 13:46:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},{"value":1,"date":"2019-07-13 18:37:32.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},{"value":2,"date":"2019-07-12 19:06:56.000000000","_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"value":1,"date":"2019-07-14 13:15:49.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"}],"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":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"all":[{"value":0,"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2019-07-15 09:02:57.000000000","_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},{"value":0,"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},{"value":0,"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},{"value":0,"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-07-12 19:06:56.000000000","updated_by":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"reviewer":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"state":"REVIEWER"},{"updated":"2019-07-13 13:46:44.000000000","updated_by":{"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},"reviewer":{"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},"state":"REVIEWER"},{"updated":"2019-07-13 18:37:32.000000000","updated_by":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"reviewer":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"state":"REVIEWER"},{"updated":"2019-07-14 13:15:49.000000000","updated_by":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"reviewer":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"state":"REVIEWER"},{"updated":"2019-07-15 09:02:57.000000000","updated_by":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"reviewer":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"state":"REVIEWER"},{"updated":"2019-07-15 14:39:58.000000000","updated_by":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"reviewer":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"state":"REVIEWER"},{"updated":"2019-07-15 21:29:43.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":"1b2398f86e89bd0867e5cede3725115a7bc6fcb3","author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"date":"2019-07-12 15:59:29.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"be7105e63e2eb1bbad9839fbb0454a7753c4c85e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-12 18:28:18.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover http://logs.openstack.org/92/670592/1/check/openstack-tox-cover/e435610/cover/ : SUCCESS in 32m 48s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/670592/1/check/openstack-tox-lower-constraints/f9795f5/ : SUCCESS in 35m 36s\n- openstack-tox-pep8 http://logs.openstack.org/92/670592/1/check/openstack-tox-pep8/1071fcc/ : FAILURE in 6m 27s\n- openstack-tox-py27 http://logs.openstack.org/92/670592/1/check/openstack-tox-py27/b9c9d1d/ : SUCCESS in 23m 50s\n- openstack-tox-py36 http://logs.openstack.org/92/670592/1/check/openstack-tox-py36/6b839e7/ : SUCCESS in 28m 50s\n- openstack-tox-py37 http://logs.openstack.org/92/670592/1/check/openstack-tox-py37/ed82985/ : SUCCESS in 32m 51s\n- openstack-tox-docs http://logs.openstack.org/92/670592/1/check/openstack-tox-docs/d7c5693/html/ : SUCCESS in 7m 21s\n- tempest-full http://logs.openstack.org/92/670592/1/check/tempest-full/797a368/ : SUCCESS in 1h 57m 58s\n- neutron-grenade http://logs.openstack.org/92/670592/1/check/neutron-grenade/4b95baa/ : SUCCESS in 1h 03m 18s\n- grenade-py3 http://logs.openstack.org/92/670592/1/check/grenade-py3/161b941/ : SUCCESS in 1h 02m 41s\n- tempest-full-py3 http://logs.openstack.org/92/670592/1/check/tempest-full-py3/ac8283c/ : SUCCESS in 1h 42m 04s\n- keystone-dsvm-functional http://logs.openstack.org/92/670592/1/check/keystone-dsvm-functional/11b20a7/ : SUCCESS in 42m 47s\n- keystone-dsvm-py3-functional http://logs.openstack.org/92/670592/1/check/keystone-dsvm-py3-functional/9e37d63/ : SUCCESS in 43m 32s\n- keystone-dsvm-functional-federation-opensuse15 http://logs.openstack.org/92/670592/1/check/keystone-dsvm-functional-federation-opensuse15/9cf0f37/ : SUCCESS in 36m 04s (non-voting)\n- keystone-dsvm-py3-functional-federation-opensuse15 http://logs.openstack.org/92/670592/1/check/keystone-dsvm-py3-functional-federation-opensuse15/d24efe9/ : SUCCESS in 41m 18s (non-voting)\n- keystoneclient-devstack-functional http://logs.openstack.org/92/670592/1/check/keystoneclient-devstack-functional/02ccb71/ : SUCCESS in 16m 46s (non-voting)\n- legacy-tempest-dsvm-ldap-domain-specific-driver http://logs.openstack.org/92/670592/1/check/legacy-tempest-dsvm-ldap-domain-specific-driver/3bcd243/ : SUCCESS in 1h 50m 28s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"3b9bd21c75b70ce6de200015d9f47b15f2693b43","author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"date":"2019-07-12 18:46:45.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"0da3e78192c2c7ae95707567bae669430da93d68","author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"date":"2019-07-12 19:01:41.000000000","message":"Patch Set 2: Code-Review+1\n\nDoes it make more sense to make a null in this case return a {} ? Other than that question, LGTM.","accounts_in_message":[],"_revision_number":2},{"id":"42a5c4ce7ad57d13b17a64677b23fa3254b1d46e","author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"date":"2019-07-12 19:06:56.000000000","message":"Patch Set 2: Code-Review+2\n\ntalked it over in irc, None is correct response.","accounts_in_message":[],"_revision_number":2},{"id":"aa65e3a7adb64c7a46e54cb2fecd7a5982e03e25","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-12 20:42:45.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover http://logs.openstack.org/92/670592/2/check/openstack-tox-cover/cd52ebf/cover/ : SUCCESS in 40m 09s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/670592/2/check/openstack-tox-lower-constraints/900f155/ : SUCCESS in 28m 40s\n- openstack-tox-pep8 http://logs.openstack.org/92/670592/2/check/openstack-tox-pep8/b4b399d/ : SUCCESS in 5m 51s\n- openstack-tox-py27 http://logs.openstack.org/92/670592/2/check/openstack-tox-py27/b4f7157/ : SUCCESS in 25m 05s\n- openstack-tox-py36 http://logs.openstack.org/92/670592/2/check/openstack-tox-py36/21589f4/ : SUCCESS in 24m 33s\n- openstack-tox-py37 http://logs.openstack.org/92/670592/2/check/openstack-tox-py37/b694fad/ : SUCCESS in 31m 09s\n- openstack-tox-docs http://logs.openstack.org/92/670592/2/check/openstack-tox-docs/c692cb3/html/ : SUCCESS in 7m 45s\n- tempest-full http://logs.openstack.org/92/670592/2/check/tempest-full/79968d2/ : SUCCESS in 1h 49m 42s\n- neutron-grenade http://logs.openstack.org/92/670592/2/check/neutron-grenade/5aa4adf/ : SUCCESS in 1h 07m 21s\n- grenade-py3 http://logs.openstack.org/92/670592/2/check/grenade-py3/53e9c21/ : SUCCESS in 1h 01m 19s\n- tempest-full-py3 http://logs.openstack.org/92/670592/2/check/tempest-full-py3/ad8995c/ : SUCCESS in 1h 30m 59s\n- keystone-dsvm-functional http://logs.openstack.org/92/670592/2/check/keystone-dsvm-functional/8020b78/ : SUCCESS in 34m 36s\n- keystone-dsvm-py3-functional http://logs.openstack.org/92/670592/2/check/keystone-dsvm-py3-functional/6816ec8/ : SUCCESS in 35m 02s\n- keystone-dsvm-functional-federation-opensuse15 http://logs.openstack.org/92/670592/2/check/keystone-dsvm-functional-federation-opensuse15/bb49e99/ : SUCCESS in 43m 51s (non-voting)\n- keystone-dsvm-py3-functional-federation-opensuse15 http://logs.openstack.org/92/670592/2/check/keystone-dsvm-py3-functional-federation-opensuse15/bff4372/ : SUCCESS in 41m 59s (non-voting)\n- keystoneclient-devstack-functional http://logs.openstack.org/92/670592/2/check/keystoneclient-devstack-functional/ac6e6a7/ : SUCCESS in 19m 04s (non-voting)\n- legacy-tempest-dsvm-ldap-domain-specific-driver http://logs.openstack.org/92/670592/2/check/legacy-tempest-dsvm-ldap-domain-specific-driver/7e8b02e/ : SUCCESS in 1h 32m 39s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"ea1487494803fcdb8de8343214e48dd085a75a3b","author":{"_account_id":26297,"name":"pippo","email":"1211099771@qq.com","username":"huang.zhiping"},"date":"2019-07-13 13:46:44.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"f777c67abb72be47400d37df6de9ae05fd2cf946","author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"date":"2019-07-13 18:37:32.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"1bab3f7411855dfb2707b70f0b45bf625ad25687","author":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"date":"2019-07-14 13:15:49.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"69f6962dae402f2c9c815170295c1ef1f5b817dc","author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"date":"2019-07-15 09:02:57.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nLGTM","accounts_in_message":[],"_revision_number":2},{"id":"18abc17afedc5f40dd78f3f127564d406d2ec184","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 09:03:11.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"edf63ba660d06d793d3d84ea93b08a14b6b682e3","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 10:48:05.000000000","message":"Patch Set 2: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-lower-constraints http://logs.openstack.org/92/670592/2/gate/openstack-tox-lower-constraints/c2679f4/ : SUCCESS in 33m 07s\n- openstack-tox-pep8 http://logs.openstack.org/92/670592/2/gate/openstack-tox-pep8/c42958c/ : SUCCESS in 6m 55s\n- openstack-tox-py27 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py27/010b1e8/ : SUCCESS in 34m 06s\n- openstack-tox-py36 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py36/0384c15/ : SUCCESS in 29m 47s\n- openstack-tox-py37 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py37/433e814/ : SUCCESS in 30m 26s\n- openstack-tox-docs http://logs.openstack.org/92/670592/2/gate/openstack-tox-docs/f4bb2e0/html/ : SUCCESS in 7m 27s\n- tempest-full http://logs.openstack.org/92/670592/2/gate/tempest-full/c0f239d/ : SUCCESS in 1h 41m 17s\n- neutron-grenade http://logs.openstack.org/92/670592/2/gate/neutron-grenade/950c285/ : FAILURE in 43m 00s\n- grenade-py3 http://logs.openstack.org/92/670592/2/gate/grenade-py3/39551e4/ : SUCCESS in 56m 53s\n- tempest-full-py3 http://logs.openstack.org/92/670592/2/gate/tempest-full-py3/c20fbed/ : SUCCESS in 1h 24m 33s\n- keystone-dsvm-functional http://logs.openstack.org/92/670592/2/gate/keystone-dsvm-functional/de434fa/ : SUCCESS in 31m 40s\n- keystone-dsvm-py3-functional http://logs.openstack.org/92/670592/2/gate/keystone-dsvm-py3-functional/4bce2b3/ : SUCCESS in 31m 50s","accounts_in_message":[],"_revision_number":2},{"id":"e7fe42aa80bf2643f90d67ff8d3ba7c21ea44b72","author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"date":"2019-07-15 14:39:58.000000000","message":"Patch Set 2: Code-Review+2\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"f84683454cff42d527c793c663e1c1041ef8fd28","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 19:47:29.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover http://logs.openstack.org/92/670592/2/check/openstack-tox-cover/9771f65/cover/ : SUCCESS in 35m 24s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/670592/2/check/openstack-tox-lower-constraints/5277b20/ : SUCCESS in 32m 06s\n- openstack-tox-pep8 http://logs.openstack.org/92/670592/2/check/openstack-tox-pep8/15d3a25/ : SUCCESS in 5m 41s\n- openstack-tox-py27 http://logs.openstack.org/92/670592/2/check/openstack-tox-py27/9f04140/ : SUCCESS in 25m 51s\n- openstack-tox-py36 http://logs.openstack.org/92/670592/2/check/openstack-tox-py36/d905a54/ : SUCCESS in 28m 59s\n- openstack-tox-py37 http://logs.openstack.org/92/670592/2/check/openstack-tox-py37/0f93c7e/ : SUCCESS in 33m 19s\n- openstack-tox-docs http://logs.openstack.org/92/670592/2/check/openstack-tox-docs/7918aa0/html/ : SUCCESS in 7m 08s\n- tempest-full http://logs.openstack.org/92/670592/2/check/tempest-full/fe7995d/ : SUCCESS in 1h 48m 03s\n- neutron-grenade http://logs.openstack.org/92/670592/2/check/neutron-grenade/bb781de/ : SUCCESS in 1h 09m 31s\n- grenade-py3 http://logs.openstack.org/92/670592/2/check/grenade-py3/cfc98ab/ : SUCCESS in 1h 02m 22s\n- tempest-full-py3 http://logs.openstack.org/92/670592/2/check/tempest-full-py3/49d887a/ : SUCCESS in 1h 36m 04s\n- keystone-dsvm-functional http://logs.openstack.org/92/670592/2/check/keystone-dsvm-functional/3711cc5/ : SUCCESS in 35m 51s\n- keystone-dsvm-py3-functional http://logs.openstack.org/92/670592/2/check/keystone-dsvm-py3-functional/802b94d/ : SUCCESS in 40m 36s\n- keystone-dsvm-functional-federation-opensuse15 http://logs.openstack.org/92/670592/2/check/keystone-dsvm-functional-federation-opensuse15/b2fe9e0/ : SUCCESS in 33m 39s (non-voting)\n- keystone-dsvm-py3-functional-federation-opensuse15 http://logs.openstack.org/92/670592/2/check/keystone-dsvm-py3-functional-federation-opensuse15/2a404ea/ : SUCCESS in 37m 02s (non-voting)\n- keystoneclient-devstack-functional http://logs.openstack.org/92/670592/2/check/keystoneclient-devstack-functional/b53c88e/ : SUCCESS in 14m 33s (non-voting)\n- legacy-tempest-dsvm-ldap-domain-specific-driver http://logs.openstack.org/92/670592/2/check/legacy-tempest-dsvm-ldap-domain-specific-driver/1f9d816/ : SUCCESS in 1h 37m 50s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"e9c2340b578f976629289c0eb77d0b829c37ac11","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 19:47:42.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"a63e7f65b9ea1e89fd15d53b9ceb0cd073315712","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 21:29:43.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints http://logs.openstack.org/92/670592/2/gate/openstack-tox-lower-constraints/ec49cb4/ : SUCCESS in 35m 29s\n- openstack-tox-pep8 http://logs.openstack.org/92/670592/2/gate/openstack-tox-pep8/db43a66/ : SUCCESS in 5m 22s\n- openstack-tox-py27 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py27/04b397f/ : SUCCESS in 34m 56s\n- openstack-tox-py36 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py36/49f4d67/ : SUCCESS in 30m 43s\n- openstack-tox-py37 http://logs.openstack.org/92/670592/2/gate/openstack-tox-py37/39de6a1/ : SUCCESS in 25m 53s\n- openstack-tox-docs http://logs.openstack.org/92/670592/2/gate/openstack-tox-docs/a02426c/html/ : SUCCESS in 9m 14s\n- tempest-full http://logs.openstack.org/92/670592/2/gate/tempest-full/d6debde/ : SUCCESS in 1h 36m 46s\n- neutron-grenade http://logs.openstack.org/92/670592/2/gate/neutron-grenade/40b9756/ : SUCCESS in 53m 01s\n- grenade-py3 http://logs.openstack.org/92/670592/2/gate/grenade-py3/01f86d0/ : SUCCESS in 58m 24s\n- tempest-full-py3 http://logs.openstack.org/92/670592/2/gate/tempest-full-py3/b08717d/ : SUCCESS in 1h 31m 44s\n- keystone-dsvm-functional http://logs.openstack.org/92/670592/2/gate/keystone-dsvm-functional/d98402f/ : SUCCESS in 32m 17s\n- keystone-dsvm-py3-functional http://logs.openstack.org/92/670592/2/gate/keystone-dsvm-py3-functional/2224c05/ : SUCCESS in 35m 27s","accounts_in_message":[],"_revision_number":2},{"id":"cf75182056d9fd6e0a5e6c4ab8149e16f4af9b9b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 21:29:44.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"10eab4824249a2ba190d80cc58e404f07c3d51e8","revisions":{"b0e19461d33a7a4d37c6065bd6ed6d74946f1955":{"kind":"REWORK","_number":1,"created":"2019-07-12 15:59:29.000000000","uploader":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"ref":"refs/changes/92/670592/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/92/670592/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/92/670592/1"}}},"commit":{"parents":[{"commit":"e9ee189b4392bbd9ff4324cb194ee9e1e0818586","subject":"Fix keystone document","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e9ee189b4392bbd9ff4324cb194ee9e1e0818586"}]}],"author":{"name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","date":"2019-07-12 15:49:39.000000000","tz":-240},"committer":{"name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","date":"2019-07-12 15:54:35.000000000","tz":-240},"subject":"Allow JsonBlob to accommodate SQL NULL result sets","message":"Allow JsonBlob to accommodate SQL NULL result sets\n\nSQLAlchemy passes a SQL NULL result value, which in Python comes\nback as None, to the TypeDecorator.process_result_value method\nfor a datatype that is handling that column.  Python\u0027s json.loads()\nfunction does not accommodate Python None directly.  A NULL\nvalue may be returned for a JsonBlob expression either if SELECTing\nfrom a table where the value is NULL, as there are several\nNULLable columns in Keystone\u0027s model which use this type, or\nif the column is linked to a SQL result such as from an outer join\nthat does not contain the value.\n\nThe reason this bug has not been seen in Keystone is because the only\noccurrence of SQL NULL for this column type has been in an ORM\n\"joinedload()\" LEFT OUTER JOIN expression, and the ORM does not\nfetch the actual columns when the identity is NULL.  However, upcoming\nchanges in SQLAlchemy include that the lower level row object\nwill be firing off these result handlers up front, rather than\ndeferring them for fetch, which has illustrated this issue.\n\nThe patch includes a test suite exercising the JsonBlob and\nDateTimeInt types completely, as there do not seem to be tests that\ntarget these constructs individually.\n\nChange-Id: Ib1448fa08d7106fd55e18a0f92a705011bc3ce2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/b0e19461d33a7a4d37c6065bd6ed6d74946f1955"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/b0e19461d33a7a4d37c6065bd6ed6d74946f1955"}]},"branch":"refs/heads/master"},"10eab4824249a2ba190d80cc58e404f07c3d51e8":{"kind":"REWORK","_number":2,"created":"2019-07-12 18:46:45.000000000","uploader":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"ref":"refs/changes/92/670592/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/92/670592/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/92/670592/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/92/670592/2"}}},"commit":{"parents":[{"commit":"e9ee189b4392bbd9ff4324cb194ee9e1e0818586","subject":"Fix keystone document","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e9ee189b4392bbd9ff4324cb194ee9e1e0818586"}]}],"author":{"name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","date":"2019-07-12 15:49:39.000000000","tz":-240},"committer":{"name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","date":"2019-07-12 18:46:38.000000000","tz":-240},"subject":"Allow JsonBlob to accommodate SQL NULL result sets","message":"Allow JsonBlob to accommodate SQL NULL result sets\n\nSQLAlchemy passes a SQL NULL result value, which in Python comes\nback as None, to the TypeDecorator.process_result_value method\nfor a datatype that is handling that column.  Python\u0027s json.loads()\nfunction does not accommodate Python None directly.  A NULL\nvalue may be returned for a JsonBlob expression either if SELECTing\nfrom a table where the value is NULL, as there are several\nNULLable columns in Keystone\u0027s model which use this type, or\nif the column is linked to a SQL result such as from an outer join\nthat does not contain the value.\n\nThe reason this bug has not been seen in Keystone is because the only\noccurrence of SQL NULL for this column type has been in an ORM\n\"joinedload()\" LEFT OUTER JOIN expression, and the ORM does not\nfetch the actual columns when the identity is NULL.  However, upcoming\nchanges in SQLAlchemy include that the lower level row object\nwill be firing off these result handlers up front, rather than\ndeferring them for fetch, which has illustrated this issue.\n\nThe patch includes a test suite exercising the JsonBlob and\nDateTimeInt types completely, as there do not seem to be tests that\ntarget these constructs individually.\n\nChange-Id: Ib1448fa08d7106fd55e18a0f92a705011bc3ce2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/10eab4824249a2ba190d80cc58e404f07c3d51e8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/10eab4824249a2ba190d80cc58e404f07c3d51e8"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
