)]}'
{"kolla/template/methods.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"62d511027713f8653f15fc23d165d9069261ee8f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        for name, params in yaml.safe_load(repos_file).items():"},{"line_number":86,"context_line":"            repo_data[name] \u003d params"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # TODO(hrw): add checks for isinstance() and raise proper exception"},{"line_number":89,"context_line":"    base_package_type \u003d context.get(\u0027base_package_type\u0027)"},{"line_number":90,"context_line":"    base_distro \u003d context.get(\u0027base_distro\u0027)"},{"line_number":91,"context_line":"    base_arch \u003d context.get(\u0027base_arch\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_543e7cb9","line":88,"range":{"start_line":88,"start_character":6,"end_line":88,"end_character":10},"updated":"2019-12-05 10:14:43.000000000","message":"Is it still TODO?","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"507374014c9ef4e1378f02ec4a02d81bc40c2a85","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        for name, params in yaml.safe_load(repos_file).items():"},{"line_number":86,"context_line":"            repo_data[name] \u003d params"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # TODO(hrw): add checks for isinstance() and raise proper exception"},{"line_number":89,"context_line":"    base_package_type \u003d context.get(\u0027base_package_type\u0027)"},{"line_number":90,"context_line":"    base_distro \u003d context.get(\u0027base_distro\u0027)"},{"line_number":91,"context_line":"    base_arch \u003d context.get(\u0027base_arch\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f49768ea","line":88,"range":{"start_line":88,"start_character":6,"end_line":88,"end_character":10},"in_reply_to":"3fa7e38b_543e7cb9","updated":"2019-12-05 11:18:46.000000000","message":"thx. forgot to drop","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"62d511027713f8653f15fc23d165d9069261ee8f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    # NOTE(hrw): if something is wrong with template variables"},{"line_number":95,"context_line":"    if base_package_type is None or base_distro is None or base_arch is None \\"},{"line_number":96,"context_line":"       or (base_package_type \u003d\u003d \u0027rpm\u0027 and distro_package_manager is None):"},{"line_number":97,"context_line":"        return \u0027\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    commands \u003d \u0027\u0027"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f4868865","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":17},"updated":"2019-12-05 10:14:43.000000000","message":"Looks like we\u0027re ignoring an error here.","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"507374014c9ef4e1378f02ec4a02d81bc40c2a85","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    # NOTE(hrw): if something is wrong with template variables"},{"line_number":95,"context_line":"    if base_package_type is None or base_distro is None or base_arch is None \\"},{"line_number":96,"context_line":"       or (base_package_type \u003d\u003d \u0027rpm\u0027 and distro_package_manager is None):"},{"line_number":97,"context_line":"        return \u0027\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    commands \u003d \u0027\u0027"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_174ec638","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":17},"in_reply_to":"3fa7e38b_f4868865","updated":"2019-12-05 11:18:46.000000000","message":"Dropped. If we get wrong template vars (which should not happen) then we get exception on setting repo_list.","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"62d511027713f8653f15fc23d165d9069261ee8f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                commands +\u003d \u0027 --enable %s\u0027 % repo_list[repo]"},{"line_number":118,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":119,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":120,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list; \u0027 % repo"},{"line_number":121,"context_line":"        except KeyError:"},{"line_number":122,"context_line":"            pass"},{"line_number":123,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f46208ad","line":120,"range":{"start_line":120,"start_character":61,"end_line":120,"end_character":62},"updated":"2019-12-05 10:14:43.000000000","message":"can we switch to \u0026\u0026?","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"507374014c9ef4e1378f02ec4a02d81bc40c2a85","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                commands +\u003d \u0027 --enable %s\u0027 % repo_list[repo]"},{"line_number":118,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":119,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":120,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list; \u0027 % repo"},{"line_number":121,"context_line":"        except KeyError:"},{"line_number":122,"context_line":"            pass"},{"line_number":123,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_d734aeae","line":120,"range":{"start_line":120,"start_character":61,"end_line":120,"end_character":62},"in_reply_to":"3fa7e38b_f46208ad","updated":"2019-12-05 11:18:46.000000000","message":"Done","commit_id":"ac3261c4ac60f0afdf9dcf9643291c92fd1b4a82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86aa54623510db29d1e76b9d9ec2489386657a51","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":98,"context_line":"            commands \u003d \u0027yum-config-manager\u0027"},{"line_number":99,"context_line":"        elif distro_package_manager \u003d\u003d \u0027dnf\u0027:"},{"line_number":100,"context_line":"            commands \u003d \u0027dnf config-manager\u0027"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    try:"},{"line_number":103,"context_line":"        repo_list \u003d repo_data[\u0027%s-%s\u0027 % (base_distro, base_arch)]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_932dbffe","line":100,"range":{"start_line":100,"start_character":24,"end_line":100,"end_character":42},"updated":"2019-12-09 12:15:39.000000000","message":"I found that on centos8, DNF fails for non-existent repos, where yum did not. I wonder if that will affect tripleo.","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"09f23c2fe3fb419fb514f9c87c77471d1bd5a83a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":98,"context_line":"            commands \u003d \u0027yum-config-manager\u0027"},{"line_number":99,"context_line":"        elif distro_package_manager \u003d\u003d \u0027dnf\u0027:"},{"line_number":100,"context_line":"            commands \u003d \u0027dnf config-manager\u0027"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    try:"},{"line_number":103,"context_line":"        repo_list \u003d repo_data[\u0027%s-%s\u0027 % (base_distro, base_arch)]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a4e993e4","line":100,"range":{"start_line":100,"start_character":24,"end_line":100,"end_character":42},"in_reply_to":"3fa7e38b_8e2d98fe","updated":"2019-12-09 15:17:44.000000000","message":"We call dnf/yum only if repo we have to enable is listed in repos.yaml file. Tripleo uses empty list so we do not generate command to run and macro exits without","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"30cf4caf3455a07ffeb124996b5967d9aba84278","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":98,"context_line":"            commands \u003d \u0027yum-config-manager\u0027"},{"line_number":99,"context_line":"        elif distro_package_manager \u003d\u003d \u0027dnf\u0027:"},{"line_number":100,"context_line":"            commands \u003d \u0027dnf config-manager\u0027"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    try:"},{"line_number":103,"context_line":"        repo_list \u003d repo_data[\u0027%s-%s\u0027 % (base_distro, base_arch)]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_8e2d98fe","line":100,"range":{"start_line":100,"start_character":24,"end_line":100,"end_character":42},"in_reply_to":"3fa7e38b_932dbffe","updated":"2019-12-09 13:36:34.000000000","message":"Have to test it then.","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"01399fe9f18dac768d9d122640913c928307c175","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":98,"context_line":"            commands \u003d \u0027yum-config-manager\u0027"},{"line_number":99,"context_line":"        elif distro_package_manager \u003d\u003d \u0027dnf\u0027:"},{"line_number":100,"context_line":"            commands \u003d \u0027dnf config-manager\u0027"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    try:"},{"line_number":103,"context_line":"        repo_list \u003d repo_data[\u0027%s-%s\u0027 % (base_distro, base_arch)]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_76b1aee0","line":100,"range":{"start_line":100,"start_character":24,"end_line":100,"end_character":42},"in_reply_to":"3fa7e38b_a4e993e4","updated":"2019-12-16 11:11:12.000000000","message":"You just said they don\u0027t modify it, so it can\u0027t be empty :)\n\nI think what is happening is that for RHEL8, the entry in repos.yaml is empty (which means None in YAML). That\u0027s why we get a TypeError. If we change it to this we could drop the TypeError handling:\n\nrhel: {}\n\nTripleo are probably not testing CentOS 8 yet, but I expect that when they do they will have a problem here because dnf config-manager --enable requires the repo to exist.","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86aa54623510db29d1e76b9d9ec2489386657a51","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":113,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_13f46f86","line":116,"range":{"start_line":115,"start_character":0,"end_line":116,"end_character":16},"updated":"2019-12-09 12:15:39.000000000","message":"Sure we want to skip this?","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"30cf4caf3455a07ffeb124996b5967d9aba84278","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":113,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_ce17109d","line":116,"range":{"start_line":115,"start_character":0,"end_line":116,"end_character":16},"in_reply_to":"3fa7e38b_13f46f86","updated":"2019-12-09 13:36:34.000000000","message":"Can be replaced with \u0027if repo in repo_list\u0027 each time.\n\nThe idea is that we have set of repo names which may not be defined for some distros due to being included in default repos. Like Ceph which we have in \u0027centos-ceph-nautilus\u0027 for CentOS (and can enable) but in UCA in Ubuntu or in distro in Debian (so are always enabled).","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"64cf6931306129296932c1c98964caa2ddc58e3d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":113,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_2eca6418","line":116,"range":{"start_line":115,"start_character":0,"end_line":116,"end_character":16},"in_reply_to":"3fa7e38b_ce17109d","updated":"2019-12-09 13:40:15.000000000","message":"Ok, makes sense.","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86aa54623510db29d1e76b9d9ec2489386657a51","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_d3d017f7","line":119,"range":{"start_line":117,"start_character":0,"end_line":119,"end_character":16},"updated":"2019-12-09 12:15:39.000000000","message":"I don\u0027t think this is actually true, is it?","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"64cf6931306129296932c1c98964caa2ddc58e3d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_8ec91826","line":119,"range":{"start_line":117,"start_character":0,"end_line":119,"end_character":16},"in_reply_to":"3fa7e38b_4e81e0c1","updated":"2019-12-09 13:40:15.000000000","message":"Yes, but what I mean is that they don\u0027t modify repos.yaml, do they?","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"09affa5218eaf4152708bd2f14a2b1e99ca15df8","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_24504309","line":119,"range":{"start_line":117,"start_character":0,"end_line":119,"end_character":16},"in_reply_to":"3fa7e38b_8ec91826","updated":"2019-12-09 14:59:54.000000000","message":"iirc so far they do not","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"30cf4caf3455a07ffeb124996b5967d9aba84278","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            pass"},{"line_number":117,"context_line":"        # NOTE(hrw): tripleo builds have empty repolist"},{"line_number":118,"context_line":"        except TypeError:"},{"line_number":119,"context_line":"            pass"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_4e81e0c1","line":119,"range":{"start_line":117,"start_character":0,"end_line":119,"end_character":16},"in_reply_to":"3fa7e38b_d3d017f7","updated":"2019-12-09 13:36:34.000000000","message":"From their build logs it looks that they remove all repositories we are adding. So all their repos are enabled outside of Kolla control (probably in their base image).","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86aa54623510db29d1e76b9d9ec2489386657a51","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    # NOTE(hrw): Debian commands end with \u0027\u0026\u0026\u0027"},{"line_number":125,"context_line":"    if base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":126,"context_line":"        commands \u003d commands[0:-4]"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    return commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_93085f91","line":126,"range":{"start_line":124,"start_character":0,"end_line":126,"end_character":33},"updated":"2019-12-09 12:15:39.000000000","message":":(","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"30cf4caf3455a07ffeb124996b5967d9aba84278","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    if commands:"},{"line_number":122,"context_line":"        commands \u003d \"RUN %s\" % commands"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    # NOTE(hrw): Debian commands end with \u0027\u0026\u0026\u0027"},{"line_number":125,"context_line":"    if base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":126,"context_line":"        commands \u003d commands[0:-4]"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    return commands"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_6e285ced","line":126,"range":{"start_line":124,"start_character":0,"end_line":126,"end_character":33},"in_reply_to":"3fa7e38b_93085f91","updated":"2019-12-09 13:36:34.000000000","message":"As we use \u0027\u0026\u0026\u0027 in line 114 then we either remove last one or add dummy command after it. I prefer to remove.","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        for name, params in yaml.safe_load(repos_file).items():"},{"line_number":87,"context_line":"            repo_data[name] \u003d params"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # TODO(hrw): add checks for isinstance() and raise proper exception"},{"line_number":90,"context_line":"    base_package_type \u003d context.get(\u0027base_package_type\u0027)"},{"line_number":91,"context_line":"    if isinstance(base_package_type, Undefined):"},{"line_number":92,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_314fae36","side":"PARENT","line":89,"updated":"2019-12-17 10:24:50.000000000","message":"giving up on error control?","commit_id":"97446186cf4e08451c44d4d84981b6d9306facd2"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9805e8528a3b4c18c7518b3e9aefa1ddba58c2e9","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        for name, params in yaml.safe_load(repos_file).items():"},{"line_number":87,"context_line":"            repo_data[name] \u003d params"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # TODO(hrw): add checks for isinstance() and raise proper exception"},{"line_number":90,"context_line":"    base_package_type \u003d context.get(\u0027base_package_type\u0027)"},{"line_number":91,"context_line":"    if isinstance(base_package_type, Undefined):"},{"line_number":92,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_918c623a","side":"PARENT","line":89,"in_reply_to":"3fa7e38b_314fae36","updated":"2019-12-17 10:37:32.000000000","message":"if we get random values here then method is called from outside of kolla","commit_id":"97446186cf4e08451c44d4d84981b6d9306facd2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    commands \u003d \u0027\u0027"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027:"},{"line_number":101,"context_line":"        # NOTE(hrw): we enable all repos with one call"},{"line_number":102,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":103,"context_line":"            commands \u003d \u0027yum-config-manager \u0027"},{"line_number":104,"context_line":"        elif distro_package_manager \u003d\u003d \u0027dnf\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_71c0c67e","side":"PARENT","line":101,"range":{"start_line":101,"start_character":8,"end_line":101,"end_character":54},"updated":"2019-12-17 10:24:50.000000000","message":"I would copy this note...","commit_id":"97446186cf4e08451c44d4d84981b6d9306facd2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    except KeyError:"},{"line_number":98,"context_line":"        # NOTE(hrw): Fallback to distro list"},{"line_number":99,"context_line":"        repo_list \u003d repo_data[base_distro]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    for repo in reponames:"},{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            if base_package_type \u003d\u003d \u0027rpm\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_31ba4e0b","line":100,"updated":"2019-12-17 10:24:50.000000000","message":"...here","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c5da5444429e6402c5543f6fa743734b20662ce4","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    except KeyError:"},{"line_number":98,"context_line":"        # NOTE(hrw): Fallback to distro list"},{"line_number":99,"context_line":"        repo_list \u003d repo_data[base_distro]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    for repo in reponames:"},{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            if base_package_type \u003d\u003d \u0027rpm\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_31a7aeab","line":100,"in_reply_to":"3fa7e38b_11a152a9","updated":"2019-12-17 10:41:59.000000000","message":"meh, me bad at aiming","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9805e8528a3b4c18c7518b3e9aefa1ddba58c2e9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    except KeyError:"},{"line_number":98,"context_line":"        # NOTE(hrw): Fallback to distro list"},{"line_number":99,"context_line":"        repo_list \u003d repo_data[base_distro]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    for repo in reponames:"},{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            if base_package_type \u003d\u003d \u0027rpm\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_11a152a9","line":100,"in_reply_to":"3fa7e38b_31ba4e0b","updated":"2019-12-17 10:37:32.000000000","message":"which is wrong place as we do one command only for rpm distros","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1689ea65f3de6819177ad24478aaee538ccde5e0","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":106,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":107,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":108,"context_line":"        except KeyError:"},{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_51510a30","line":108,"range":{"start_line":108,"start_character":15,"end_line":108,"end_character":23},"updated":"2019-12-17 11:21:43.000000000","message":"This is a bit confusing at first - could you add a comment like this:\n\nIgnore missing repositories for a given distro/arch - not all combinations require all repositories.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"3a29c470889fcf794466b5e03cadf6ec8971cba6","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            elif base_package_type \u003d\u003d \u0027deb\u0027:"},{"line_number":106,"context_line":"                commands +\u003d \u0027echo \"%s\" \u0027 % repo_list[repo]"},{"line_number":107,"context_line":"                commands +\u003d \u0027\u003e/etc/apt/sources.list.d/%s.list \u0026\u0026 \u0027 % repo"},{"line_number":108,"context_line":"        except KeyError:"},{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_fc280d37","line":108,"range":{"start_line":108,"start_character":15,"end_line":108,"end_character":23},"in_reply_to":"3fa7e38b_51510a30","updated":"2019-12-17 11:57:06.000000000","message":"Done","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1689ea65f3de6819177ad24478aaee538ccde5e0","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        except KeyError:"},{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_91a9c226","line":111,"range":{"start_line":111,"start_character":38,"end_line":111,"end_character":60},"updated":"2019-12-17 11:21:43.000000000","message":"repo_list shouldn\u0027t be None - now we set rhel to {}, and removed TypeError.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"3a29c470889fcf794466b5e03cadf6ec8971cba6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        except KeyError:"},{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_7c1c1d14","line":111,"range":{"start_line":111,"start_character":38,"end_line":111,"end_character":60},"in_reply_to":"3fa7e38b_91a9c226","updated":"2019-12-17 11:57:06.000000000","message":"Done","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1689ea65f3de6819177ad24478aaee538ccde5e0","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"},{"line_number":115,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_f146f67e","line":112,"range":{"start_line":112,"start_character":21,"end_line":112,"end_character":71},"updated":"2019-12-17 11:21:43.000000000","message":"Can remove this comment.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"3a29c470889fcf794466b5e03cadf6ec8971cba6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            pass"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"},{"line_number":115,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_9c19d924","line":112,"range":{"start_line":112,"start_character":21,"end_line":112,"end_character":71},"in_reply_to":"3fa7e38b_f146f67e","updated":"2019-12-17 11:57:06.000000000","message":"Done","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"},{"line_number":115,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":116,"context_line":"            commands \u003d \u0027yum-config-manager %s\u0027 % commands"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_51deea6a","line":113,"range":{"start_line":113,"start_character":39,"end_line":113,"end_character":58},"updated":"2019-12-17 10:24:50.000000000","message":"repos are enabled","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"3a29c470889fcf794466b5e03cadf6ec8971cba6","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if base_package_type \u003d\u003d \u0027rpm\u0027 and repo_list is not None and commands:"},{"line_number":112,"context_line":"        # NOTE(hrw): if repo_list is None then we have no repos defined"},{"line_number":113,"context_line":"        # if commands is empty then no are repos to enable"},{"line_number":114,"context_line":"        # otherwise we need to add command to handle repositories"},{"line_number":115,"context_line":"        if distro_package_manager \u003d\u003d \u0027yum\u0027:"},{"line_number":116,"context_line":"            commands \u003d \u0027yum-config-manager %s\u0027 % commands"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_3c16a5f4","line":113,"range":{"start_line":113,"start_character":39,"end_line":113,"end_character":58},"in_reply_to":"3fa7e38b_51deea6a","updated":"2019-12-17 11:57:06.000000000","message":"Done","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"}],"kolla/template/repos.yaml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1689ea65f3de6819177ad24478aaee538ccde5e0","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  nfs-ganesha: \"centos-nfs-ganesha28\""},{"line_number":26,"context_line":"  rabbitmq: \"rabbitmq_rabbitmq-server\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# NOTE(hrw): empty list to avoid TypeError"},{"line_number":29,"context_line":"rhel: {}"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"debian:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_7150c660","line":28,"range":{"start_line":28,"start_character":19,"end_line":28,"end_character":23},"updated":"2019-12-17 11:21:43.000000000","message":"nit: dict","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"}],"kolla/tests/test_methods.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86aa54623510db29d1e76b9d9ec2489386657a51","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            result \u003d methods.enable_repos(template_vars, [\u0027not-existing\u0027])"},{"line_number":83,"context_line":"            expectCmd \u003d \u0027\u0027"},{"line_number":84,"context_line":"            self.assertEqual(expectCmd, result)"},{"line_number":85,"context_line":"        except KeyError:"},{"line_number":86,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_33f96b81","line":85,"range":{"start_line":85,"start_character":15,"end_line":85,"end_character":23},"updated":"2019-12-09 12:15:39.000000000","message":"we\u0027re not really testing anything here if we get a keyerror","commit_id":"517fd2242175642fde481ea427f5bbb4c78ea0fd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1689ea65f3de6819177ad24478aaee538ccde5e0","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        expectCmd \u003d \u0027apt-get -y install --no-install-recommends package2.deb\u0027"},{"line_number":23,"context_line":"        self.assertEqual(expectCmd, result.split(\"\u0026\u0026\")[1].strip())"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_enable_repos_tripleo(self):"},{"line_number":26,"context_line":"        template_vars \u003d {"},{"line_number":27,"context_line":"            \u0027base_arch\u0027: \u0027x86_64\u0027,"},{"line_number":28,"context_line":"            \u0027base_distro\u0027: \u0027rhel\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_d1e97a7f","line":25,"range":{"start_line":25,"start_character":26,"end_line":25,"end_character":33},"updated":"2019-12-17 11:21:43.000000000","message":"nit: this is rhel, not tripleo. Tripleo can use centos too.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"3a29c470889fcf794466b5e03cadf6ec8971cba6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        expectCmd \u003d \u0027apt-get -y install --no-install-recommends package2.deb\u0027"},{"line_number":23,"context_line":"        self.assertEqual(expectCmd, result.split(\"\u0026\u0026\")[1].strip())"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_enable_repos_tripleo(self):"},{"line_number":26,"context_line":"        template_vars \u003d {"},{"line_number":27,"context_line":"            \u0027base_arch\u0027: \u0027x86_64\u0027,"},{"line_number":28,"context_line":"            \u0027base_distro\u0027: \u0027rhel\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_9cc79966","line":25,"range":{"start_line":25,"start_character":26,"end_line":25,"end_character":33},"in_reply_to":"3fa7e38b_d1e97a7f","updated":"2019-12-17 11:57:06.000000000","message":"Done","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \u0027distro_package_manager\u0027: \u0027yum\u0027"},{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027grafana\u0027])"},{"line_number":34,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":35,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_enable_repos_centos(self):"},{"line_number":38,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_116072a4","line":35,"range":{"start_line":33,"start_character":8,"end_line":35,"end_character":43},"updated":"2019-12-17 10:24:50.000000000","message":"this looks like a silent error to me","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9805e8528a3b4c18c7518b3e9aefa1ddba58c2e9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \u0027distro_package_manager\u0027: \u0027yum\u0027"},{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027grafana\u0027])"},{"line_number":34,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":35,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_enable_repos_centos(self):"},{"line_number":38,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_91c78266","line":35,"range":{"start_line":33,"start_character":8,"end_line":35,"end_character":43},"in_reply_to":"3fa7e38b_116072a4","updated":"2019-12-17 10:37:32.000000000","message":"test assumes that there are no tripleo repos defined like it is now.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027missing_repo\u0027])"},{"line_number":58,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":59,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_enable_repos_centos_multiple(self):"},{"line_number":62,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_716e8698","line":59,"updated":"2019-12-17 10:24:50.000000000","message":"ditto","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c5da5444429e6402c5543f6fa743734b20662ce4","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027missing_repo\u0027])"},{"line_number":58,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":59,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_enable_repos_centos_multiple(self):"},{"line_number":62,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_d1b17ae2","line":59,"in_reply_to":"3fa7e38b_11bcf2d9","updated":"2019-12-17 10:41:59.000000000","message":"It makes most sense to bail out with an error in this case rather than hiding the issue and then debugging elsewhere.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9805e8528a3b4c18c7518b3e9aefa1ddba58c2e9","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027missing_repo\u0027])"},{"line_number":58,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":59,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_enable_repos_centos_multiple(self):"},{"line_number":62,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_11bcf2d9","line":59,"in_reply_to":"3fa7e38b_716e8698","updated":"2019-12-17 10:37:32.000000000","message":"\u0027missing_repo\u0027 tests have to check that empty string will be returned. Previous code would return \"yum-config-manager \" string which would break build.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"8406332d63316fb0f33d39dbe6569382b6309743","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027missing_repo\u0027])"},{"line_number":58,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":59,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def test_enable_repos_centos_multiple(self):"},{"line_number":62,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_3171ee0e","line":59,"in_reply_to":"3fa7e38b_d1b17ae2","updated":"2019-12-17 11:02:53.000000000","message":"enable_repos() method is expected to give one line of commands. Working commands.\n\nEmpty line is also such one. And this is what test checks.","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"101934ee1ae8e7696977ee57b745e88540cf6e0d","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        result \u003d methods.enable_repos(template_vars, [\u0027missing_repo\u0027])"},{"line_number":94,"context_line":"        expectCmd \u003d \u0027\u0027"},{"line_number":95,"context_line":"        self.assertEqual(expectCmd, result)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def test_enable_repos_debian_multiple(self):"},{"line_number":98,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_916b0285","line":95,"updated":"2019-12-17 10:24:50.000000000","message":"ditto","commit_id":"4ef52784aa73ffdfaebf34ccb171b1dac8105350"}]}
