)]}'
{"id":"openstack%2Fkeystone~784553","triplet_id":"openstack%2Fkeystone~master~Ic80e7f8b80503b2ffa8fad38b483f01000b6ac2e","project":"openstack/keystone","branch":"master","hashtags":[],"change_id":"Ic80e7f8b80503b2ffa8fad38b483f01000b6ac2e","subject":"Adds support for creating projects by ID and extends mapping engine. (second try)","status":"NEW","created":"2021-04-02 10:04:06.000000000","updated":"2021-04-07 16:15:18.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"f04b7feb278431663f0ba7e7752d34fd02f533d1","_number":784553,"virtual_id_number":784553,"owner":{"_account_id":33315,"name":"pregusia","email":"rafal@pregusia.pl","username":"pregusia"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2021-04-07 16:15:18.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-04-02 10:52:52.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":"CC"},{"updated":"2021-04-02 11:19:04.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":"273535f9a5d84fabd9ec539c9f6b7b6319956681","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":33315,"name":"pregusia","email":"rafal@pregusia.pl","username":"pregusia"},"date":"2021-04-02 10:04:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"fdb6ef79c398109d3275e42422a2f1536d3e1346","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-02 10:52:52.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/287f9b2229114bafb808e9377c36caf2 : FAILURE in 48m 16s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/9fea83f3cccc4baabbabc98c1db788dc : FAILURE in 39m 11s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"f22f2c371ce4f8190ee6ae5b34c28d860c24a9f0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-02 11:19:04.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/45a04fb21bf14806a3a32b83c18b8120 : FAILURE in 16m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8f92409042cf4027a3ae0bb3013955f2 : SUCCESS in 6m 07s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/1c141ece053a4f58b87b1c39b2747175 : FAILURE in 14m 58s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/0f28dc946c0d4ef7be319f9557092fb7 : FAILURE in 13m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/af9281d4431743b58a9585c622409d67 : SUCCESS in 11m 37s\n- grenade https://zuul.opendev.org/t/openstack/build/3291613e7b104b6c8bb3ad788f7a05bd : SUCCESS in 47m 36s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/bc3a0eca4d3e4da8ad59b67c4d45b7e4 : SUCCESS in 1h 13m 03s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/ff96629095424fa2a4ffe2f44a9b143b : SUCCESS in 31m 59s\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/304cda2245144b47bbdf0c831af68f00 : SUCCESS in 31m 35s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/547491f6de164df890a937efeb2d5b6c : SUCCESS in 31m 53s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/3b635bafcab5409bba24a4032fbcc9dc : SUCCESS in 20m 37s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/411023f457ba47aaaf3a85f1bf6683eb : FAILURE in 12m 01s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7a0bf7083a7c4afc9ed469e0c476c0aa : SUCCESS in 45m 07s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/607c989869514a7482bd57fb24744824 : FAILURE in 40m 08s","accounts_in_message":[],"_revision_number":1},{"id":"c6e2137c28e560a50608e04bcde0dc7eea965d07","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":33315,"name":"pregusia","email":"rafal@pregusia.pl","username":"pregusia"},"date":"2021-04-07 14:42:45.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"5e051d93a202e8fadf1571a3bd130409ae47f825","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-07 15:31:52.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/48d5fd839a434814925e9ebeb5b85642 : SUCCESS in 41m 35s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/1fd0b18b140b48f8b38da7fe2be62306 : SUCCESS in 40m 15s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"f04b7feb278431663f0ba7e7752d34fd02f533d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-07 16:15:18.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9a0b86cc746846579ea900f71ad9dc4b : SUCCESS in 18m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/87a86ed543e34ce0a0b7aa49a4986acd : SUCCESS in 7m 31s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/eb6875a2632349f4a72aa36d6e4a5eca : SUCCESS in 20m 18s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/ec755e6d4c414b829afa6c9434dd7989 : SUCCESS in 20m 32s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/796848f9a020407e8e6090f203965811 : SUCCESS in 15m 56s\n- grenade https://zuul.opendev.org/t/openstack/build/0e8d4cb9d742492c8a89fad804370cb0 : SUCCESS in 1h 14m 29s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/722c3f367457434fb80f0ad51573d59f : SUCCESS in 1h 27m 22s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/467be5984eaf499381664ec816ec7d2e : SUCCESS in 39m 42s\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/69858e5d7b354dad94df77b2a4eff5d6 : SUCCESS in 29m 24s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/eeef762af2394f77a068b3b3e1b92fd5 : SUCCESS in 39m 31s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/f62c827370dd409289f7e05233b98e02 : SUCCESS in 15m 52s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/72a26f0c06dd4f27b615abec8de867e5 : FAILURE in 13m 48s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6f4ba2147bd4432c9d14e3b92cc2786e : SUCCESS in 1h 00m 26s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/cf394e5781c848539498954e38b4b823 : SUCCESS in 44m 18s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ec0a613d6b0053708bedb9cbec8a7d3462ea7f21","revisions":{"63562c53bbf57ecd1a28867cc204dff70676fd53":{"kind":"REWORK","_number":1,"created":"2021-04-02 10:04:06.000000000","uploader":{"_account_id":33315,"name":"pregusia","email":"rafal@pregusia.pl","username":"pregusia"},"ref":"refs/changes/53/784553/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/53/784553/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/53/784553/1"}}},"commit":{"parents":[{"commit":"10057702ac361213e74472ec1d0d4e4c4a041f09","subject":"Merge \"Retry update_user when sqlalchemy raises StaleDataErrors\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/10057702ac361213e74472ec1d0d4e4c4a041f09"}]}],"author":{"name":"pregusia","email":"rafal@pregusia.pl","date":"2021-04-02 10:03:36.000000000","tz":120},"committer":{"name":"pregusia","email":"rafal@pregusia.pl","date":"2021-04-02 10:04:03.000000000","tz":120},"subject":"Adds support for creating projects by ID and extends mapping engine. (second try)","message":"Adds support for creating projects by ID and extends mapping engine.\n(second try)\n\nCurrently mapping engine can map multiple projects for user (as stated in https://docs.openstack.org/keystone/pike/advanced-topics/federation/mapping_combinations.html), but this support\nlacks from (a) dynamic mapping projects from assertion (for ex. projects ids are in assertion) and (b) mapping engine cannot map to list from assertion (if in asertion we have\n\"some_field\": [ id1, id2, ..., idN ] - then using this field by substitution - eg \"{1}\" wont map this to whole needed structure of projects in mapping).\n\nIn patch I extend mapping schema by adding new field \"projects_spec\" of type string.\nThis field contains string formated like\n\n  project1ID:role1:role2:..:roleN,project2ID:role1:...:roleN,...\n\nand this is mapped into proper structure { \"projects\": [  { \"id\": .., \"roles\": [ ... ] }, ... ] }\nthis allows the identity provider to supply permission-like informations about what projects user should have access to.\n\nAlso new configuration options has been added to more precisely control behavior of auto-provisioned projects.\n\nChange-Id: Ic80e7f8b80503b2ffa8fad38b483f01000b6ac2e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/63562c53bbf57ecd1a28867cc204dff70676fd53"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/63562c53bbf57ecd1a28867cc204dff70676fd53"}]},"branch":"refs/heads/master"},"ec0a613d6b0053708bedb9cbec8a7d3462ea7f21":{"kind":"REWORK","_number":2,"created":"2021-04-07 14:42:45.000000000","uploader":{"_account_id":33315,"name":"pregusia","email":"rafal@pregusia.pl","username":"pregusia"},"ref":"refs/changes/53/784553/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/53/784553/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/53/784553/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/53/784553/2"}}},"commit":{"parents":[{"commit":"10057702ac361213e74472ec1d0d4e4c4a041f09","subject":"Merge \"Retry update_user when sqlalchemy raises StaleDataErrors\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/10057702ac361213e74472ec1d0d4e4c4a041f09"}]}],"author":{"name":"pregusia","email":"rafal@pregusia.pl","date":"2021-04-02 10:03:36.000000000","tz":120},"committer":{"name":"pregusia","email":"rafal@pregusia.pl","date":"2021-04-07 14:41:11.000000000","tz":120},"subject":"Adds support for creating projects by ID and extends mapping engine. (second try)","message":"Adds support for creating projects by ID and extends mapping engine.\n(second try)\n\nCurrently mapping engine can map multiple projects for user (as stated in https://docs.openstack.org/keystone/pike/advanced-topics/federation/mapping_combinations.html), but this support\nlacks from (a) dynamic mapping projects from assertion (for ex. projects ids are in assertion) and (b) mapping engine cannot map to list from assertion (if in asertion we have\n\"some_field\": [ id1, id2, ..., idN ] - then using this field by substitution - eg \"{1}\" wont map this to whole needed structure of projects in mapping).\n\nIn patch I extend mapping schema by adding new field \"projects_spec\" of type string.\nThis field contains string formated like\n\n  project1ID:role1:role2:..:roleN,project2ID:role1:...:roleN,...\n\nand this is mapped into proper structure { \"projects\": [  { \"id\": .., \"roles\": [ ... ] }, ... ] }\nthis allows the identity provider to supply permission-like informations about what projects user should have access to.\n\nAlso new configuration options has been added to more precisely control behavior of auto-provisioned projects.\n\nChange-Id: Ic80e7f8b80503b2ffa8fad38b483f01000b6ac2e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ec0a613d6b0053708bedb9cbec8a7d3462ea7f21"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ec0a613d6b0053708bedb9cbec8a7d3462ea7f21"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
