)]}'
{"tripleoclient/utils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6984c319456d46633102685c90d1df42f5f764d8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        ...         f.write(\u0027test\u0027)"},{"line_number":76,"context_line":"        :param directory: path to change directory to"},{"line_number":77,"context_line":"        :type directory: `string`"},{"line_number":78,"context_line":"        \"\"\""},{"line_number":79,"context_line":"        self.dir \u003d directory"},{"line_number":80,"context_line":"        self.pwd \u003d self.cwd \u003d os.getcwd()"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_ac96d43c","line":78,"updated":"2020-07-15 20:37:19.000000000","message":"pep8: H405  multi line docstring summary not separated with an empty line","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6955eadb35adb796000dd66b7f7a3f7583bc4c3b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        ...         f.write(\u0027test\u0027)"},{"line_number":76,"context_line":"        :param directory: path to change directory to"},{"line_number":77,"context_line":"        :type directory: `string`"},{"line_number":78,"context_line":"        \"\"\""},{"line_number":79,"context_line":"        self.dir \u003d directory"},{"line_number":80,"context_line":"        self.pwd \u003d self.cwd \u003d os.getcwd()"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_a7b26de3","line":78,"in_reply_to":"bf51134e_ac96d43c","updated":"2020-07-15 21:39:31.000000000","message":"Done","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6984c319456d46633102685c90d1df42f5f764d8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        :type cleanup: `boolean`"},{"line_number":116,"context_line":"        :param chdir: Change to/from the created temporary dir on enter/exit."},{"line_number":117,"context_line":"        :type chdir: `boolean`"},{"line_number":118,"context_line":"        \"\"\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        # NOTE(cloudnull): kwargs for tempfile.mkdtemp are created"},{"line_number":121,"context_line":"        #                  because args are not processed correctly"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_8c99506e","line":118,"updated":"2020-07-15 20:37:19.000000000","message":"pep8: H405  multi line docstring summary not separated with an empty line","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6955eadb35adb796000dd66b7f7a3f7583bc4c3b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        :type cleanup: `boolean`"},{"line_number":116,"context_line":"        :param chdir: Change to/from the created temporary dir on enter/exit."},{"line_number":117,"context_line":"        :type chdir: `boolean`"},{"line_number":118,"context_line":"        \"\"\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        # NOTE(cloudnull): kwargs for tempfile.mkdtemp are created"},{"line_number":121,"context_line":"        #                  because args are not processed correctly"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_47c39138","line":118,"in_reply_to":"bf51134e_8c99506e","updated":"2020-07-15 21:39:31.000000000","message":"Done","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6984c319456d46633102685c90d1df42f5f764d8","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    :param dir_path: full path of the directories to make."},{"line_number":158,"context_line":"    :type dir_path: `string`"},{"line_number":159,"context_line":"    :returns: `boolean`"},{"line_number":160,"context_line":"    \"\"\""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    try:"},{"line_number":163,"context_line":"        os.makedirs(dir_path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_eca3ac9c","line":160,"updated":"2020-07-15 20:37:19.000000000","message":"pep8: H405  multi line docstring summary not separated with an empty line","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6955eadb35adb796000dd66b7f7a3f7583bc4c3b","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    :param dir_path: full path of the directories to make."},{"line_number":158,"context_line":"    :type dir_path: `string`"},{"line_number":159,"context_line":"    :returns: `boolean`"},{"line_number":160,"context_line":"    \"\"\""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    try:"},{"line_number":163,"context_line":"        os.makedirs(dir_path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_27be5dad","line":160,"in_reply_to":"bf51134e_eca3ac9c","updated":"2020-07-15 21:39:31.000000000","message":"Done","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6955eadb35adb796000dd66b7f7a3f7583bc4c3b","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    try:"},{"line_number":163,"context_line":"        os.makedirs(dir_path)"},{"line_number":164,"context_line":"    except FileExistsError:"},{"line_number":165,"context_line":"        LOG.debug("},{"line_number":166,"context_line":"            \u0027Directory \"{}\" was not created because it\u0027"},{"line_number":167,"context_line":"            \u0027 already exists.\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_07a4f9a4","line":164,"range":{"start_line":164,"start_character":11,"end_line":164,"end_character":26},"updated":"2020-07-15 21:39:31.000000000","message":"FYI this doesn\u0027t exist. I think you want OSError.","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"944dffa3578ae6174e39d5a04f9d22aceb93292e","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    try:"},{"line_number":163,"context_line":"        os.makedirs(dir_path)"},{"line_number":164,"context_line":"    except FileExistsError:"},{"line_number":165,"context_line":"        LOG.debug("},{"line_number":166,"context_line":"            \u0027Directory \"{}\" was not created because it\u0027"},{"line_number":167,"context_line":"            \u0027 already exists.\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_026b47b6","line":164,"range":{"start_line":164,"start_character":11,"end_line":164,"end_character":26},"in_reply_to":"bf51134e_07a4f9a4","updated":"2020-07-15 22:18:34.000000000","message":"good catch, this is py3 only.","commit_id":"c78cdbb4e64f976ae1fa960a0c54c0352c40048c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1852336764c56dbfcbd8e57b7d2c33b7d7b77dbf","unresolved":false,"context_lines":[{"line_number":328,"context_line":"            raise RuntimeError(\u0027No such playbook: %s\u0027 % play)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        cmd \u003d [\"ansible-playbook-{}\".format(sys.version_info[0]),"},{"line_number":331,"context_line":"            \u0027-u\u0027, ssh_user,"},{"line_number":332,"context_line":"            \u0027-i\u0027, inventory"},{"line_number":333,"context_line":"            ]"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_ad44a075","line":331,"updated":"2020-07-22 22:21:33.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"db5a45af4d2beb6eea63fbd878db22621c1019cc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1852336764c56dbfcbd8e57b7d2c33b7d7b77dbf","unresolved":false,"context_lines":[{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        cmd \u003d [\"ansible-playbook-{}\".format(sys.version_info[0]),"},{"line_number":331,"context_line":"            \u0027-u\u0027, ssh_user,"},{"line_number":332,"context_line":"            \u0027-i\u0027, inventory"},{"line_number":333,"context_line":"            ]"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        if 0 \u003c verbosity \u003c 6:"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_8d471c78","line":332,"updated":"2020-07-22 22:21:33.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"db5a45af4d2beb6eea63fbd878db22621c1019cc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1852336764c56dbfcbd8e57b7d2c33b7d7b77dbf","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        cmd \u003d [\"ansible-playbook-{}\".format(sys.version_info[0]),"},{"line_number":331,"context_line":"            \u0027-u\u0027, ssh_user,"},{"line_number":332,"context_line":"            \u0027-i\u0027, inventory"},{"line_number":333,"context_line":"            ]"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        if 0 \u003c verbosity \u003c 6:"},{"line_number":336,"context_line":"            cmd.extend([\u0027-\u0027 + (\u0027v\u0027 * verbosity)])"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_ed5df848","line":333,"updated":"2020-07-22 22:21:33.000000000","message":"pep8: E124 closing bracket does not match visual indentation","commit_id":"db5a45af4d2beb6eea63fbd878db22621c1019cc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1852336764c56dbfcbd8e57b7d2c33b7d7b77dbf","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            logger.warning("},{"line_number":374,"context_line":"                \"{} did not complete successfully.\".format(play)"},{"line_number":375,"context_line":"            )"},{"line_number":376,"context_line":"            raise RuntimeError(\"Ansible playbook execution failed: {}.\".format(cmd))"},{"line_number":377,"context_line":"    finally:"},{"line_number":378,"context_line":"        cleanup and os.unlink(tmp_config)"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_cd58f458","line":376,"updated":"2020-07-22 22:21:33.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"db5a45af4d2beb6eea63fbd878db22621c1019cc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1852336764c56dbfcbd8e57b7d2c33b7d7b77dbf","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    finally:"},{"line_number":378,"context_line":"        cleanup and os.unlink(tmp_config)"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"def convert(data):"},{"line_number":381,"context_line":"    \"\"\"Recursively converts dictionary keys,values to strings.\"\"\""},{"line_number":382,"context_line":"    if isinstance(data, six.string_types):"},{"line_number":383,"context_line":"        return str(data)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_2d589054","line":380,"updated":"2020-07-22 22:21:33.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"db5a45af4d2beb6eea63fbd878db22621c1019cc"}],"tripleoclient/v1/tripleo_container_image.py":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"efa0e0d0393cd7ec710a716ea1a2c6b1ebe588a8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2020 Red Hat, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":7,"id":"bf51134e_380617cf","line":1,"updated":"2020-07-22 14:56:48.000000000","message":"we already have tripleoclient/v1/container_image.py, it\u0027s a bit confusing that now we have tripleo_container_image.py.\n\nI would either backport v2 or change the container_image.py file.","commit_id":"bac125e166cee01829346c93d88a2c2c451e7fac"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"745c77443968d549bc523c63f9f9624b9589b645","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                    playdata, f, default_flow_style\u003dFalse, width\u003d4096"},{"line_number":516,"context_line":"                )"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"            utils.run_ansible_playbook("},{"line_number":519,"context_line":"                logger\u003dself.log,"},{"line_number":520,"context_line":"                workdir\u003dtmp,"},{"line_number":521,"context_line":"                playbook\u003dplaybook,"},{"line_number":522,"context_line":"                inventory\u003dtcib_inventory,"},{"line_number":523,"context_line":"                log_path_dir\u003dtmp,"},{"line_number":524,"context_line":"                extra_vars\u003d{"},{"line_number":525,"context_line":"                    \"ANSIBLE_FORKS\": len(tcib_inventory_hosts.keys())"},{"line_number":526,"context_line":"                },"},{"line_number":527,"context_line":"                gathering_policy\u003d\"smart\""},{"line_number":528,"context_line":"            )"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        # Ensure anything not intended to be built is excluded"},{"line_number":531,"context_line":"        excludes.extend(self.rectify_excludes(images_to_prepare))"}],"source_content_type":"text/x-python","patch_set":7,"id":"bf51134e_892609ba","line":528,"range":{"start_line":518,"start_character":0,"end_line":528,"end_character":13},"updated":"2020-07-22 02:21:57.000000000","message":"something here is not passing: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_8c8/736752/11/check/tripleo-build-containers-ubi-8/8c8fc8e/logs/containers-build-errors.log","commit_id":"bac125e166cee01829346c93d88a2c2c451e7fac"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"5151e4d6bf77afd90246d7927c77e0752f816912","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            \"--namespace\","},{"line_number":139,"context_line":"            dest\u003d\"namespace\","},{"line_number":140,"context_line":"            metavar\u003d\"\u003cregistry-namespace\u003e\","},{"line_number":141,"context_line":"            default\u003d\"tripleomaster\","},{"line_number":142,"context_line":"            help\u003d_(\"Container registry namespace (default: %(default)s)\"),"},{"line_number":143,"context_line":"        )"},{"line_number":144,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_0fd4a4e8","line":141,"updated":"2020-07-22 19:56:17.000000000","message":"change it to tripleotrain","commit_id":"910001d07fec0c1c1aefc423a8a1380d4e4d3136"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"55944c52c396bfea42647ad78706b5207884f1e9","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                    tcib_inventory, f, default_flow_style\u003dFalse, width\u003d4096"},{"line_number":522,"context_line":"                )"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"            utils.ansible_symlink()"},{"line_number":525,"context_line":"            utils.run_ansible_playbook("},{"line_number":526,"context_line":"                logger\u003dself.log,"},{"line_number":527,"context_line":"                workdir\u003dtmp,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_17c87554","line":524,"updated":"2020-09-15 14:07:16.000000000","message":"This is not properly mocked so it\u0027s prompting for sudo","commit_id":"b40432f13442a2821441626508f1d41dc0e0081c"}]}
