)]}'
{"tripleoclient/v1/tripleo_deploy.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"314f0be6faa4acde35683ab9e50483694983fc39","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                parsed_args.control_virtual_ip,"},{"line_number":117,"context_line":"                parsed_args.public_virtual_ip"},{"line_number":118,"context_line":"        ]"},{"line_number":119,"context_line":"        msg \u003d (\"The same IP cannot be used for multiple endpoints.\")"},{"line_number":120,"context_line":"        try:"},{"line_number":121,"context_line":"            if len(ip_list) !\u003d len(set(ip_list)):"},{"line_number":122,"context_line":"               LOG.error("}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_d431d45b","line":119,"updated":"2019-06-12 01:09:53.000000000","message":"You can move this in front of raise, so that we can easily understand where it is used.","commit_id":"6972af63a42736b81e427886bc5a4d1a8f1e9c82"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"87dbf5aa77a3d4d0a539e16e37e46db5eb78b662","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                        \"undercloud_public_host: %{public}\","},{"line_number":126,"context_line":"                        {\"local\": ip_list[0], \"admin\": ip_list[1], \"public\": ip_list[2]}"},{"line_number":127,"context_line":"                        )"},{"line_number":128,"context_line":"        except Exception:"},{"line_number":129,"context_line":"                raise exceptions.InvalidConfiguration(msg)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_14720c4a","line":128,"updated":"2019-06-12 01:07:18.000000000","message":"You do not need this try except, as we do not except Exception coming from the code inside this.\n\nAlso, if you want to make the process abort when the list has duplicated record, you should put raise in the if block like.\n\nBEFORE:\ntry:\n    if ...\n        LOG.error ...\nexcept Exception:\n    raise\n\nAFTER\nif ....\n    LOG.error ...\n    raise","commit_id":"6972af63a42736b81e427886bc5a4d1a8f1e9c82"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"36b1deb1ee49d75885ea67f3882f617c7a184047","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        # we skip preflight checks for output only and undercloud"},{"line_number":124,"context_line":"        if parsed_args.output_only or self._is_undercloud_deploy(parsed_args):"},{"line_number":125,"context_line":"            return"},{"line_number":126,"context_line":"            "},{"line_number":127,"context_line":"        # in standalone we don\u0027t want to fixup the /etc/hosts as we\u0027ll be"},{"line_number":128,"context_line":"        # managing that elsewhere during the deployment"},{"line_number":129,"context_line":"        utils.check_hostname(fix_etc_hosts\u003dFalse, logger\u003dself.log)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fb8cfa7_f1830a55","line":126,"range":{"start_line":126,"start_character":0,"end_line":126,"end_character":12},"updated":"2019-06-24 01:11:59.000000000","message":"This spaces is added in patch, but should be rejected by pep8.\nCan you remove them?","commit_id":"8c0a8448670556038aeede5900d60b3d2ee7f83f"}],"tripleoclient/v1/undercloud_config.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9afa2282b1a3326e431a5a624549da200bd2baa7","unresolved":false,"context_lines":[{"line_number":104,"context_line":"_opts \u003d config.get_opts()"},{"line_number":105,"context_line":"load_global_config()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def _check_undercloud_ips(CONF):"},{"line_number":108,"context_line":"    ip_list \u003d ["},{"line_number":109,"context_line":"        CONF.local_ip.split(\u0027/\u0027)[0],"},{"line_number":110,"context_line":"        CONF.undercloud_admin_host,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_b156f205","line":107,"updated":"2019-06-24 00:52:33.000000000","message":"- This should be moved to somewhere after L132. as LOG is not defined yet.\n- use conf instead of CONF, as it makes us easily understand that we are talking about parameter in this function. see _process_drivers_and_hardware_types.","commit_id":"8a7a2c6df8b31d98f42a2a78bb2f7685a4d3f9fc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"36b1deb1ee49d75885ea67f3882f617c7a184047","unresolved":false,"context_lines":[{"line_number":103,"context_line":"# Routed subnets"},{"line_number":104,"context_line":"_opts \u003d config.get_opts()"},{"line_number":105,"context_line":"load_global_config()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def _load_subnets_config_groups():"},{"line_number":108,"context_line":"    for group in CONF.subnets:"},{"line_number":109,"context_line":"        g \u003d cfg.OptGroup(name\u003dgroup, title\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fb8cfa7_11ec9e27","line":106,"updated":"2019-06-24 01:11:59.000000000","message":"Removing this blank line can cause pep8 error.","commit_id":"8c0a8448670556038aeede5900d60b3d2ee7f83f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"36b1deb1ee49d75885ea67f3882f617c7a184047","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            CONF.register_opts(config.get_remote_subnet_opts(), group\u003dg)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"LOG \u003d logging.getLogger(__name__ + \".undercloud_config\")"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"def _check_undercloud_ips(CONF):"},{"line_number":118,"context_line":"    ip_list \u003d ["},{"line_number":119,"context_line":"        CONF.local_ip.split(\u0027/\u0027)[0],"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fb8cfa7_b17d926f","line":116,"updated":"2019-06-24 01:11:59.000000000","message":"one more blank line here, for pep8 rule","commit_id":"8c0a8448670556038aeede5900d60b3d2ee7f83f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"36b1deb1ee49d75885ea67f3882f617c7a184047","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                )"},{"line_number":130,"context_line":"        msg \u003d (\"The same IP cannot be used for multiple endpoints.\")"},{"line_number":131,"context_line":"        raise exceptions.InvalidConfiguration(msg)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def _get_jinja_env_source(f):"},{"line_number":134,"context_line":"    path, filename \u003d os.path.split(f)"},{"line_number":135,"context_line":"    env \u003d Environment(loader\u003dFileSystemLoader(path))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fb8cfa7_d1804649","line":132,"updated":"2019-06-24 01:11:59.000000000","message":"ditto","commit_id":"8c0a8448670556038aeede5900d60b3d2ee7f83f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fb6a4dddf14c2d917c35e4dc2898b0237fe3c699","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"def _check_undercloud_ips(conf):"},{"line_number":121,"context_line":"    ip_list \u003d ["},{"line_number":122,"context_line":"        conf.local_ip.split(\u0027/\u0027)[0],"},{"line_number":123,"context_line":"        conf.undercloud_admin_host,"},{"line_number":124,"context_line":"        conf.undercloud_public_host"},{"line_number":125,"context_line":"    ]"},{"line_number":126,"context_line":"    if len(ip_list) !\u003d len(set(ip_list)):"},{"line_number":127,"context_line":"        LOG.error("},{"line_number":128,"context_line":"                \"The same IP was used for multiple endpoints. Defined IPs:\""},{"line_number":129,"context_line":"                \"local_ip: %{local}, undercloud_admin_host: %{admin}\""},{"line_number":130,"context_line":"                \"undercloud_public_host: %{public}\","},{"line_number":131,"context_line":"                {\"local\": ip_list[0],"},{"line_number":132,"context_line":"                 \"admin\": ip_list[1],"},{"line_number":133,"context_line":"                 \"public\": ip_list[2]}"},{"line_number":134,"context_line":"                )"},{"line_number":135,"context_line":"        msg \u003d (\"The same IP cannot be used for multiple endpoints.\")"},{"line_number":136,"context_line":"        raise exceptions.InvalidConfiguration(msg)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def _get_jinja_env_source(f):"}],"source_content_type":"text/x-python","patch_set":18,"id":"7faddb67_33560b5e","line":136,"range":{"start_line":121,"start_character":0,"end_line":136,"end_character":50},"updated":"2019-08-21 14:35:54.000000000","message":"How about implementing these logics inside _process_network_args, as we already do validation about the different network configuration(undercloud_naneservers) there?","commit_id":"dda883e1f28b587a232e9330f599673f7ea3b181"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"201fc890114f32906cbb65c3672eff911ead758b","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            CONF.register_opts(config.get_remote_subnet_opts(), group\u003dg)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"LOG \u003d logging.getLogger(__name__ + \".undercloud_config\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_f7825ec8","line":116,"updated":"2019-09-09 13:24:07.000000000","message":"please avoid these changes, they make it hard when doing git blame later.","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fbaa67a0f199157972a13d3618aad201acdadd8d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            CONF.register_opts(config.get_remote_subnet_opts(), group\u003dg)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"LOG \u003d logging.getLogger(__name__ + \".undercloud_config\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_e0ab72d3","line":116,"in_reply_to":"5faad753_f7825ec8","updated":"2019-09-09 14:49:27.000000000","message":"Done","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"201fc890114f32906cbb65c3672eff911ead758b","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                env[\u0027UndercloudCtlplaneSubnets\u0027][subnet].update("},{"line_number":349,"context_line":"                    {param_value: s[param_key]})"},{"line_number":350,"context_line":"    env[\u0027MasqueradeNetworks\u0027] \u003d _generate_masquerade_networks()"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    if len(CONF[\u0027undercloud_nameservers\u0027]) \u003e 5:"},{"line_number":353,"context_line":"        raise exceptions.InvalidConfiguration(\u0027Too many nameservers provided. \u0027"},{"line_number":354,"context_line":"                                              \u0027Please provide less than 6 \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_17885ae5","line":351,"updated":"2019-09-09 13:24:07.000000000","message":"ditto","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fbaa67a0f199157972a13d3618aad201acdadd8d","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                env[\u0027UndercloudCtlplaneSubnets\u0027][subnet].update("},{"line_number":349,"context_line":"                    {param_value: s[param_key]})"},{"line_number":350,"context_line":"    env[\u0027MasqueradeNetworks\u0027] \u003d _generate_masquerade_networks()"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    if len(CONF[\u0027undercloud_nameservers\u0027]) \u003e 5:"},{"line_number":353,"context_line":"        raise exceptions.InvalidConfiguration(\u0027Too many nameservers provided. \u0027"},{"line_number":354,"context_line":"                                              \u0027Please provide less than 6 \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_80b87e2a","line":351,"in_reply_to":"5faad753_17885ae5","updated":"2019-09-09 14:49:27.000000000","message":"Done","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"201fc890114f32906cbb65c3672eff911ead758b","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    ]"},{"line_number":371,"context_line":"    if len(undercloud_ips) !\u003d len(set(undercloud_ips)):"},{"line_number":372,"context_line":"        msg \u003d (\"The same IP is used for multiple endpoints. Please use \""},{"line_number":373,"context_line":"               \"uniqueue ips for local_ip, undercloud_admin_host \""},{"line_number":374,"context_line":"               \"and undercloud_public_host\")"},{"line_number":375,"context_line":"        raise exceptions.InvalidConfiguration(msg)"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_9773ea15","line":373,"range":{"start_line":373,"start_character":16,"end_line":373,"end_character":24},"updated":"2019-09-09 13:24:07.000000000","message":"unique","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fbaa67a0f199157972a13d3618aad201acdadd8d","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    ]"},{"line_number":371,"context_line":"    if len(undercloud_ips) !\u003d len(set(undercloud_ips)):"},{"line_number":372,"context_line":"        msg \u003d (\"The same IP is used for multiple endpoints. Please use \""},{"line_number":373,"context_line":"               \"uniqueue ips for local_ip, undercloud_admin_host \""},{"line_number":374,"context_line":"               \"and undercloud_public_host\")"},{"line_number":375,"context_line":"        raise exceptions.InvalidConfiguration(msg)"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5faad753_c0975690","line":373,"range":{"start_line":373,"start_character":16,"end_line":373,"end_character":24},"in_reply_to":"5faad753_9773ea15","updated":"2019-09-09 14:49:27.000000000","message":"Done","commit_id":"84d0b5a17bfefe71a221c282792dcb24df4a2a0c"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"ef44405c992b90ee4da50c9b8febfca8447f9591","unresolved":false,"context_lines":[{"line_number":363,"context_line":"    # value here."},{"line_number":364,"context_line":"    undercloud_ips \u003d ["},{"line_number":365,"context_line":"        CONF.local_ip.split(\u0027/\u0027)[0],"},{"line_number":366,"context_line":"        CONF.undercloud_admin_host,"},{"line_number":367,"context_line":"        CONF.undercloud_public_host"},{"line_number":368,"context_line":"    ]"},{"line_number":369,"context_line":"    if len(undercloud_ips) !\u003d len(set(undercloud_ips)):"},{"line_number":370,"context_line":"        msg \u003d (\"The same IP is used for multiple endpoints. Please use \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_831e43b8","line":367,"range":{"start_line":366,"start_character":0,"end_line":367,"end_character":35},"updated":"2019-09-09 19:34:59.000000000","message":"So I believe we only care about these values when we\u0027re using ssl.  If ssl is disabled I don\u0027t think the *_host vars are used and may end up being duplicated by default","commit_id":"f9957b6416628f5d60b775fa04daad796f8b2b42"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"87a1160d5a9d2147f41d14c936fa43f6ee7bdd3c","unresolved":false,"context_lines":[{"line_number":363,"context_line":"    # value here."},{"line_number":364,"context_line":"    undercloud_ips \u003d ["},{"line_number":365,"context_line":"        CONF.local_ip.split(\u0027/\u0027)[0],"},{"line_number":366,"context_line":"        CONF.undercloud_admin_host,"},{"line_number":367,"context_line":"        CONF.undercloud_public_host"},{"line_number":368,"context_line":"    ]"},{"line_number":369,"context_line":"    if len(undercloud_ips) !\u003d len(set(undercloud_ips)):"},{"line_number":370,"context_line":"        msg \u003d (\"The same IP is used for multiple endpoints. Please use \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_45c5ab3b","line":367,"range":{"start_line":366,"start_character":0,"end_line":367,"end_character":35},"in_reply_to":"5faad753_831e43b8","updated":"2019-09-10 01:48:26.000000000","message":"Done","commit_id":"f9957b6416628f5d60b775fa04daad796f8b2b42"}]}
