)]}'
{"novaclient/v1_1/shell.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"faf677a8adc2e0bcd59a41f674d9822aaf6ebdd0","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password !\u003d False:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAADH%2F%2F%2Bws%3D","side":"PARENT","line":510,"updated":"2012-01-04 02:03:37.000000000","message":"I\u0027m not sure why the original author did this.\n\nIf there is a reason, please tell me.","commit_id":"c879ee8cc51777ab26fcb4cc6dfc590d77d3598d"},{"author":{"_account_id":1918,"name":"François Charlier","email":"francois.charlier@redhat.com","username":"francois-charlier"},"change_message_id":"2b96f7787fb30a0d3dd9984dd3eaa0a08d8c2ad1","unresolved":false,"context_lines":[{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d None"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    s \u003d server.rebuild(image, _password)"},{"line_number":516,"context_line":"    _print_server(cs, s)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAADH%2F%2F%2Bro%3D","line":513,"updated":"2012-01-04 11:24:02.000000000","message":"It should be :\nif args.rebuild_password:\n    _password \u003d args.rebuild_password\nelse:\n    _password \u003d None","commit_id":"09327f85da9cd4853c7cc011ada95c21f80d26f5"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e09b681169a08561a36a59bc613a17ae01cbffd","unresolved":false,"context_lines":[{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d None"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    s \u003d server.rebuild(image, _password)"},{"line_number":516,"context_line":"    _print_server(cs, s)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAADH%2F%2F%2Brc%3D","line":513,"in_reply_to":"AAAADH%2F%2F%2Bro%3D","updated":"2012-01-04 11:28:27.000000000","message":"My bad,","commit_id":"09327f85da9cd4853c7cc011ada95c21f80d26f5"},{"author":{"_account_id":1801,"name":"Duncan McGreggor","email":"duncan.mcgreggor@rackspace.com","username":"oubiwann"},"change_message_id":"bc3956528a7b801619a3d2e99fd8b41aee82ceca","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADH%2F%2F%2Bgk%3D","line":510,"updated":"2012-01-04 17:27:07.000000000","message":"So.. the only problem I have with this, is that this will fail if:\n * the password is 0\n * the password is an empty string\n\nI don\u0027t know if those are possible, but just thought I should mention it...","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1801,"name":"Duncan McGreggor","email":"duncan.mcgreggor@rackspace.com","username":"oubiwann"},"change_message_id":"f04d5e7872f3af59fda8775e6c1a87fdd6d4159a","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADX%2F%2F%2FxA%3D","line":510,"in_reply_to":"AAAADH%2F%2F%2BRc%3D","updated":"2012-01-06 07:18:22.000000000","message":"sorry, that was a bad typo on my part -- yes, I meant rebuild_password :-/\n\nIs it possible for the value of that to be either 0 or \"\"?","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"6e395c0ab275b87742a383b251d93227bab477fe","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADH%2F%2F%2BRc%3D","line":510,"in_reply_to":"AAAADH%2F%2F%2Bgk%3D","updated":"2012-01-05 00:26:43.000000000","message":"I guess you are referring to \u0027args.rebuild_password\u0027 rather than \u0027_password\u0027.\n\nI think this should change to \"if args.rebuild_password is True\" and strictly verify the value since rebuilding a password is a security issue.\n\nWhat I think the original author wanted was to rebuild the password when --rebuild_password was not False(which is the default value according to line 503).\n\nI don\u0027t why he/she didn\u0027t go for \"\u003d\u003d True\" but if he/she was expecting values other than a boolean yes the logic is different in my patch.\n\nIn the original code, if args.rebuild_password were to be a blank string, it will fall into \u0027if\u0027 case. And if there args.rebuild_password were to be 0, it will fall in to \u0027else\u0027.\n\nIn the new code they both fall in to \u0027else\u0027.\n\nHowevery, this kind of ambiguity must be removed and only work when args.rebuild_password is True.","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a7ce76b8851a603964baec244c761f337fb564dd","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADX%2F%2F%2Fuc%3D","line":510,"in_reply_to":"AAAADX%2F%2F%2FvE%3D","updated":"2012-01-06 12:13:32.000000000","message":"Oh, yeah my bad.\n\nYes I think \"is not False\" is a good idea.\n\nI\u0027ll send a new patch.","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1918,"name":"François Charlier","email":"francois.charlier@redhat.com","username":"francois-charlier"},"change_message_id":"ccf4cad9d38cf96f39a6c2a6430cdf69462778de","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADX%2F%2F%2FvE%3D","line":510,"in_reply_to":"AAAADX%2F%2F%2FvQ%3D","updated":"2012-01-06 10:28:56.000000000","message":"No, no, it *does* come from the command-line, but --rebuild_password is an argument to the \u0027rebuild\u0027 command.\n\n    # nova help rebuild\n    usage: nova rebuild [--rebuild_password \u003crebuild_password\u003e] \u003cserver\u003e \u003cimage\u003e\n    […]\n\nIn the current implementation, if a blank string is given, a blank password is set, this should stay the same. Maybe change the test to :\n\n\n    if args.rebuild_password is not False:","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"0c22e6aac533469d2d29cca53d91860c5a1f8f94","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADX%2F%2F%2FvQ%3D","line":510,"in_reply_to":"AAAADX%2F%2F%2Fvc%3D","updated":"2012-01-06 09:59:09.000000000","message":"Yes, François it seemed possible to come from the command line.\n\nSo I\u0027ve tried it but an error occurs that \"--rebuild_password\" is an unrecognized argument.\n\nEven though we have to keep backward comparability, the previous code will rebuild the password when a blank string is given! (\"\" !\u003d False \u003d\u003d\u003e True)\n\nHowever the new patch rejects even if rebuild_password is given as a blank string. (if \"\" \u003d\u003d\u003e False)\n\n------\n\n(.venv)sae@node2:~/git/python-novaclient$ python -c \"from novaclient import shell; shell.main()\" --rebuild_password list\nusage: nova [--username USERNAME] [--apikey APIKEY] [--password PASSWORD]\n            [--projectid PROJECTID] [--url URL] [--region_name REGION_NAME]\n            [--endpoint_name ENDPOINT_NAME] [--version VERSION]\n            \u003csubcommand\u003e ...\nerror: unrecognized arguments: --rebuild_password\nTry `nova help\u0027 for more information.","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"},{"author":{"_account_id":1918,"name":"François Charlier","email":"francois.charlier@redhat.com","username":"francois-charlier"},"change_message_id":"88a8e6f72f9b606c8887dedf5ea24824b7047884","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    server \u003d _find_server(cs, args.server)"},{"line_number":508,"context_line":"    image \u003d _find_image(cs, args.image)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    if args.rebuild_password:"},{"line_number":511,"context_line":"        _password \u003d args.rebuild_password"},{"line_number":512,"context_line":"    else:"},{"line_number":513,"context_line":"        _password \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAADX%2F%2F%2Fvc%3D","line":510,"in_reply_to":"AAAADX%2F%2F%2FxA%3D","updated":"2012-01-06 09:37:14.000000000","message":"As value comes from command-line, it is a string, the value can\u0027t be 0.\nAn empty string can be passed on command-line with \u0027--rebuild_password \"\"\u0027 and seems to be a valid argument in the current implementation, maybe it should stay the same.","commit_id":"dd25e75e0b895a41ce4d8116ecb84fcbcb11a44f"}]}
