)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"a8de1529bbb6fedfd3cadc06cc099ec7def9bd4f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ionuț Arțăriși \u003ciartarisi@suse.cz\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-09 10:26:12 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"allow a user\u0027s primary tenant to be modified"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a tenant argument to the user-update command making it"},{"line_number":10,"context_line":"possible to change the primary tenant for a user in V2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"baada198_af4ce677","line":7,"updated":"2014-07-09 11:36:49.000000000","message":"Change primary tenant to default tenant.","commit_id":"b970cf2506ba32e619649542632c7966abb23a0a"},{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"45347237394c87b43a6869f52de81cea5d9a4892","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ionuț Arțăriși \u003ciartarisi@suse.cz\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-09 13:46:08 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"allow a user\u0027s primary tenant to be modified"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a tenant argument to the user-update command making it"},{"line_number":10,"context_line":"possible to change the default tenant for a user in V2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"baada198_ef825ec7","line":7,"updated":"2014-07-09 11:58:08.000000000","message":"Change primary to default here as well. :)","commit_id":"6e0d02b07fdac883a435b5ba31dbf08aac9b2777"},{"author":{"_account_id":11387,"name":"Sam Leong","email":"chio-fai-sam.leong@hpe.com","username":"Chioleong"},"change_message_id":"9c465c31663c88ca85cb3af533b73deccad88da4","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2014-05-30 15:36:42 +0200"},{"line_number":4,"context_line":"Commit:     Ionuț Arțăriși \u003ciartarisi@suse.cz\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-09 14:09:48 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"allow a user\u0027s default tenant to be modified"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a tenant argument to the user-update command making it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_73f3db72","line":6,"updated":"2014-07-15 06:41:39.000000000","message":"Allow an user\u0027s ...","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"96f136e0ebde997a5a18ec622ab44b799426ebf2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2014-05-30 15:36:42 +0200"},{"line_number":4,"context_line":"Commit:     Ionuț Arțăriși \u003ciartarisi@suse.cz\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-09 14:09:48 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"allow a user\u0027s default tenant to be modified"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a tenant argument to the user-update command making it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_871d8975","line":6,"in_reply_to":"baada198_73f3db72","updated":"2014-07-15 09:03:57.000000000","message":"No, this is actually correct. \"an\" is used before a word beginning with a vowel *sound*, not a vowel letter. See: http://english.stackexchange.com/questions/105116/is-it-a-user-or-an-user \n\nI can\u0027t believe I\u0027m getting a -1 because of grammar...","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"}],"keystoneclient/v2_0/shell.py":[{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"a0668f652994042025b3a7010496e9cd81329b50","unresolved":false,"context_lines":[{"line_number":110,"context_line":"@utils.arg(\u0027--enabled\u0027, metavar\u003d\u0027\u003ctrue|false\u003e\u0027,"},{"line_number":111,"context_line":"           help\u003d\u0027Enable or disable user.\u0027)"},{"line_number":112,"context_line":"@utils.arg(\u0027--tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Primary project (tenant).\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"},{"line_number":116,"context_line":"    \"\"\"Update a user\u0027s name, email, tenant and enabled status.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_29ba436e","line":113,"updated":"2014-06-10 18:44:33.000000000","message":"To keep it consistent, the help should have the word \u0027Desired\" in it.","commit_id":"cc317256ab899f0b3475880454b7d583128a7192"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"83e5fef13bd163a90a810b25fd9e63f70c2435fe","unresolved":false,"context_lines":[{"line_number":110,"context_line":"@utils.arg(\u0027--enabled\u0027, metavar\u003d\u0027\u003ctrue|false\u003e\u0027,"},{"line_number":111,"context_line":"           help\u003d\u0027Enable or disable user.\u0027)"},{"line_number":112,"context_line":"@utils.arg(\u0027--tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Primary project (tenant).\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"},{"line_number":116,"context_line":"    \"\"\"Update a user\u0027s name, email, tenant and enabled status.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_47446a46","line":113,"in_reply_to":"1ae5cdf2_29ba436e","updated":"2014-06-13 14:03:02.000000000","message":"That\u0027s silly, but I see no one else is reviewing this so fine...","commit_id":"cc317256ab899f0b3475880454b7d583128a7192"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"cfcbecbb5757e5b16aeb799ce38d743d52b4ad9b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"           help\u003d\u0027Desired new email address.\u0027)"},{"line_number":110,"context_line":"@utils.arg(\u0027--enabled\u0027, metavar\u003d\u0027\u003ctrue|false\u003e\u0027,"},{"line_number":111,"context_line":"           help\u003d\u0027Enable or disable user.\u0027)"},{"line_number":112,"context_line":"@utils.arg(\u0027--tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Desired primary project (tenant).\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_e7cbb650","line":112,"updated":"2014-06-13 14:17:47.000000000","message":"This is a bit of an overreach.  --default-tenant would make more sense.","commit_id":"7214ec6a5dc894f7509149cb677694714cc9da5b"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"e6c413d926c70a165b2c876dbdc219100e124b44","unresolved":false,"context_lines":[{"line_number":109,"context_line":"           help\u003d\u0027Desired new email address.\u0027)"},{"line_number":110,"context_line":"@utils.arg(\u0027--enabled\u0027, metavar\u003d\u0027\u003ctrue|false\u003e\u0027,"},{"line_number":111,"context_line":"           help\u003d\u0027Enable or disable user.\u0027)"},{"line_number":112,"context_line":"@utils.arg(\u0027--tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Desired primary project (tenant).\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_aed4fabd","line":112,"in_reply_to":"1ae5cdf2_e7cbb650","updated":"2014-06-16 09:26:02.000000000","message":"That would make it different from the argument to the user create command when in fact the behavior is the same. Is that what we want?\n\nIf we want to change the other one, too, then that would be outside the scope of this commit IMHO.","commit_id":"7214ec6a5dc894f7509149cb677694714cc9da5b"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"0155244db8cb448383d544631f8f217b7fccbe0d","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    user \u003d utils.find_resource(kc.users, args.user)"},{"line_number":130,"context_line":"    if args.tenant:"},{"line_number":131,"context_line":"        tenant \u003d utils.find_resource(kc.tenants, args.tenant)"},{"line_number":132,"context_line":"        try:"},{"line_number":133,"context_line":"            kc.users.update_tenant(user, tenant)"},{"line_number":134,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_7ee0c496","line":131,"updated":"2014-06-16 20:07:02.000000000","message":"What about the case where the user is already part of the tenant?  Is there any value in updating user with the same tenant?","commit_id":"7214ec6a5dc894f7509149cb677694714cc9da5b"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"2593f47cb9886795963b6361e8ca9de1ff1bf6ec","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    user \u003d utils.find_resource(kc.users, args.user)"},{"line_number":130,"context_line":"    if args.tenant:"},{"line_number":131,"context_line":"        tenant \u003d utils.find_resource(kc.tenants, args.tenant)"},{"line_number":132,"context_line":"        try:"},{"line_number":133,"context_line":"            kc.users.update_tenant(user, tenant)"},{"line_number":134,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_69c8fe56","line":131,"in_reply_to":"1ae5cdf2_7ee0c496","updated":"2014-06-17 08:08:13.000000000","message":"I think that\u0027s really outside the scope of this commit. That case should be handled at the library level. I\u0027m not implementing updating tenants, that\u0027s already done in keystoneclient/v2_0/users.py . This commit is about changing the cli interface to match the library, not enhancing the library. If the library will raise an error, then the try/except block bellow will catch it and display it to the user.\n\nI\u0027d be happy to do it in a separate commit once this gets in, however.","commit_id":"7214ec6a5dc894f7509149cb677694714cc9da5b"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"70535e749895227795cafed90d862f90ce8d0b2f","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    if args.tenant:"},{"line_number":131,"context_line":"        tenant \u003d utils.find_resource(kc.tenants, args.tenant)"},{"line_number":132,"context_line":"        try:"},{"line_number":133,"context_line":"            kc.users.update_tenant(user, tenant)"},{"line_number":134,"context_line":"        except Exception as e:"},{"line_number":135,"context_line":"            print(\u0027Unable to update user\\\u0027s primary tenant: %s\u0027 % e)"},{"line_number":136,"context_line":"    if kwargs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_9adc5075","line":133,"updated":"2014-07-03 21:26:16.000000000","message":"This is interesting. Won\u0027t adding \u0027tenantId to the kwargs passed to update work? I\u0027m not suggesting a change - I\u0027m just curious.","commit_id":"7214ec6a5dc894f7509149cb677694714cc9da5b"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"d16754fc796480361269af917e114047597d0d35","unresolved":false,"context_lines":[{"line_number":112,"context_line":"@utils.arg(\u0027--default-tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027, dest\u003d\u0027tenant\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Desired default tenant.\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"},{"line_number":116,"context_line":"    \"\"\"Update a user\u0027s name, email, tenant and enabled status.\"\"\""},{"line_number":117,"context_line":"    kwargs \u003d {}"},{"line_number":118,"context_line":"    if args.name:"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_6665dead","line":115,"updated":"2014-07-15 04:43:43.000000000","message":"I would move user tenant update its own test and name it as such.  For example, a new test called do_user_tenant_update(...)","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"96f136e0ebde997a5a18ec622ab44b799426ebf2","unresolved":false,"context_lines":[{"line_number":112,"context_line":"@utils.arg(\u0027--default-tenant\u0027, metavar\u003d\u0027\u003ctenant\u003e\u0027, dest\u003d\u0027tenant\u0027,"},{"line_number":113,"context_line":"           help\u003d\u0027Desired default tenant.\u0027)"},{"line_number":114,"context_line":"@utils.arg(\u0027user\u0027, metavar\u003d\u0027\u003cuser\u003e\u0027, help\u003d\u0027Name or ID of user to update.\u0027)"},{"line_number":115,"context_line":"def do_user_update(kc, args):"},{"line_number":116,"context_line":"    \"\"\"Update a user\u0027s name, email, tenant and enabled status.\"\"\""},{"line_number":117,"context_line":"    kwargs \u003d {}"},{"line_number":118,"context_line":"    if args.name:"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_47de11db","line":115,"in_reply_to":"baada198_6665dead","updated":"2014-07-15 09:03:57.000000000","message":"What test? This is the command implementation. It\u0027s meant to have roughly the same interface as the user-create command.","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"855ac989d26554ddff23b448899f9f7a5fe0e6b8","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        return"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    user \u003d utils.find_resource(kc.users, args.user)"},{"line_number":130,"context_line":"    if args.tenant:"},{"line_number":131,"context_line":"        tenant \u003d utils.find_resource(kc.tenants, args.tenant)"},{"line_number":132,"context_line":"        try:"},{"line_number":133,"context_line":"            kc.users.update_tenant(user, tenant)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_49a55ca0","line":130,"updated":"2014-07-14 19:53:15.000000000","message":"Is it possible to just use the kc.users.update() call to update the default project id or do you have to make a separate call to kc.users.update_tenant?","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"96f136e0ebde997a5a18ec622ab44b799426ebf2","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        return"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    user \u003d utils.find_resource(kc.users, args.user)"},{"line_number":130,"context_line":"    if args.tenant:"},{"line_number":131,"context_line":"        tenant \u003d utils.find_resource(kc.tenants, args.tenant)"},{"line_number":132,"context_line":"        try:"},{"line_number":133,"context_line":"            kc.users.update_tenant(user, tenant)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_677b15f5","line":130,"in_reply_to":"baada198_49a55ca0","updated":"2014-07-15 09:03:57.000000000","message":"No, it\u0027s not possible. Otherwise I wouldn\u0027t be doing this.","commit_id":"fb840bf469560307627bf214f61229c64d6dd6ca"}]}
