)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"4d30cfed1b8a66a0d7f2da6bd21e5799e8fea79b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"c250a841_cd20d9d6","updated":"2026-07-14 08:55:22.000000000","message":"recheck unrelated failures","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"950df703b1d7e0f4801ac662a2a063a8a249af38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"5421962f_50f04b98","updated":"2026-07-15 13:35:17.000000000","message":"recheck","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"93f5d7b216bc3505fad343faa99b29b2260a210d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"98cf6f6f_6c7d7a45","updated":"2026-08-05 12:41:10.000000000","message":"Tested, worked for me","commit_id":"5aabec47f057d9cb32aab520d666e51bd9ee37c6"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6837f90324fed5638bf4dfc8f274d9b5d6b0fe8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"fca7f79c_f85ae3ff","updated":"2026-08-05 12:34:51.000000000","message":"recheck debian/ubuntu mirror fail","commit_id":"5aabec47f057d9cb32aab520d666e51bd9ee37c6"}],"kolla/docker/base/Dockerfile.j2":[{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"459d7b4df35bacc8c3d274db2ea07f3ff7671068","unresolved":true,"context_lines":[{"line_number":347,"context_line":"{% endblock %}"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":350,"context_line":"{{ macros.kolla_cleanup_repos() }}"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"{% block base_footer %}{% endblock %}"},{"line_number":353,"context_line":"CMD [\"kolla_start\"]"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"70c96b92_eb02e4e8","line":350,"updated":"2026-07-28 11:30:45.000000000","message":"I am wondering if this should be after footer - to allow some customization","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"aff3c39cd3297ed2ae1d96c9e253d3ccbe337b92","unresolved":false,"context_lines":[{"line_number":347,"context_line":"{% endblock %}"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":350,"context_line":"{{ macros.kolla_cleanup_repos() }}"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"{% block base_footer %}{% endblock %}"},{"line_number":353,"context_line":"CMD [\"kolla_start\"]"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"746a6b68_42b41bd4","line":350,"in_reply_to":"70c96b92_eb02e4e8","updated":"2026-07-31 17:20:17.000000000","message":"Done","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"}],"kolla/docker/macros.j2":[{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"459d7b4df35bacc8c3d274db2ea07f3ff7671068","unresolved":true,"context_lines":[{"line_number":100,"context_line":"{{ cleanup_repos() }}"},{"line_number":101,"context_line":"{%- endmacro %}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"{% macro kolla_enable_base_repos() %}"},{"line_number":104,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":105,"context_line":"{{ handle_repos([\u0027baseos\u0027, \u0027appstream\u0027], \u0027enable\u0027) }}"},{"line_number":106,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"4d6c56f9_5a13ae4c","line":103,"updated":"2026-07-28 11:30:45.000000000","message":"this run in images that don\u0027t have package installation - creating unnecessary layers - also it re-creates base image repo files\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_335/openstack/335b357030fa47628f77dfa7b6d8479a/kolla/build/work_dir/docker/cinder/cinder-scheduler/Dockerfile.j2\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_335/openstack/335b357030fa47628f77dfa7b6d8479a/kolla/build/work_dir/docker/cinder/cinder-scheduler/Dockerfile","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"aff3c39cd3297ed2ae1d96c9e253d3ccbe337b92","unresolved":false,"context_lines":[{"line_number":100,"context_line":"{{ cleanup_repos() }}"},{"line_number":101,"context_line":"{%- endmacro %}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"{% macro kolla_enable_base_repos() %}"},{"line_number":104,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":105,"context_line":"{{ handle_repos([\u0027baseos\u0027, \u0027appstream\u0027], \u0027enable\u0027) }}"},{"line_number":106,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"7763b361_b16545be","line":103,"in_reply_to":"4d6c56f9_5a13ae4c","updated":"2026-07-31 17:20:17.000000000","message":"Done","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"}],"kolla/image/kolla_worker.py":[{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"18273196ed1d7f30145e32ab51c668c098f0cce8","unresolved":true,"context_lines":[{"line_number":434,"context_line":"                        lines[i + 1:i + 1] \u003d pip_args"},{"line_number":435,"context_line":"                        break"},{"line_number":436,"context_line":"                content \u003d \u0027\\n\u0027.join(lines)"},{"line_number":437,"context_line":"            if repos_cleanup_cmd:"},{"line_number":438,"context_line":"                lines \u003d content.split(\u0027\\n\u0027)"},{"line_number":439,"context_line":"                for i in range(len(lines) - 1, -1, -1):"},{"line_number":440,"context_line":"                    if lines[i].startswith(\u0027CMD \u0027):"}],"source_content_type":"text/x-python","patch_set":10,"id":"8caae48e_5e0e3ffe","line":437,"updated":"2026-06-24 13:41:04.000000000","message":"I think we\u0027re adding cleanup after USER grafana/fluentd etc., so it will try to remove/restore root-owned repo files as non-root user and it may fail or not cleanup repos. Shouldn\u0027t we put it before USER?","commit_id":"a01c7e547e24726d568e4412db190a5ebf9d1b9f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"dd9ef070856e6be9c1104b8b1cb80ec8ae307437","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                        lines[i + 1:i + 1] \u003d pip_args"},{"line_number":435,"context_line":"                        break"},{"line_number":436,"context_line":"                content \u003d \u0027\\n\u0027.join(lines)"},{"line_number":437,"context_line":"            if repos_cleanup_cmd:"},{"line_number":438,"context_line":"                lines \u003d content.split(\u0027\\n\u0027)"},{"line_number":439,"context_line":"                for i in range(len(lines) - 1, -1, -1):"},{"line_number":440,"context_line":"                    if lines[i].startswith(\u0027CMD \u0027):"}],"source_content_type":"text/x-python","patch_set":10,"id":"56a558f2_ddc02913","line":437,"in_reply_to":"8caae48e_5e0e3ffe","updated":"2026-07-13 06:17:17.000000000","message":"Done","commit_id":"a01c7e547e24726d568e4412db190a5ebf9d1b9f"}],"kolla/template/methods.py":[{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"18273196ed1d7f30145e32ab51c668c098f0cce8","unresolved":true,"context_lines":[{"line_number":214,"context_line":"                if mode \u003d\u003d \u0027enable\u0027:"},{"line_number":215,"context_line":"                    if not _repo.get(\u0027distro\u0027):"},{"line_number":216,"context_line":"                        if _repo.get(\u0027build_only\u0027):"},{"line_number":217,"context_line":"                            repo_file \u003d \u0027/etc/yum.repos.d/{}.repo\u0027.format(repo)"},{"line_number":218,"context_line":"                            if repo_file not in backed_up_files:"},{"line_number":219,"context_line":"                                commands +\u003d RPM_BACKUP.format("},{"line_number":220,"context_line":"                                    backup_dir\u003dBACKUP_DIR, repo\u003drepo)"}],"source_content_type":"text/x-python","patch_set":10,"id":"4c38ca08_f7eb4a9f","line":217,"updated":"2026-06-24 13:41:04.000000000","message":"I think we\u0027re removing rocky.repo file and trying to backup bases.repo file, so we won\u0027t restore rocky.repo file","commit_id":"a01c7e547e24726d568e4412db190a5ebf9d1b9f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"dd9ef070856e6be9c1104b8b1cb80ec8ae307437","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                if mode \u003d\u003d \u0027enable\u0027:"},{"line_number":215,"context_line":"                    if not _repo.get(\u0027distro\u0027):"},{"line_number":216,"context_line":"                        if _repo.get(\u0027build_only\u0027):"},{"line_number":217,"context_line":"                            repo_file \u003d \u0027/etc/yum.repos.d/{}.repo\u0027.format(repo)"},{"line_number":218,"context_line":"                            if repo_file not in backed_up_files:"},{"line_number":219,"context_line":"                                commands +\u003d RPM_BACKUP.format("},{"line_number":220,"context_line":"                                    backup_dir\u003dBACKUP_DIR, repo\u003drepo)"}],"source_content_type":"text/x-python","patch_set":10,"id":"8de32610_18223b68","line":217,"in_reply_to":"4c38ca08_f7eb4a9f","updated":"2026-07-13 06:17:17.000000000","message":"Done","commit_id":"a01c7e547e24726d568e4412db190a5ebf9d1b9f"},{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"459d7b4df35bacc8c3d274db2ea07f3ff7671068","unresolved":true,"context_lines":[{"line_number":222,"context_line":"                if mode \u003d\u003d \u0027enable\u0027:"},{"line_number":223,"context_line":"                    if not _repo.get(\u0027distro\u0027):"},{"line_number":224,"context_line":"                        if _repo.get(\u0027build_only\u0027):"},{"line_number":225,"context_line":"                            repo_file \u003d \u0027/etc/yum.repos.d/{}.repo\u0027.format(repo)"},{"line_number":226,"context_line":"                            if repo_file not in backed_up_files:"},{"line_number":227,"context_line":"                                commands +\u003d RPM_BACKUP.format("},{"line_number":228,"context_line":"                                    backup_dir\u003dBACKUP_DIR, repo\u003drepo)"}],"source_content_type":"text/x-python","patch_set":25,"id":"b95cda51_6a6222c0","line":225,"updated":"2026-07-28 11:30:45.000000000","message":"rocky stores baseos/appstream/crb live in rocky.repo, we\u0027re not taking into account that for backup and restore - it tries to backup non existing files https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_335/openstack/335b357030fa47628f77dfa7b6d8479a/kolla/build/work_dir/docker/base/Dockerfile","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"018e6e5fcb304be40079c348b367b4fa38fbd7dc","unresolved":false,"context_lines":[{"line_number":222,"context_line":"                if mode \u003d\u003d \u0027enable\u0027:"},{"line_number":223,"context_line":"                    if not _repo.get(\u0027distro\u0027):"},{"line_number":224,"context_line":"                        if _repo.get(\u0027build_only\u0027):"},{"line_number":225,"context_line":"                            repo_file \u003d \u0027/etc/yum.repos.d/{}.repo\u0027.format(repo)"},{"line_number":226,"context_line":"                            if repo_file not in backed_up_files:"},{"line_number":227,"context_line":"                                commands +\u003d RPM_BACKUP.format("},{"line_number":228,"context_line":"                                    backup_dir\u003dBACKUP_DIR, repo\u003drepo)"}],"source_content_type":"text/x-python","patch_set":25,"id":"0272d1b4_cfdac6d2","line":225,"in_reply_to":"b95cda51_6a6222c0","updated":"2026-08-05 08:19:34.000000000","message":"Done","commit_id":"d7aa592e4dc6beda7f88066ba8ab0b141ac88959"}],"kolla/tests/test_methods.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a75d629727a85deb24586eb0ee559b05bbc05790","unresolved":false,"context_lines":[{"line_number":478,"context_line":"            os.unlink(fname)"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":481,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos call.\"\"\""},{"line_number":482,"context_line":"        repos \u003d {\u0027debian\u0027: {"},{"line_number":483,"context_line":"            \u0027mirror-a\u0027: {"},{"line_number":484,"context_line":"                \u0027build_only\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e4ee9d5b_3feebeb5","line":481,"updated":"2026-06-17 06:34:08.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1423290a81b86bbc681578c27199a308e6d784c6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a75d629727a85deb24586eb0ee559b05bbc05790","unresolved":false,"context_lines":[{"line_number":590,"context_line":"        self.assertEqual(\u0027\u0027, result)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    def test_get_cleanup_commands_skips_distro_repos(self):"},{"line_number":593,"context_line":"        \"\"\"distro: True repos are a no-op in handle_repos so need no cleanup.\"\"\""},{"line_number":594,"context_line":"        repos \u003d {\u0027debian\u0027: {\u0027debian\u0027: {"},{"line_number":595,"context_line":"            \u0027build_only\u0027: True,"},{"line_number":596,"context_line":"            \u0027distro\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6de76b17_fb8b409b","line":593,"updated":"2026-06-17 06:34:08.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"1423290a81b86bbc681578c27199a308e6d784c6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f435be8392fcb74f46d352cbb0a6da940b7cc4a8","unresolved":false,"context_lines":[{"line_number":478,"context_line":"            os.unlink(fname)"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":481,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos call.\"\"\""},{"line_number":482,"context_line":"        repos \u003d {\u0027debian\u0027: {"},{"line_number":483,"context_line":"            \u0027mirror-a\u0027: {"},{"line_number":484,"context_line":"                \u0027build_only\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae50ea7_595f0b81","line":481,"updated":"2026-06-17 10:49:21.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"e36f642ee073361eb7a99dfc0999f024aebd5ed4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f435be8392fcb74f46d352cbb0a6da940b7cc4a8","unresolved":false,"context_lines":[{"line_number":590,"context_line":"        self.assertEqual(\u0027\u0027, result)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    def test_get_cleanup_commands_skips_distro_repos(self):"},{"line_number":593,"context_line":"        \"\"\"distro: True repos are a no-op in handle_repos so need no cleanup.\"\"\""},{"line_number":594,"context_line":"        repos \u003d {\u0027debian\u0027: {\u0027debian\u0027: {"},{"line_number":595,"context_line":"            \u0027build_only\u0027: True,"},{"line_number":596,"context_line":"            \u0027distro\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"70bb282a_810e38d7","line":593,"updated":"2026-06-17 10:49:21.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"e36f642ee073361eb7a99dfc0999f024aebd5ed4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e25a3d533fc0064a4adefbdabe3741ec73d0a716","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            os.unlink(fname)"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":487,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos call.\"\"\""},{"line_number":488,"context_line":"        repos \u003d {\u0027debian\u0027: {"},{"line_number":489,"context_line":"            \u0027mirror-a\u0027: {"},{"line_number":490,"context_line":"                \u0027build_only\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"a73b6918_55efcb23","line":487,"updated":"2026-06-17 18:02:01.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"51ba4186e184478893473780e3051bf42d50200d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e25a3d533fc0064a4adefbdabe3741ec73d0a716","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        self.assertEqual(\u0027\u0027, result)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def test_get_cleanup_commands_skips_distro_repos(self):"},{"line_number":605,"context_line":"        \"\"\"distro: True repos are a no-op in handle_repos so need no cleanup.\"\"\""},{"line_number":606,"context_line":"        repos \u003d {\u0027debian\u0027: {\u0027debian\u0027: {"},{"line_number":607,"context_line":"            \u0027build_only\u0027: True,"},{"line_number":608,"context_line":"            \u0027distro\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9b7c0d37_58b1d77e","line":605,"updated":"2026-06-17 18:02:01.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"51ba4186e184478893473780e3051bf42d50200d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        finally:"},{"line_number":619,"context_line":"            os.unlink(fname)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(self):"},{"line_number":622,"context_line":"        \"\"\"Overriding distro repos in \u0027rpm\u0027 section must not be undone by the"},{"line_number":623,"context_line":"        more-specific distro section merging distro:True back on top.\"\"\""},{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"2f325d25_77afce6c","line":621,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":619,"context_line":"            os.unlink(fname)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(self):"},{"line_number":622,"context_line":"        \"\"\"Overriding distro repos in \u0027rpm\u0027 section must not be undone by the"},{"line_number":623,"context_line":"        more-specific distro section merging distro:True back on top.\"\"\""},{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"},{"line_number":625,"context_line":"            \u0027baseos\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"2f38b4aa_362036a8","line":622,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":619,"context_line":"            os.unlink(fname)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(self):"},{"line_number":622,"context_line":"        \"\"\"Overriding distro repos in \u0027rpm\u0027 section must not be undone by the"},{"line_number":623,"context_line":"        more-specific distro section merging distro:True back on top.\"\"\""},{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"},{"line_number":625,"context_line":"            \u0027baseos\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5ef6e984_674042b4","line":622,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(self):"},{"line_number":622,"context_line":"        \"\"\"Overriding distro repos in \u0027rpm\u0027 section must not be undone by the"},{"line_number":623,"context_line":"        more-specific distro section merging distro:True back on top.\"\"\""},{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"},{"line_number":625,"context_line":"            \u0027baseos\u0027: {"},{"line_number":626,"context_line":"                \u0027name\u0027: \u0027baseos\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1b85f1e9_b269cb62","line":623,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(self):"},{"line_number":622,"context_line":"        \"\"\"Overriding distro repos in \u0027rpm\u0027 section must not be undone by the"},{"line_number":623,"context_line":"        more-specific distro section merging distro:True back on top.\"\"\""},{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"},{"line_number":625,"context_line":"            \u0027baseos\u0027: {"},{"line_number":626,"context_line":"                \u0027name\u0027: \u0027baseos\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da7d43ff_68a59bfe","line":623,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":624,"context_line":"        repos \u003d {\u0027rpm\u0027: {"},{"line_number":625,"context_line":"            \u0027baseos\u0027: {"},{"line_number":626,"context_line":"                \u0027name\u0027: \u0027baseos\u0027,"},{"line_number":627,"context_line":"                \u0027baseurl\u0027: \u0027http://mirror.example.com/centos/10/BaseOS/$basearch/\u0027,"},{"line_number":628,"context_line":"                \u0027gpgkey\u0027: \u0027file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial\u0027,"},{"line_number":629,"context_line":"            },"},{"line_number":630,"context_line":"            \u0027appstream\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"dcd69c03_a881f1a8","line":627,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":629,"context_line":"            },"},{"line_number":630,"context_line":"            \u0027appstream\u0027: {"},{"line_number":631,"context_line":"                \u0027name\u0027: \u0027appstream\u0027,"},{"line_number":632,"context_line":"                \u0027baseurl\u0027: \u0027http://mirror.example.com/centos/10/AppStream/$basearch/\u0027,"},{"line_number":633,"context_line":"                \u0027gpgkey\u0027: \u0027file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial\u0027,"},{"line_number":634,"context_line":"            },"},{"line_number":635,"context_line":"            \u0027crb\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"c67b99c4_be2cd8c1","line":632,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40af08f11144413bc0d3022be3cc73eea4bc381a","unresolved":false,"context_lines":[{"line_number":634,"context_line":"            },"},{"line_number":635,"context_line":"            \u0027crb\u0027: {"},{"line_number":636,"context_line":"                \u0027name\u0027: \u0027crb\u0027,"},{"line_number":637,"context_line":"                \u0027baseurl\u0027: \u0027http://mirror.example.com/centos/10/CRB/$basearch/\u0027,"},{"line_number":638,"context_line":"                \u0027gpgkey\u0027: \u0027file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial\u0027,"},{"line_number":639,"context_line":"            },"},{"line_number":640,"context_line":"        }}"}],"source_content_type":"text/x-python","patch_set":8,"id":"2318f8a8_712777aa","line":637,"updated":"2026-06-22 07:49:15.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"88722dfd63d68e687e0cde2422c2c2fe9c3c4818"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                result.index(\u0027cp /etc/apt/sources.list.d/build-only-mirror\u0027),"},{"line_number":434,"context_line":"                result.index(\"echo \u0027Uris:\"))"},{"line_number":435,"context_line":"        finally:"},{"line_number":436,"context_line":"            os.unlink(fname)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_handle_repos_rpm_build_only_backup(self):"},{"line_number":439,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":15,"id":"22c1e211_476a7b19","line":436,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                    \u0027cp /etc/yum.repos.d/build-only-mirror.repo\u0027),"},{"line_number":470,"context_line":"                result.index(\u0027grep -rlF\u0027))"},{"line_number":471,"context_line":"        finally:"},{"line_number":472,"context_line":"            os.unlink(fname)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":475,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos.\"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"f8527469_eee1bd08","line":472,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    \u0027cp /etc/apt/sources.list.d/mirror-b.sources\u0027"},{"line_number":515,"context_line":"                    \u0027 /tmp/kolla-repos-backup/mirror-b.sources\u0027))"},{"line_number":516,"context_line":"        finally:"},{"line_number":517,"context_line":"            os.unlink(fname)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    def test_handle_repos_without_build_only_no_backup(self):"},{"line_number":520,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":15,"id":"300be01f_16ab68d3","line":517,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":554,"context_line":"                result)"},{"line_number":555,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":556,"context_line":"        finally:"},{"line_number":557,"context_line":"            os.unlink(fname)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_cleanup_commands_rpm(self):"},{"line_number":560,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":15,"id":"844e2049_000b01c7","line":557,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                result)"},{"line_number":584,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":585,"context_line":"        finally:"},{"line_number":586,"context_line":"            os.unlink(fname)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_get_cleanup_commands_empty_without_build_only(self):"},{"line_number":589,"context_line":"        result \u003d methods.get_cleanup_commands(None, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"336e57ba_0f80f095","line":586,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"39d2c3a7a155051215db53e76facc18d1e39e1bd","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                fname, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"},{"line_number":605,"context_line":"            self.assertEqual(\u0027\u0027, result)"},{"line_number":606,"context_line":"        finally:"},{"line_number":607,"context_line":"            os.unlink(fname)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section("},{"line_number":610,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"29aecf27_6f44e21d","line":607,"updated":"2026-07-13 08:22:05.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"84583995d1fc4070804eb76c39f77880020023fc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                result.index(\u0027cp /etc/apt/sources.list.d/build-only-mirror\u0027),"},{"line_number":434,"context_line":"                result.index(\"echo \u0027Uris:\"))"},{"line_number":435,"context_line":"        finally:"},{"line_number":436,"context_line":"            os.unlink(fname)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_handle_repos_rpm_build_only_backup(self):"},{"line_number":439,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":16,"id":"6d324845_f4fc8f13","line":436,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                    \u0027cp /etc/yum.repos.d/build-only-mirror.repo\u0027),"},{"line_number":470,"context_line":"                result.index(\u0027grep -rlF\u0027))"},{"line_number":471,"context_line":"        finally:"},{"line_number":472,"context_line":"            os.unlink(fname)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":475,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos.\"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"23387831_fe70158f","line":472,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    \u0027cp /etc/apt/sources.list.d/mirror-b.sources\u0027"},{"line_number":515,"context_line":"                    \u0027 /tmp/kolla-repos-backup/mirror-b.sources\u0027))"},{"line_number":516,"context_line":"        finally:"},{"line_number":517,"context_line":"            os.unlink(fname)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    def test_handle_repos_without_build_only_no_backup(self):"},{"line_number":520,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"52dcd0e9_b5b78abb","line":517,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":554,"context_line":"                result)"},{"line_number":555,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":556,"context_line":"        finally:"},{"line_number":557,"context_line":"            os.unlink(fname)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_cleanup_commands_rpm(self):"},{"line_number":560,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":16,"id":"bda77b8b_66e77ad5","line":557,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                result)"},{"line_number":584,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":585,"context_line":"        finally:"},{"line_number":586,"context_line":"            os.unlink(fname)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_get_cleanup_commands_empty_without_build_only(self):"},{"line_number":589,"context_line":"        result \u003d methods.get_cleanup_commands(None, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"8a8e4d13_ef76f189","line":586,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1d959e512e856db370fe18eee431de7f80d54244","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                fname, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"},{"line_number":605,"context_line":"            self.assertEqual(\u0027\u0027, result)"},{"line_number":606,"context_line":"        finally:"},{"line_number":607,"context_line":"            os.unlink(fname)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section("},{"line_number":610,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":16,"id":"eca7d3ff_095bca4d","line":607,"updated":"2026-07-14 08:26:34.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6689f208c89765c923bd0adc08448e73586256eb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                result.index(\u0027cp /etc/apt/sources.list.d/build-only-mirror\u0027),"},{"line_number":434,"context_line":"                result.index(\"echo \u0027Uris:\"))"},{"line_number":435,"context_line":"        finally:"},{"line_number":436,"context_line":"            os.unlink(fname)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_handle_repos_rpm_build_only_backup(self):"},{"line_number":439,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"39f07749_cec6418c","line":436,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                result.index(\u0027cp /etc/apt/sources.list.d/build-only-mirror\u0027),"},{"line_number":434,"context_line":"                result.index(\"echo \u0027Uris:\"))"},{"line_number":435,"context_line":"        finally:"},{"line_number":436,"context_line":"            os.unlink(fname)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_handle_repos_rpm_build_only_backup(self):"},{"line_number":439,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"a7d1a515_d52d34d9","line":436,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                    \u0027cp /etc/yum.repos.d/build-only-mirror.repo\u0027),"},{"line_number":470,"context_line":"                result.index(\u0027grep -rlF\u0027))"},{"line_number":471,"context_line":"        finally:"},{"line_number":472,"context_line":"            os.unlink(fname)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":475,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"515ffd53_31b1b054","line":472,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                    \u0027cp /etc/yum.repos.d/build-only-mirror.repo\u0027),"},{"line_number":470,"context_line":"                result.index(\u0027grep -rlF\u0027))"},{"line_number":471,"context_line":"        finally:"},{"line_number":472,"context_line":"            os.unlink(fname)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":475,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"d9daae81_1306b382","line":472,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    \u0027cp /etc/apt/sources.list.d/mirror-b.sources\u0027"},{"line_number":515,"context_line":"                    \u0027 /tmp/kolla-repos-backup/mirror-b.sources\u0027))"},{"line_number":516,"context_line":"        finally:"},{"line_number":517,"context_line":"            os.unlink(fname)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    def test_handle_repos_without_build_only_no_backup(self):"},{"line_number":520,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a12a59f_a7b79dec","line":517,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    \u0027cp /etc/apt/sources.list.d/mirror-b.sources\u0027"},{"line_number":515,"context_line":"                    \u0027 /tmp/kolla-repos-backup/mirror-b.sources\u0027))"},{"line_number":516,"context_line":"        finally:"},{"line_number":517,"context_line":"            os.unlink(fname)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    def test_handle_repos_without_build_only_no_backup(self):"},{"line_number":520,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":17,"id":"7f1ef605_ff08ed1c","line":517,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":554,"context_line":"                result)"},{"line_number":555,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":556,"context_line":"        finally:"},{"line_number":557,"context_line":"            os.unlink(fname)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_cleanup_commands_rpm(self):"},{"line_number":560,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"6de6e5d2_032c31a4","line":557,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":554,"context_line":"                result)"},{"line_number":555,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":556,"context_line":"        finally:"},{"line_number":557,"context_line":"            os.unlink(fname)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_cleanup_commands_rpm(self):"},{"line_number":560,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"e8e8129a_d2ae27f1","line":557,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                result)"},{"line_number":584,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":585,"context_line":"        finally:"},{"line_number":586,"context_line":"            os.unlink(fname)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_get_cleanup_commands_empty_without_build_only(self):"},{"line_number":589,"context_line":"        result \u003d methods.get_cleanup_commands(None, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6f0d4e_26276aea","line":586,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                result)"},{"line_number":584,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":585,"context_line":"        finally:"},{"line_number":586,"context_line":"            os.unlink(fname)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_get_cleanup_commands_empty_without_build_only(self):"},{"line_number":589,"context_line":"        result \u003d methods.get_cleanup_commands(None, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"e2728e73_7fe2ac1a","line":586,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"950d6577b63bcdf7cce331ee3470acb84940f91c","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                fname, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"},{"line_number":605,"context_line":"            self.assertEqual(\u0027\u0027, result)"},{"line_number":606,"context_line":"        finally:"},{"line_number":607,"context_line":"            os.unlink(fname)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section("},{"line_number":610,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"90e97aef_37d9bb51","line":607,"updated":"2026-07-15 16:12:23.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"168aec3b20c30d4af1f5acfd70c332076fe5d3ec","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                fname, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"},{"line_number":605,"context_line":"            self.assertEqual(\u0027\u0027, result)"},{"line_number":606,"context_line":"        finally:"},{"line_number":607,"context_line":"            os.unlink(fname)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section("},{"line_number":610,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"b78d3c8c_920a5e70","line":607,"updated":"2026-07-14 11:31:37.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"6ecf7ee85615b1bc28de496f97bbc9b3cfb102dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                result.index(\u0027cp /etc/apt/sources.list.d/build-only-mirror\u0027),"},{"line_number":434,"context_line":"                result.index(\"echo \u0027Uris:\"))"},{"line_number":435,"context_line":"        finally:"},{"line_number":436,"context_line":"            os.unlink(fname)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_handle_repos_rpm_build_only_backup(self):"},{"line_number":439,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":18,"id":"00885d1f_e733ec3f","line":436,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":469,"context_line":"                    \u0027cp /etc/yum.repos.d/build-only-mirror.repo\u0027),"},{"line_number":470,"context_line":"                result.index(\u0027grep -rlF\u0027))"},{"line_number":471,"context_line":"        finally:"},{"line_number":472,"context_line":"            os.unlink(fname)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_handle_repos_build_only_no_double_backup(self):"},{"line_number":475,"context_line":"        \"\"\"Each distinct file is backed up exactly once per handle_repos.\"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"83999f16_69c7efa8","line":472,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    \u0027cp /etc/apt/sources.list.d/mirror-b.sources\u0027"},{"line_number":515,"context_line":"                    \u0027 /tmp/kolla-repos-backup/mirror-b.sources\u0027))"},{"line_number":516,"context_line":"        finally:"},{"line_number":517,"context_line":"            os.unlink(fname)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"    def test_handle_repos_without_build_only_no_backup(self):"},{"line_number":520,"context_line":"        template_vars \u003d {"}],"source_content_type":"text/x-python","patch_set":18,"id":"2232eee0_02b97295","line":517,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":554,"context_line":"                result)"},{"line_number":555,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":556,"context_line":"        finally:"},{"line_number":557,"context_line":"            os.unlink(fname)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_cleanup_commands_rpm(self):"},{"line_number":560,"context_line":"        repos \u003d {\u0027rpm\u0027: {\u0027build-only-mirror\u0027: {"}],"source_content_type":"text/x-python","patch_set":18,"id":"0d64a7e4_f76c7b6b","line":557,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                result)"},{"line_number":584,"context_line":"            self.assertIn(\u0027rm -rf /tmp/kolla-repos-backup\u0027, result)"},{"line_number":585,"context_line":"        finally:"},{"line_number":586,"context_line":"            os.unlink(fname)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_get_cleanup_commands_empty_without_build_only(self):"},{"line_number":589,"context_line":"        result \u003d methods.get_cleanup_commands(None, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"a94c17ce_f673743d","line":586,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e6805d24d45dfbfd82349d89b81838438578d149","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                fname, \u0027deb\u0027, \u0027debian\u0027, \u0027x86_64\u0027)"},{"line_number":605,"context_line":"            self.assertEqual(\u0027\u0027, result)"},{"line_number":606,"context_line":"        finally:"},{"line_number":607,"context_line":"            os.unlink(fname)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section("},{"line_number":610,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":18,"id":"7de7675d_f217a67d","line":607,"updated":"2026-07-17 11:01:15.000000000","message":"pep8: F821 undefined name \u0027os\u0027","commit_id":"7ef51cf6e7217255b38b9ca9d4d87144ba72e302"}]}
