)]}'
{"id":"openstack%2Fkeystone~2674","triplet_id":"openstack%2Fkeystone~master~Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff","project":"openstack/keystone","branch":"master","topic":"bp/s","hashtags":[],"change_id":"Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff","subject":"Refactor models and backends","status":"MERGED","created":"2011-12-29 16:22:20.000000000","updated":"2011-12-30 14:28:41.000000000","submitted":"2011-12-30 06:04:48.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":36,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"c6ca2c107f541b9403fe90e15d65927b25e6307e","_number":2674,"virtual_id_number":2674,"owner":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},{"value":0,"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},{"value":0,"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":1,"date":"2011-12-30 06:04:48.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"all":[{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},{"value":0,"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},{"value":2,"date":"2011-12-30 05:55:08.000000000","_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"date":"2011-12-30 06:04:48.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"all":[{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},{"value":0,"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},{"value":1,"date":"2011-12-30 05:55:08.000000000","_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2011-12-29 18:53:51.000000000","updated_by":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"reviewer":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"state":"REVIEWER"},{"updated":"2011-12-29 20:15:15.000000000","updated_by":{"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},"reviewer":{"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},"state":"REVIEWER"},{"updated":"2011-12-29 21:32:59.000000000","updated_by":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"reviewer":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"state":"REVIEWER"},{"updated":"2011-12-29 22:28:33.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":"2011-12-29 23:37:41.000000000","updated_by":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"reviewer":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2011-12-30 01:22:05.000000000","updated_by":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"reviewer":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"state":"REVIEWER"},{"updated":"2011-12-30 06:04:48.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"2598e06931c4b79ff2aea53d263572740602d961","author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"date":"2011-12-29 17:40:13.000000000","message":"Patch Set 1:\n\nI am trying to understand how we are planning to structure.\nWould be helpful if you could explain \nHow exactly are we trying to structure here?\nWhat is a driver?\nWhat are backend APIs?\nWhat are managers?\nEventually would backend api\u0027s go away?","accounts_in_message":[],"_revision_number":1},{"id":"b4b252e1b5093b422b7b3dc65a7b2ac7fe02c9cb","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2011-12-29 18:22:43.000000000","message":"Patch Set 1:\n\nSmokeStack Results (patch set 1):\n\tUnit Failed:Keystone pep8 failed.  http://smokestack.openstack.org/?go\u003d/jobs/7446\n\tLibvirt Success: http://smokestack.openstack.org/?go\u003d/jobs/7444\n\tXenServer Success: http://smokestack.openstack.org/?go\u003d/jobs/7445","accounts_in_message":[],"_revision_number":1},{"id":"7f92d8033923b53ea3194f8127395b337f02886c","author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"date":"2011-12-29 18:49:45.000000000","message":"Patch Set 1: (18 inline comments)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"30744698950a544184a9d4dfd9b444e4701c22ca","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2011-12-29 18:53:51.000000000","message":"Patch Set 1:\n\nI also echo the sentiments of Yogeshwar Srikrishnan. Looking at the code, lets take keystone/logic/service.py for example, it seems like some of the methods such as has_admin_role(), has_service_admin_role(), etc were moved out of IdentityService  class then got moved back in. There got to be very good reasons for doing this. I really don\u0027t want to get stuck in the perpetual merging game. :)","accounts_in_message":[],"_revision_number":1},{"id":"1d2bbd1aaeeb14ee4294d643f62d5ca2af16e535","author":{"_account_id":1322,"name":"Carlos Marin","username":"carlos-marin-d","inactive":true},"date":"2011-12-29 20:15:15.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":1},{"id":"c139add80f01656020d887d186bd6bb2938d4097","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-29 20:45:39.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"d876c9f2fb89e1b3f288ab9abde880b56ef3e55f","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-29 21:11:12.000000000","message":"Patch Set 1: (18 inline comments)\n\nUpdating in next patch","accounts_in_message":[],"_revision_number":1},{"id":"d8549f174da786d01392a02d92b2d161df15ef40","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-29 21:22:37.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"410556324f331339ea89003434de4568110844a1","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-29 21:26:36.000000000","message":"Patch Set 3: Looks good to me (core reviewer)\n\nAnswering Yogi and Guang -\n\nWhat we\u0027re doing is trying to isolate the backend code to make it easier to write, replace, and import backends. Right now, there are too many levels of indirection and the use of a lot of global variables throughout the code base to access the backends.\n\nSee the links in the blueprints (keystone-refactor-backend and refactor-keystone-models) for examples of what we are moving towards.","accounts_in_message":[],"_revision_number":3},{"id":"7483f1bf30fcd938a8c7c2d2b1f5b30b7ce733b0","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-29 21:31:21.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"5194eaf4e7ec1395f7d77f52c1b04723408b1ff0","author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"date":"2011-12-29 21:32:59.000000000","message":"Patch Set 4: Looks good to me (core reviewer)\n\nI think i\u0027ll get clarity once all the refactorings are done in its entirety.Approving.","accounts_in_message":[],"_revision_number":4},{"id":"8eab8fa15360a11bde00da8955d7cd4161783a73","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2011-12-29 21:34:22.000000000","message":"Patch Set 4: I would prefer that you didn\u0027t submit this\n\nZiad,\n\nI\u0027m seeing errors with this branch:\n\n---- Begin output of /usr/bin/keystone-manage role add Admin nova ----\nSTDOUT: ERROR: \u0027NoneType\u0027 object has no attribute \u0027id\u0027\nSTDERR: keystone.backends.sqlalchemy: INFO     Initializing sqlalchemy backend: sqlite:////var/lib/keystone/keystone.sqlite\nroot        : WARNING  Database (sqlite:////var/lib/keystone/keystone.sqlite) is not version controlled;run `keystone-manage database sync`\npasslib.registry: INFO     registered crypt handler \u0027sha512_crypt\u0027: \u003cclass \u0027passlib.handlers.sha2_crypt.sha512_crypt\u0027\u003e\nkeystone.manage: ERROR    \u0027NoneType\u0027 object has no attribute \u0027id\u0027\nTraceback (most recent call last):\n  File \"/usr/bin/keystone-manage\", line 18, in \u003cmodule\u003e\n    keystone.manage.main()\n  File \"/usr/lib/python2.7/dist-packages/keystone/manage/__init__.py\", line 485, in main\n    raise exc\nAttributeError: \u0027NoneType\u0027 object has no attribute \u0027id\u0027","accounts_in_message":[],"_revision_number":4},{"id":"eed81d142b50078313c05708a1a2b4f0dd89a0a4","author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"date":"2011-12-29 22:28:33.000000000","message":"Patch Set 4: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":4},{"id":"91f3228490f9c41edf6fad85e1233fd9024ee183","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2011-12-29 23:37:41.000000000","message":"Patch Set 4:\n\nSmokeStack Results (patch set 4):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/7485\n\tLibvirt Failed:Chef client timeout. http://smokestack.openstack.org/?go\u003d/jobs/7483\n\tXenServer Failed:Hit by Torpedo. http://smokestack.openstack.org/?go\u003d/jobs/7484","accounts_in_message":[],"_revision_number":4},{"id":"012f8d949e4e7390d07405dfdd0332b68e2f78d2","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2011-12-30 01:22:05.000000000","message":"Patch Set 4: Looks good to me, but someone else must approve\n\nHi Ziad,\n\nThe Attribute error I mentioned before occurred because my setup script added a role with an associated service before that service had been created. I re-ordered them (as they should have been in the first place) and this seems to work fine.\n\nSorry for the confusion.","accounts_in_message":[],"_revision_number":4},{"id":"f07ce60fa98318f9715ee0131792567b0bf657e7","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-30 05:52:59.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"31a8a35cb64c8b17b08bcb59771d2eba62fdd042","author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"date":"2011-12-30 05:55:08.000000000","message":"Patch Set 5: Looks good to me (core reviewer); Approved\n\nDan - I added tests for keystone-manage (Dolph is also working on a rewrite, but I put something together to check it). I was getting your error as well, so not sure how it ended up working on your end. I think it was broken, but should be fine now.","accounts_in_message":[],"_revision_number":5},{"id":"55acee037b1757f8dbd88b9c6ac23c75c87809d8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2011-12-30 06:04:48.000000000","message":"Patch Set 5: Verified\n\nBuild Successful \n \nhttps://jenkins.openstack.org/job/gate-keystone-json/130/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-keystone-pep8/640/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-keystone-pylint/716/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-keystone-unittests/201/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-keystone-merge/599/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"25c3adad96df059f86bfcb8e1b276be0f2f4a337","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2011-12-30 06:04:49.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":5},{"id":"59f735c323ce72e017e733a4c24b364e004d6687","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2011-12-30 14:28:41.000000000","message":"Patch Set 5:\n\nZiad.\n\nI got it working by creating services before adding the roles (with the associated services). See this commit:\n\nhttps://github.com/openstack/openstack-chef/commit/47aa64f843477c89df63b07f7bdf09959599754c","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"96e9a6ab1b03fc2c1e9bf2f64055f92f2b639397","revisions":{"6cac9a436135a40835bb1d747c0382cc42e2aca3":{"kind":"REWORK","_number":1,"created":"2011-12-29 16:22:20.000000000","uploader":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"ref":"refs/changes/74/2674/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/74/2674/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/74/2674/1"}}},"commit":{"parents":[{"commit":"3f2b53586ca804115d8cf91e43f63ec7a300e82c","subject":"Bug #909255: Endpoint handling broken on SQL backend by portable-identifiers changes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3f2b53586ca804115d8cf91e43f63ec7a300e82c"}]}],"author":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-28 08:11:27.000000000","tz":-360},"committer":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-29 16:15:02.000000000","tz":-360},"subject":"Refactor models and backends","message":"Refactor models and backends\n\nBlueprints:\n  bp keystone-refactor-backend\n  bp refactor-keystone-models\n\nThis is a combination of 9 commits. Originals\nhere: github.com/ziadsawalha/keystone/commits/models\n\nMove token calls in service.py to managers.token\n- removed direct backend calls from service.py to token backend\n- implementing blueprint keystone-refactor-backend\n\nRefactor: move tenant calls to managers.tenant\n- Not all calls removed yet\n\nImplement models.Service in backends\n- Adding functionality needed to models.Role\n- Using models.Service in sqlalchemy.service\n- additional serialization changes and tests.\n\nImplement models.service\n- remove logic.types.service:Service class\n\nImplement user.manager\n- remove direct backend calls to api.USER from service.py\n\nRemove user_get_update from backend API\n- No idea why that is there. It seems to be a\n  duplicate of plain get.\n\nBackend updates\n- Document some user APIs\n- Update user.check_password to take user ID and password only\n- Implement more user.manager calls in service.py\n- remove user.delete_ternant_user call (probably existed when\n  we had the concept of users under tenants\n\nCompleted moving api.USER to user_manager in service.py\n- Completed remove of api.USER\n- Additional backend API documentation\n\nRemoved logic.types.service\n- Completed moving to models.Service(s)\n- Added basic test module for models.Services\n- pep8/pylint cleanup\n\nChange-Id: Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/6cac9a436135a40835bb1d747c0382cc42e2aca3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/6cac9a436135a40835bb1d747c0382cc42e2aca3"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"3f2b53586ca804115d8cf91e43f63ec7a300e82c","is_merged_in_target_branch":true,"change_id":"Ia036bf310d48f8f8aa5739cb3e09d1f7364ad1a4","change_number":2645,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"ab03ce1d086656349fdffeecdb66bf8d9ecc756b":{"kind":"REWORK","_number":2,"created":"2011-12-29 20:45:39.000000000","uploader":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"ref":"refs/changes/74/2674/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/74/2674/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/74/2674/2"}}},"commit":{"parents":[{"commit":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","subject":"Merge \"Add HP-IDM extension to fix Bug 890411\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2"}]}],"author":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-28 08:11:27.000000000","tz":-360},"committer":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-29 20:45:29.000000000","tz":-360},"subject":"Refactor models and backends","message":"Refactor models and backends\n\nBlueprints:\n  bp keystone-refactor-backend\n  bp refactor-keystone-models\n\nThis is a combination of 9 commits. Originals\nhere: github.com/ziadsawalha/keystone/commits/models\n\nMove token calls in service.py to managers.token\n- removed direct backend calls from service.py to token backend\n- implementing blueprint keystone-refactor-backend\n\nRefactor: move tenant calls to managers.tenant\n- Not all calls removed yet\n\nImplement models.Service in backends\n- Adding functionality needed to models.Role\n- Using models.Service in sqlalchemy.service\n- additional serialization changes and tests.\n\nImplement models.service\n- remove logic.types.service:Service class\n\nImplement user.manager\n- remove direct backend calls to api.USER from service.py\n\nRemove user_get_update from backend API\n- No idea why that is there. It seems to be a\n  duplicate of plain get.\n\nBackend updates\n- Document some user APIs\n- Update user.check_password to take user ID and password only\n- Implement more user.manager calls in service.py\n- remove user.delete_ternant_user call (probably existed when\n  we had the concept of users under tenants\n\nCompleted moving api.USER to user_manager in service.py\n- Completed remove of api.USER\n- Additional backend API documentation\n\nRemoved logic.types.service\n- Completed moving to models.Service(s)\n- Added basic test module for models.Services\n- pep8/pylint cleanup\n\nChange-Id: Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ab03ce1d086656349fdffeecdb66bf8d9ecc756b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ab03ce1d086656349fdffeecdb66bf8d9ecc756b"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"50b631887e5e91b0ce9c656af6cf7d194b265a14":{"kind":"REWORK","_number":3,"created":"2011-12-29 21:22:37.000000000","uploader":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"ref":"refs/changes/74/2674/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/74/2674/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/74/2674/3"}}},"commit":{"parents":[{"commit":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","subject":"Merge \"Add HP-IDM extension to fix Bug 890411\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2"}]}],"author":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-28 08:11:27.000000000","tz":-360},"committer":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-29 21:22:19.000000000","tz":-360},"subject":"Refactor models and backends","message":"Refactor models and backends\n\nBlueprints:\n  bp keystone-refactor-backend\n  bp refactor-keystone-models\n\nThis is a combination of 9 commits. Originals\nhere: github.com/ziadsawalha/keystone/commits/models\n\nMove token calls in service.py to managers.token\n- removed direct backend calls from service.py to token backend\n- implementing blueprint keystone-refactor-backend\n\nRefactor: move tenant calls to managers.tenant\n- Not all calls removed yet\n\nImplement models.Service in backends\n- Adding functionality needed to models.Role\n- Using models.Service in sqlalchemy.service\n- additional serialization changes and tests.\n\nImplement models.service\n- remove logic.types.service:Service class\n\nImplement user.manager\n- remove direct backend calls to api.USER from service.py\n\nRemove user_get_update from backend API\n- No idea why that is there. It seems to be a\n  duplicate of plain get.\n\nBackend updates\n- Document some user APIs\n- Update user.check_password to take user ID and password only\n- Implement more user.manager calls in service.py\n- remove user.delete_ternant_user call (probably existed when\n  we had the concept of users under tenants\n\nCompleted moving api.USER to user_manager in service.py\n- Completed remove of api.USER\n- Additional backend API documentation\n\nRemoved logic.types.service\n- Completed moving to models.Service(s)\n- Added basic test module for models.Services\n- pep8/pylint cleanup\n\nChange-Id: Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/50b631887e5e91b0ce9c656af6cf7d194b265a14"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/50b631887e5e91b0ce9c656af6cf7d194b265a14"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"544beab6fc6fbfdef0f3bf7ec51482a2250f8ac5":{"kind":"REWORK","_number":4,"created":"2011-12-29 21:31:21.000000000","uploader":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"ref":"refs/changes/74/2674/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/74/2674/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/74/2674/4"}}},"commit":{"parents":[{"commit":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","subject":"Merge \"Add HP-IDM extension to fix Bug 890411\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2"}]}],"author":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-28 08:11:27.000000000","tz":-360},"committer":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-29 21:31:08.000000000","tz":-360},"subject":"Refactor models and backends","message":"Refactor models and backends\n\nBlueprints:\n  bp keystone-refactor-backend\n  bp refactor-keystone-models\n\nThis is a combination of 9 commits. Originals\nhere: github.com/ziadsawalha/keystone/commits/models\n\nMove token calls in service.py to managers.token\n- removed direct backend calls from service.py to token backend\n- implementing blueprint keystone-refactor-backend\n\nRefactor: move tenant calls to managers.tenant\n- Not all calls removed yet\n\nImplement models.Service in backends\n- Adding functionality needed to models.Role\n- Using models.Service in sqlalchemy.service\n- additional serialization changes and tests.\n\nImplement models.service\n- remove logic.types.service:Service class\n\nImplement user.manager\n- remove direct backend calls to api.USER from service.py\n\nRemove user_get_update from backend API\n- No idea why that is there. It seems to be a\n  duplicate of plain get.\n\nBackend updates\n- Document some user APIs\n- Update user.check_password to take user ID and password only\n- Implement more user.manager calls in service.py\n- remove user.delete_ternant_user call (probably existed when\n  we had the concept of users under tenants\n\nCompleted moving api.USER to user_manager in service.py\n- Completed remove of api.USER\n- Additional backend API documentation\n\nRemoved logic.types.service\n- Completed moving to models.Service(s)\n- Added basic test module for models.Services\n- pep8/pylint cleanup\n\nChange-Id: Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/544beab6fc6fbfdef0f3bf7ec51482a2250f8ac5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/544beab6fc6fbfdef0f3bf7ec51482a2250f8ac5"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"96e9a6ab1b03fc2c1e9bf2f64055f92f2b639397":{"kind":"REWORK","_number":5,"created":"2011-12-30 05:52:59.000000000","uploader":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"ref":"refs/changes/74/2674/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/74/2674/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/74/2674/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/74/2674/5"}}},"commit":{"parents":[{"commit":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","subject":"Merge \"Add HP-IDM extension to fix Bug 890411\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2"}]}],"author":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-28 08:11:27.000000000","tz":-360},"committer":{"name":"Ziad Sawalha","email":"github@highbridgellc.com","date":"2011-12-30 05:51:32.000000000","tz":-360},"subject":"Refactor models and backends","message":"Refactor models and backends\n\nBlueprints:\n  bp keystone-refactor-backend\n  bp refactor-keystone-models\n\nThis is a combination of 9 commits. Originals\nhere: github.com/ziadsawalha/keystone/commits/models\n\nMove token calls in service.py to managers.token\n- removed direct backend calls from service.py to token backend\n- implementing blueprint keystone-refactor-backend\n\nRefactor: move tenant calls to managers.tenant\n- Not all calls removed yet\n\nImplement models.Service in backends\n- Adding functionality needed to models.Role\n- Using models.Service in sqlalchemy.service\n- additional serialization changes and tests.\n\nImplement models.service\n- remove logic.types.service:Service class\n\nImplement user.manager\n- remove direct backend calls to api.USER from service.py\n\nRemove user_get_update from backend API\n- No idea why that is there. It seems to be a\n  duplicate of plain get.\n\nBackend updates\n- Document some user APIs\n- Update user.check_password to take user ID and password only\n- Implement more user.manager calls in service.py\n- remove user.delete_ternant_user call (probably existed when\n  we had the concept of users under tenants\n\nCompleted moving api.USER to user_manager in service.py\n- Completed remove of api.USER\n- Additional backend API documentation\n\nRemoved logic.types.service\n- Completed moving to models.Service(s)\n- Added basic test module for models.Services\n- pep8/pylint cleanup\n\nAdded keystone-manage tests\n\nChange-Id: Ife3e95974ab63c1c3a5999fd1ac558a3ef77e5ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/96e9a6ab1b03fc2c1e9bf2f64055f92f2b639397"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/96e9a6ab1b03fc2c1e9bf2f64055f92f2b639397"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"e99ff4e9ebbd2e9dc5db8e58cd2a4b89568b8ab2","is_merged_in_target_branch":true}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
