)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"f3cf03ea3b2222f714d91d2de207f3ddcc270ccc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"https://review.openstack.org/#/c/63779"},{"line_number":11,"context_line":"(check resources are in expected state)"},{"line_number":12,"context_line":"and"},{"line_number":13,"context_line":"https://review.openstack.org/#/c/58641"},{"line_number":14,"context_line":"(cancel stack update)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ic919e1a639e0a3977fc516ddda74431d7ab9444f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAUH%2F9px0%3D","line":13,"updated":"2014-02-05 10:28:59.000000000","message":"These links are the wrong way round","commit_id":"efe7287deaf2c415b1b79d82683505075160472d"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"e19266867ee3d5f9413614a10a7c01432bce7192","unresolved":false,"context_lines":[{"line_number":10,"context_line":"https://review.openstack.org/#/c/63779"},{"line_number":11,"context_line":"(check resources are in expected state)"},{"line_number":12,"context_line":"and"},{"line_number":13,"context_line":"https://review.openstack.org/#/c/58641"},{"line_number":14,"context_line":"(cancel stack update)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ic919e1a639e0a3977fc516ddda74431d7ab9444f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAUH%2F9ptc%3D","line":13,"in_reply_to":"AAAAUH%2F9px0%3D","updated":"2014-02-05 10:41:08.000000000","message":"Done","commit_id":"efe7287deaf2c415b1b79d82683505075160472d"}],"heatclient/v1/shell.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"f3cf03ea3b2222f714d91d2de207f3ddcc270ccc","unresolved":false,"context_lines":[{"line_number":213,"context_line":"def do_stack_update(hc, args):"},{"line_number":214,"context_line":"    \u0027\u0027\u0027Update the stack.\u0027\u0027\u0027"},{"line_number":215,"context_line":"    fields \u003d {\u0027stack_id\u0027: args.id}"},{"line_number":216,"context_line":"    if args.update_type !\u003d \u0027normal\u0027:"},{"line_number":217,"context_line":"        fields[\u0027update_type\u0027] \u003d args.update_type"},{"line_number":218,"context_line":"    else:"},{"line_number":219,"context_line":"        files, env \u003d template_utils.process_environment_and_files("}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9px8%3D","line":216,"updated":"2014-02-05 10:28:59.000000000","message":"Why not just omit the default and do if args.update_type?","commit_id":"efe7287deaf2c415b1b79d82683505075160472d"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"e19266867ee3d5f9413614a10a7c01432bce7192","unresolved":false,"context_lines":[{"line_number":213,"context_line":"def do_stack_update(hc, args):"},{"line_number":214,"context_line":"    \u0027\u0027\u0027Update the stack.\u0027\u0027\u0027"},{"line_number":215,"context_line":"    fields \u003d {\u0027stack_id\u0027: args.id}"},{"line_number":216,"context_line":"    if args.update_type !\u003d \u0027normal\u0027:"},{"line_number":217,"context_line":"        fields[\u0027update_type\u0027] \u003d args.update_type"},{"line_number":218,"context_line":"    else:"},{"line_number":219,"context_line":"        files, env \u003d template_utils.process_environment_and_files("}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9pss%3D","line":216,"in_reply_to":"AAAAUH%2F9px8%3D","updated":"2014-02-05 10:41:08.000000000","message":"That was my original idea, but then I thought it might be better for shell scripting to have an explicit default value that could be supplied via command line. Will change it back though, no big deal.","commit_id":"efe7287deaf2c415b1b79d82683505075160472d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c8b06ca8ddf1546ca84d65c7d572cf1e0b41e569","unresolved":false,"context_lines":[{"line_number":297,"context_line":"           help\u003d\u0027Stack update timeout in minutes.\u0027)"},{"line_number":298,"context_line":"@utils.arg(\u0027--update-type\u0027, metavar\u003d\u0027\u003cUPDATE_TYPE\u003e\u0027,"},{"line_number":299,"context_line":"           type\u003dstr,"},{"line_number":300,"context_line":"           help\u003d\"Type of the update call. Defaults to standard update.\")"},{"line_number":301,"context_line":"@utils.arg(\u0027-P\u0027, \u0027--parameters\u0027, metavar\u003d\u0027\u003cKEY1\u003dVALUE1;KEY2\u003dVALUE2...\u003e\u0027,"},{"line_number":302,"context_line":"           help\u003d\u0027Parameter values used to create the stack. \u0027"},{"line_number":303,"context_line":"           \u0027This can be specified multiple times, or once with parameters \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad9bd40_bb050bc4","line":300,"updated":"2014-04-30 21:22:59.000000000","message":"This needs to detail every current known update-type which can be specified.","commit_id":"3946a7222248ed851534f78fa3230a4811e017a6"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"fe9b36b468b1b93bcce7647b903f4527dae7fba6","unresolved":false,"context_lines":[{"line_number":297,"context_line":"           help\u003d\u0027Stack update timeout in minutes.\u0027)"},{"line_number":298,"context_line":"@utils.arg(\u0027--update-type\u0027, metavar\u003d\u0027\u003cUPDATE_TYPE\u003e\u0027,"},{"line_number":299,"context_line":"           type\u003dstr,"},{"line_number":300,"context_line":"           help\u003d\"Type of the update call. Defaults to standard update.\")"},{"line_number":301,"context_line":"@utils.arg(\u0027-P\u0027, \u0027--parameters\u0027, metavar\u003d\u0027\u003cKEY1\u003dVALUE1;KEY2\u003dVALUE2...\u003e\u0027,"},{"line_number":302,"context_line":"           help\u003d\u0027Parameter values used to create the stack. \u0027"},{"line_number":303,"context_line":"           \u0027This can be specified multiple times, or once with parameters \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad9bd40_6c9abd64","line":300,"in_reply_to":"9ad9bd40_bb050bc4","updated":"2014-05-02 18:05:48.000000000","message":"I\u0027ll add \u0027check\u0027 only for now, and update the commit message accordingly (url for reviews have changed).","commit_id":"3946a7222248ed851534f78fa3230a4811e017a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c8b06ca8ddf1546ca84d65c7d572cf1e0b41e569","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    if args.update_type:"},{"line_number":312,"context_line":"        fields \u003d {"},{"line_number":313,"context_line":"            \u0027stack_id\u0027: args.id,"},{"line_number":314,"context_line":"            \u0027update_type\u0027: args.update_type"},{"line_number":315,"context_line":"        }"},{"line_number":316,"context_line":"    else:"},{"line_number":317,"context_line":"        tpl_files, template \u003d template_utils.get_template_contents("}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad9bd40_5b6f9f92","line":314,"updated":"2014-04-30 21:22:59.000000000","message":"This appears to not do any kind of update if update_type is specified.","commit_id":"3946a7222248ed851534f78fa3230a4811e017a6"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"fe9b36b468b1b93bcce7647b903f4527dae7fba6","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    if args.update_type:"},{"line_number":312,"context_line":"        fields \u003d {"},{"line_number":313,"context_line":"            \u0027stack_id\u0027: args.id,"},{"line_number":314,"context_line":"            \u0027update_type\u0027: args.update_type"},{"line_number":315,"context_line":"        }"},{"line_number":316,"context_line":"    else:"},{"line_number":317,"context_line":"        tpl_files, template \u003d template_utils.get_template_contents("}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad9bd40_3283ac57","line":314,"in_reply_to":"9ad9bd40_5b6f9f92","updated":"2014-05-02 18:05:48.000000000","message":"The idea was that as those update types currently being implemented (check and cancel) do not need the template arguments, I either skip the template and send only update_type in the request body, or form the usual full request without update_type.\n\nI could do it the other way - add an explicit check for the value of update_type, so that we can differentiate between those that do not require all the template related stuff (\u0027check\u0027 and \u0027cancel\u0027) and some possible future update_type that needs those template related arguments, and insert update_type in the request body in any case. Would that be better in your opinion?","commit_id":"3946a7222248ed851534f78fa3230a4811e017a6"}]}
