)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"8c4b34bc1ca2039a05015aa9573650a11dc6dc23","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[k8s] Add embed certs to config"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add embed certs to kubernetes config file to clusted config, with option"},{"line_number":10,"context_line":"--no-embed-certs to disable if desired."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Add option --output-certs to cluster config enabling the output of the"},{"line_number":13,"context_line":"certificates files (ca, key, cert). This is for compatibility with tools"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_d39cc6bf","line":10,"range":{"start_line":9,"start_character":61,"end_line":10,"end_character":38},"updated":"2018-07-27 19:59:09.000000000","message":"Based on the discussion, we have agreed only add a new option --output-certs, so this line should be dropped.","commit_id":"31cde8d09a14ff92e94e6147a33e9ebab0890537"}],"magnumclient/common/utils.py":[{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"f73a296ea6e309a4d02fcc3e0b03a658673e452c","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    return json_arg"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"def config_cluster(cluster, cluster_template, cfg_dir, force\u003dFalse, certs\u003dNone):"},{"line_number":162,"context_line":"    \"\"\"Return and write configuration for the given cluster.\"\"\""},{"line_number":163,"context_line":"    if cluster_template.coe \u003d\u003d \u0027kubernetes\u0027:"},{"line_number":164,"context_line":"        return _config_cluster_kubernetes(cluster, cluster_template, cfg_dir,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_eb58cc57","line":161,"updated":"2018-07-18 10:10:12.000000000","message":"pep8 failing due to-\n\nE501 line too long (80 \u003e 79 characters)\nKindly check","commit_id":"b02feb018b7110b5fc28dc09f3948b5abfd3731c"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"d7133c1823b9598594378970ed295911bd01536d","unresolved":false,"context_lines":[{"line_number":212,"context_line":"               \"    client-certificate-data: %(cert)s\\n\""},{"line_number":213,"context_line":"               \"    client-key-data: %(key)s\\n\""},{"line_number":214,"context_line":"               % {\u0027name\u0027: cluster.name,"},{"line_number":215,"context_line":"                  \u0027api_address\u0027: cluster.api_address, \u0027key\u0027: certs[\u0027key\u0027],"},{"line_number":216,"context_line":"                  \u0027cert\u0027: certs[\u0027cert\u0027], \u0027ca\u0027: certs[\u0027ca\u0027]})"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    if os.path.exists(cfg_file) and not force:"},{"line_number":219,"context_line":"        raise exc.CommandError(\"File %s exists, aborting.\" % cfg_file)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e0df6735","line":216,"range":{"start_line":215,"start_character":54,"end_line":216,"end_character":58},"updated":"2018-07-19 13:12:59.000000000","message":"the certs must be base64 encoded","commit_id":"cd78ba18863ecbd8f5fd38f27cf53ed504fc79fb"}],"magnumclient/osc/v1/clusters.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"31cb0e8f30a203bc79acc4c8847d6d811bfab73a","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            \u0027--include-certs\u0027,"},{"line_number":298,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":299,"context_line":"            dest\u003d\u0027include_certs\u0027,"},{"line_number":300,"context_line":"            default\u003dFalse,"},{"line_number":301,"context_line":"            help\u003d_(\u0027Also output separate files with certs (old behavior).\u0027))"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0fc8a253","line":300,"updated":"2018-07-18 22:39:52.000000000","message":"Will having this default False break the Swam code path as Swarm seems to always expect files?","commit_id":"cd78ba18863ecbd8f5fd38f27cf53ed504fc79fb"},{"author":{"_account_id":28411,"name":"Jim Bach","email":"jabach@blizzard.com","username":"imdigitaljim"},"change_message_id":"9336e8f08cb6b96288cc2a6fa320d646b0081f39","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            \u0027--include-certs\u0027,"},{"line_number":298,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":299,"context_line":"            dest\u003d\u0027include_certs\u0027,"},{"line_number":300,"context_line":"            default\u003dFalse,"},{"line_number":301,"context_line":"            help\u003d_(\u0027Also output separate files with certs (old behavior).\u0027))"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_2d29e587","line":300,"in_reply_to":"5f7c97a3_0fc8a253","updated":"2018-07-19 00:48:31.000000000","message":"when it is False it will always include the certs (just not embed them) -- proving my comments point :P","commit_id":"cd78ba18863ecbd8f5fd38f27cf53ed504fc79fb"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"f27a5041564b595bdc0733d6a52b2b5379a06812","unresolved":false,"context_lines":[{"line_number":337,"context_line":"                    if os.path.exists(fname) and not parsed_args.force:"},{"line_number":338,"context_line":"                        raise Exception(\"File %s exists, aborting.\" % fname)"},{"line_number":339,"context_line":"                    else:"},{"line_number":340,"context_line":"                        f \u003d open(fname, \"w\")"},{"line_number":341,"context_line":"                        f.write(tls[k])"},{"line_number":342,"context_line":"                        f.close()"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_af064ecc","line":340,"updated":"2018-07-18 22:27:35.000000000","message":"wrap this in with\n\u003e with open(fname, \u0027w\u0027) as crt_fd:\n\u003e    crt_fd.write(tld[k])\nThis will ensure that the file is always closed properly, and resources are freed.","commit_id":"cd78ba18863ecbd8f5fd38f27cf53ed504fc79fb"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"15458a4fcb1e983ffa0f685fb48c73114d7784a3","unresolved":false,"context_lines":[{"line_number":337,"context_line":"                    if os.path.exists(fname) and not parsed_args.force:"},{"line_number":338,"context_line":"                        raise Exception(\"File %s exists, aborting.\" % fname)"},{"line_number":339,"context_line":"                    else:"},{"line_number":340,"context_line":"                        f \u003d open(fname, \"w\")"},{"line_number":341,"context_line":"                        f.write(tls[k])"},{"line_number":342,"context_line":"                        f.close()"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_7675a0c8","line":340,"updated":"2018-07-27 21:40:59.000000000","message":"I still think we should change this to use with open(..).","commit_id":"31cde8d09a14ff92e94e6147a33e9ebab0890537"}]}
