)]}'
{"saharaclient/osc/v1/cluster_templates.py":[{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"f6a9287e5e52e5ec56ebee3a2dd06457789c0a63","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateClusterTemplate\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def get_parser(self, prog_name):"},{"line_number":71,"context_line":"        parser \u003d super(CreateClusterTemplate, self).get_parser(prog_name)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_c806ffcd","line":70,"updated":"2015-10-07 12:35:41.000000000","message":"shares argument missed","commit_id":"523c82fded81be5cc0ba0be33af45a7b56df44b6"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"2f8db528635e1d2d9c4c1f78ace0fccb75e8f3d2","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateClusterTemplate\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def get_parser(self, prog_name):"},{"line_number":71,"context_line":"        parser \u003d super(CreateClusterTemplate, self).get_parser(prog_name)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_ab029d6d","line":70,"in_reply_to":"7a2fa921_c806ffcd","updated":"2015-10-07 13:01:24.000000000","message":"It\u0027s not missed, it wasn\u0027t added for a reason:  if you want to add shares, you can\u0027t avoid json creation, so if json creation required anyway then the whole template can be passed as json. The same for configs.","commit_id":"523c82fded81be5cc0ba0be33af45a7b56df44b6"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"e544e71dda11e00817421da2a5d4e41835835818","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            \u0027--node-groups\u0027,"},{"line_number":81,"context_line":"            metavar\u003d\"\u003cnode-group:instances_count\u003e\","},{"line_number":82,"context_line":"            nargs\u003d\"+\","},{"line_number":83,"context_line":"            help\u003d\"List of the node groups(names or IDs) and numbers of\""},{"line_number":84,"context_line":"                 \"instances for each one of them [REQUIRED if JSON is not \""},{"line_number":85,"context_line":"                 \"provided]\""},{"line_number":86,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_bc1d4968","line":83,"range":{"start_line":83,"start_character":70,"end_line":83,"end_character":71},"updated":"2015-10-13 19:50:44.000000000","message":"Space is required here","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"5ae6e8be679aaf844e9945e1bce446c07ad75a57","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            \u0027--node-groups\u0027,"},{"line_number":81,"context_line":"            metavar\u003d\"\u003cnode-group:instances_count\u003e\","},{"line_number":82,"context_line":"            nargs\u003d\"+\","},{"line_number":83,"context_line":"            help\u003d\"List of the node groups(names or IDs) and numbers of\""},{"line_number":84,"context_line":"                 \"instances for each one of them [REQUIRED if JSON is not \""},{"line_number":85,"context_line":"                 \"provided]\""},{"line_number":86,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_1c2d47a7","line":83,"range":{"start_line":83,"start_character":70,"end_line":83,"end_character":71},"in_reply_to":"5a2ca52d_bc1d4968","updated":"2015-10-14 09:27:18.000000000","message":"sure","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"e544e71dda11e00817421da2a5d4e41835835818","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            help\u003d\u0027Make the cluster template public (Visible from other \u0027"},{"line_number":111,"context_line":"                 \u0027tenants)\u0027,"},{"line_number":112,"context_line":"        )"},{"line_number":113,"context_line":"        parser.add_argument("},{"line_number":114,"context_line":"            \u0027--protected\u0027,"},{"line_number":115,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":116,"context_line":"            default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_d903770e","line":113,"updated":"2015-10-13 19:50:44.000000000","message":"Private argument is missing? But it looks like we are using different pattern of handling public/protected fields here (not like in parent commit), so I think we have some mistake in one of two patches","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"5ae6e8be679aaf844e9945e1bce446c07ad75a57","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            help\u003d\u0027Make the cluster template public (Visible from other \u0027"},{"line_number":111,"context_line":"                 \u0027tenants)\u0027,"},{"line_number":112,"context_line":"        )"},{"line_number":113,"context_line":"        parser.add_argument("},{"line_number":114,"context_line":"            \u0027--protected\u0027,"},{"line_number":115,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":116,"context_line":"            default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_90b5bbce","line":113,"in_reply_to":"5a2ca52d_d903770e","updated":"2015-10-14 09:27:18.000000000","message":"No, it\u0027s not. Both commits handle public and protected fields the same. When we create a template it\u0027s private and unprotected by default, so we can make it public and protected with corresponding flags. But when we update it, this method is not applicable, so it handles with additional --private/--unprotected flags","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"e544e71dda11e00817421da2a5d4e41835835818","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        parser.add_argument("},{"line_number":280,"context_line":"            \"cluster_template\","},{"line_number":281,"context_line":"            metavar\u003d\"\u003ccluster_template\u003e\","},{"line_number":282,"context_line":"            help\u003d\"Name or id of the cluster template to display\","},{"line_number":283,"context_line":"        )"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_3c5859fa","line":282,"updated":"2015-10-13 19:50:44.000000000","message":"Why we are mixing cluster_template and cluster-template? Maybe we should use same pattern?","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"5ae6e8be679aaf844e9945e1bce446c07ad75a57","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        parser.add_argument("},{"line_number":280,"context_line":"            \"cluster_template\","},{"line_number":281,"context_line":"            metavar\u003d\"\u003ccluster_template\u003e\","},{"line_number":282,"context_line":"            help\u003d\"Name or id of the cluster template to display\","},{"line_number":283,"context_line":"        )"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_10320bf2","line":282,"in_reply_to":"5a2ca52d_3c5859fa","updated":"2015-10-14 09:27:18.000000000","message":"there\u0027s no reason for that. just a typo","commit_id":"bfa8be439a5a3222d16ffacc54c549a7754a3eac"}],"saharaclient/tests/unit/osc/v1/test_cluster_templates.py":[{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"6480c74580e958d811463244292a6d84e9ba5d85","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            plugin_name\u003d\u0027fake\u0027, use_autoconfig\u003dTrue)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Check that columns are correct"},{"line_number":112,"context_line":"        expected_columns \u003d (\u0027Anti affinity\u0027, \u0027Description\u0027, \u0027Hadoop version\u0027,"},{"line_number":113,"context_line":"                            \u0027Id\u0027, \u0027Is default\u0027, \u0027Is protected\u0027, \u0027Is public\u0027,"},{"line_number":114,"context_line":"                            \u0027Name\u0027, \u0027Node groups\u0027, \u0027Plugin name\u0027,"},{"line_number":115,"context_line":"                            \u0027Use autoconfig\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_87b6063c","line":112,"updated":"2015-10-05 20:41:44.000000000","message":"Let\u0027s avoid \"Hadoop version\", just ensure we have only \"Version\" in all places.","commit_id":"57bd9b6d37ef902bf0bc39dee9eacd951f1960dd"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"f9a58d3b8dd4427a15701aae9f67bbd246cd8ed6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            plugin_name\u003d\u0027fake\u0027, use_autoconfig\u003dTrue)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Check that columns are correct"},{"line_number":112,"context_line":"        expected_columns \u003d (\u0027Anti affinity\u0027, \u0027Description\u0027, \u0027Hadoop version\u0027,"},{"line_number":113,"context_line":"                            \u0027Id\u0027, \u0027Is default\u0027, \u0027Is protected\u0027, \u0027Is public\u0027,"},{"line_number":114,"context_line":"                            \u0027Name\u0027, \u0027Node groups\u0027, \u0027Plugin name\u0027,"},{"line_number":115,"context_line":"                            \u0027Use autoconfig\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_1473f081","line":112,"in_reply_to":"7a2fa921_87b6063c","updated":"2015-10-06 09:37:12.000000000","message":"Done","commit_id":"57bd9b6d37ef902bf0bc39dee9eacd951f1960dd"}]}
