)]}'
{"ironic/common/utils.py":[{"author":{"_account_id":10288,"name":"Aleksey","email":"alexz.kh.ua@gmail.com","username":"alexz"},"change_message_id":"6c74886bb1501b932d67eb0caa371cd9127685e7","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    else:"},{"line_number":475,"context_line":"        tmpl_name \u003d \u0027template\u0027"},{"line_number":476,"context_line":"        loader \u003d jinja2.DictLoader({tmpl_name: template})"},{"line_number":477,"context_line":"    env \u003d jinja2.Environment(loader\u003dloader, autoescape\u003dTrue)"},{"line_number":478,"context_line":"    tmpl \u003d env.get_template(tmpl_name)"},{"line_number":479,"context_line":"    return tmpl.render(params, enumerate\u003denumerate)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_dd0af51d","line":477,"range":{"start_line":477,"start_character":43,"end_line":477,"end_character":59},"updated":"2020-04-01 17:56:03.000000000","message":"those totally broke cmdline option-passing:\nsince sonvert \u0027\"\u0027 into  \u0027\u0026#34\u0027 \u003e\n...\nkernel no_kernel root\u003d{{ ROOT }} ro text sshkey\u003d\u0026#34;ssh-rsa asdwqe2\u0026#34;\n....","commit_id":"bffb075d200d643fa856ed958f1951378261f3c3"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"c03f0078365b2d8575e4845f5ada8672e35a7980","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    else:"},{"line_number":475,"context_line":"        tmpl_name \u003d \u0027template\u0027"},{"line_number":476,"context_line":"        loader \u003d jinja2.DictLoader({tmpl_name: template})"},{"line_number":477,"context_line":"    env \u003d jinja2.Environment(loader\u003dloader, autoescape\u003dTrue)"},{"line_number":478,"context_line":"    tmpl \u003d env.get_template(tmpl_name)"},{"line_number":479,"context_line":"    return tmpl.render(params, enumerate\u003denumerate)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_6fede2b5","line":477,"range":{"start_line":477,"start_character":43,"end_line":477,"end_character":59},"in_reply_to":"df33271e_0f0ed6e3","updated":"2020-04-02 05:46:28.000000000","message":"fixing it in https://review.opendev.org/#/c/716845/","commit_id":"bffb075d200d643fa856ed958f1951378261f3c3"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"2208ac078416fa63c9ae3c30b97ee0d8c02a93ec","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    else:"},{"line_number":475,"context_line":"        tmpl_name \u003d \u0027template\u0027"},{"line_number":476,"context_line":"        loader \u003d jinja2.DictLoader({tmpl_name: template})"},{"line_number":477,"context_line":"    env \u003d jinja2.Environment(loader\u003dloader, autoescape\u003dTrue)"},{"line_number":478,"context_line":"    tmpl \u003d env.get_template(tmpl_name)"},{"line_number":479,"context_line":"    return tmpl.render(params, enumerate\u003denumerate)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_0f0ed6e3","line":477,"range":{"start_line":477,"start_character":43,"end_line":477,"end_character":59},"in_reply_to":"df33271e_76f7835a","updated":"2020-04-02 05:05:49.000000000","message":"@kaifeng, the way I read the docs\nhttps://jinja.palletsprojects.com/en/2.10.x/api/#autoescaping\n\none must explicitly use\n\n  autoescape\u003dselect_autoescape()\n\nwhen declaring the environment for this to be enabled only for html and such docs. We in this line however explicitly enable it - for everything.\n\nWhat breaks is any attempt to pass a kernel param that e.g. might need quotes (like URL that may contain \u003d), and so when one sets smth like in ironic.conf:\n\n  pxe_append_params \u003d url\u003d\"http://foo.bar\"\n\nit is now rendered to\n\n  url\u003d\u0026#34;http://foo.bar\u0026#34;\n\nand fail to be parsed by kernel","commit_id":"bffb075d200d643fa856ed958f1951378261f3c3"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"a966a0ef6e491178719138e7c4e9dd6b5612c94f","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    else:"},{"line_number":475,"context_line":"        tmpl_name \u003d \u0027template\u0027"},{"line_number":476,"context_line":"        loader \u003d jinja2.DictLoader({tmpl_name: template})"},{"line_number":477,"context_line":"    env \u003d jinja2.Environment(loader\u003dloader, autoescape\u003dTrue)"},{"line_number":478,"context_line":"    tmpl \u003d env.get_template(tmpl_name)"},{"line_number":479,"context_line":"    return tmpl.render(params, enumerate\u003denumerate)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_76f7835a","line":477,"range":{"start_line":477,"start_character":43,"end_line":477,"end_character":59},"in_reply_to":"df33271e_dd0af51d","updated":"2020-04-02 01:01:25.000000000","message":"Hi Aleksey, this is strange, according to jinja doc, it only escapes xml/html template by default, our pxe templates are not those so in theory shouldn\u0027t be infected. Could you provide more information on the case?","commit_id":"bffb075d200d643fa856ed958f1951378261f3c3"}],"ironic/conf/default.py":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"ad404598da3dfdb75522af788f789e27195e7158","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                      \u0027running commands as root.\u0027)),"},{"line_number":337,"context_line":"    cfg.StrOpt(\u0027tempdir\u0027,"},{"line_number":338,"context_line":"               default\u003dtempfile.gettempdir(),"},{"line_number":339,"context_line":"               sample_default\u003dtempfile.gettempdir(),"},{"line_number":340,"context_line":"               help\u003d_(\u0027Temporary working directory, default is Python temp \u0027"},{"line_number":341,"context_line":"                      \u0027dir.\u0027)),"},{"line_number":342,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_0f27f665","line":339,"range":{"start_line":339,"start_character":30,"end_line":339,"end_character":51},"updated":"2020-04-02 05:09:43.000000000","message":"this btw is not so great either as it will make the default in generated docs depend on who builds them... not that big of an issue since we do not keep the generated config in repo though.","commit_id":"bffb075d200d643fa856ed958f1951378261f3c3"}]}
