)]}'
{"saharaclient/api/shell.py":[{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"a061673f611a02b642f650d5745feb681df19c2c","unresolved":false,"context_lines":[{"line_number":431,"context_line":"    \"\"\"Create a cluster template.\"\"\""},{"line_number":432,"context_line":"     # TODO(mattf): improve template validation, e.g. template w/o name key"},{"line_number":433,"context_line":"    template \u003d json.loads(args.json.read())"},{"line_number":434,"context_line":"    template[\u0027net_id\u0027] \u003d template.get(\u0027neutron_management_network\u0027, None)"},{"line_number":435,"context_line":"    valid_args \u003d inspect.getargspec(cs.cluster_templates.create).args"},{"line_number":436,"context_line":"    for name in template.keys():"},{"line_number":437,"context_line":"        if name not in valid_args:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_199b1a68","line":434,"range":{"start_line":434,"start_character":39,"end_line":434,"end_character":73},"updated":"2014-06-02 22:47:01.000000000","message":"why do you need net_id? neutron_management_network is used in all places.","commit_id":"abb550885e52ec1bee5b0d65258fe33824f89a8b"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"045bda1fe4c50f6568da70ec225c42ef25eebdc3","unresolved":false,"context_lines":[{"line_number":431,"context_line":"    \"\"\"Create a cluster template.\"\"\""},{"line_number":432,"context_line":"     # TODO(mattf): improve template validation, e.g. template w/o name key"},{"line_number":433,"context_line":"    template \u003d json.loads(args.json.read())"},{"line_number":434,"context_line":"    template[\u0027net_id\u0027] \u003d template.get(\u0027neutron_management_network\u0027, None)"},{"line_number":435,"context_line":"    valid_args \u003d inspect.getargspec(cs.cluster_templates.create).args"},{"line_number":436,"context_line":"    for name in template.keys():"},{"line_number":437,"context_line":"        if name not in valid_args:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_61e8d710","line":434,"in_reply_to":"1ae5cdf2_199b1a68","updated":"2014-06-03 10:16:09.000000000","message":"neutron_management_network is expected in our REST API, but the client uses another name - net_id. So we expect user to provide the former in the json, but we need to pass the later to this client call:\nhttps://github.com/openstack/python-saharaclient/blob/master/saharaclient/api/cluster_templates.py#L43\n\nThis fix was already applied to the clusters was missing here.","commit_id":"abb550885e52ec1bee5b0d65258fe33824f89a8b"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"c90bd2d78c0a0a7e0eb56d106af8456eb89ff803","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def _filter_call_args(args, func, remap\u003d{}):"},{"line_number":30,"context_line":"    \"\"\"Filter dct according to func\u0027s parameter list."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Take three arguments:"},{"line_number":33,"context_line":"     * args - a dictionary"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_43e911e5","line":30,"updated":"2014-06-03 18:57:15.000000000","message":"Typo: dct -\u003e dict","commit_id":"ae52c3c0e1aefe68e483eea9611ca5eca74c1251"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"a88a785fd2ceac10bf44b1cb57a2ae5f23f3e775","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def _filter_call_args(args, func, remap\u003d{}):"},{"line_number":30,"context_line":"    \"\"\"Filter dct according to func\u0027s parameter list."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Take three arguments:"},{"line_number":33,"context_line":"     * args - a dictionary"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_f2d81220","line":30,"in_reply_to":"1ae5cdf2_43e911e5","updated":"2014-06-04 07:22:15.000000000","message":"That actually should be the name of the function argument, which is \u0027args\u0027 (was \u0027dct\u0027 initially). Fixed it.","commit_id":"ae52c3c0e1aefe68e483eea9611ca5eca74c1251"},{"author":{"_account_id":7555,"name":"Matthew Farrellee","email":"matt@redhat.com","username":"farrellee"},"change_message_id":"fc12ff30fa4b8db17f9695142fd861184d472065","unresolved":false,"context_lines":[{"line_number":320,"context_line":"    # called net_id. Therefore, we must translate before invoking"},{"line_number":321,"context_line":"    # create w/ **template. It may be desirable to simple change"},{"line_number":322,"context_line":"    # clusters.create in the future."},{"line_number":323,"context_line":"    remap \u003d {\u0027neutron_management_network\u0027: \u0027net_id\u0027}"},{"line_number":324,"context_line":"    _filter_call_args(template, cs.clusters.create, remap)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    _show_cluster(cs.clusters.create(**template))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_ea6f05fa","line":323,"updated":"2014-06-05 14:12:56.000000000","message":"remap only used once, could be inlined","commit_id":"6e72956a75215b894e3e94b1f8f1693fa7309d28"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"511b2d2caf6f21228b14e0071f4e529ca691e521","unresolved":false,"context_lines":[{"line_number":320,"context_line":"    # called net_id. Therefore, we must translate before invoking"},{"line_number":321,"context_line":"    # create w/ **template. It may be desirable to simple change"},{"line_number":322,"context_line":"    # clusters.create in the future."},{"line_number":323,"context_line":"    remap \u003d {\u0027neutron_management_network\u0027: \u0027net_id\u0027}"},{"line_number":324,"context_line":"    _filter_call_args(template, cs.clusters.create, remap)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    _show_cluster(cs.clusters.create(**template))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_01209799","line":323,"in_reply_to":"1ae5cdf2_ea6f05fa","updated":"2014-06-05 14:40:29.000000000","message":"I didn\u0027t inline remap because it would require another line of code anyway, otherwise the \u0027_filter_call_args(...\u0027 line would be too long. The same applies to the comment below.","commit_id":"6e72956a75215b894e3e94b1f8f1693fa7309d28"},{"author":{"_account_id":7555,"name":"Matthew Farrellee","email":"matt@redhat.com","username":"farrellee"},"change_message_id":"fc12ff30fa4b8db17f9695142fd861184d472065","unresolved":false,"context_lines":[{"line_number":450,"context_line":"    \"\"\"Create a cluster template.\"\"\""},{"line_number":451,"context_line":"     # TODO(mattf): improve template validation, e.g. template w/o name key"},{"line_number":452,"context_line":"    template \u003d json.loads(args.json.read())"},{"line_number":453,"context_line":"    remap \u003d {\u0027neutron_management_network\u0027: \u0027net_id\u0027}"},{"line_number":454,"context_line":"    _filter_call_args(template, cs.cluster_templates.create, remap)"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"    _show_cluster_template(cs.cluster_templates.create(**template))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_8a4da19c","line":453,"updated":"2014-06-05 14:12:56.000000000","message":"could inline","commit_id":"6e72956a75215b894e3e94b1f8f1693fa7309d28"}]}
