)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"426ef20207aefbb0852582ca2c2311cd648f1948","unresolved":true,"context_lines":[{"line_number":20,"context_line":"we replace the dry-runs with the tripleo_containers.yaml file."},{"line_number":21,"context_line":"This avoids confusion in counting expected containers vs the"},{"line_number":22,"context_line":"actual built ones."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I1bb9353c2b5c79f55ab39d9cfcaa8f9617c28a34"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":77,"id":"a02a13c5_be5f92ae","line":23,"updated":"2020-12-18 08:55:16.000000000","message":"since there is no ubi-8 job that is running this code on this review can you add a pointer to your test @ https://review.rdoproject.org/r/#/c/29840/ here if you get another pass thanks","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"890242f37944914607998dbfde7143fb3dad114d","unresolved":true,"context_lines":[{"line_number":20,"context_line":"we replace the dry-runs with the tripleo_containers.yaml file."},{"line_number":21,"context_line":"This avoids confusion in counting expected containers vs the"},{"line_number":22,"context_line":"actual built ones."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I1bb9353c2b5c79f55ab39d9cfcaa8f9617c28a34"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":77,"id":"fdb8fa17_3621b9f9","line":23,"in_reply_to":"a02a13c5_be5f92ae","updated":"2020-12-18 13:30:25.000000000","message":"yes will add a pointer to testproject with a new run. Also will re-enable queens to double check if not breaking old kolla build method without this report.","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"}],"roles/build-containers/files/build-report.html":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"c582177d22bcb8fe4458bba465ff12a75f4c9c86","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003chtml\u003e"},{"line_number":2,"context_line":"\u003chead\u003e"},{"line_number":3,"context_line":"\u003cstyle\u003e"},{"line_number":4,"context_line":"{"}],"source_content_type":"text/html","patch_set":35,"id":"1f621f24_a2ca406b","line":1,"updated":"2020-11-18 06:05:47.000000000","message":"What about using something like this https://github.com/openstack/ansible-role-collect-logs/blob/master/templates/full_logs.html.j2 and populate the data using jinja just a thought","commit_id":"065660620743ceadd591be55d4e1b7317dd84d99"}],"roles/build-containers/files/build-report.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7c4fd85ca771313c6146d8eed4b3a06c2077e5c0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_08c8451f","line":4,"updated":"2020-10-01 03:43:26.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"7a6bb1fabd3ea93f831133b1aebc517696518839"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7c4fd85ca771313c6146d8eed4b3a06c2077e5c0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_68cd812f","line":4,"updated":"2020-10-01 03:43:26.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"7a6bb1fabd3ea93f831133b1aebc517696518839"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"931f71bb53c203f1e948b82fb7d69bcbf53195be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_05213eb6","line":4,"updated":"2020-10-02 00:28:28.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"1aabd5bebb4101b3fbb3a4b3dc89ef79f6602a80"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"931f71bb53c203f1e948b82fb7d69bcbf53195be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a53a12e3","line":4,"updated":"2020-10-02 00:28:28.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"1aabd5bebb4101b3fbb3a4b3dc89ef79f6602a80"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6574d414683e4de4222e61677da4656c57ae9ca3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_7e2a40e6","line":4,"updated":"2020-10-02 13:06:34.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"afcc94d8fd93856c29c214c917284f512d1e5388"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6574d414683e4de4222e61677da4656c57ae9ca3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_9e27541f","line":4,"updated":"2020-10-02 13:06:34.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"afcc94d8fd93856c29c214c917284f512d1e5388"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"306cabf75abd0383a4db74b9ebb1ee3298940cbc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_b774f638","line":4,"updated":"2020-10-02 22:39:07.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"60ec9f05a8560402ccf64c5c2f56a2b22015e7f6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"306cabf75abd0383a4db74b9ebb1ee3298940cbc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_d779aa30","line":4,"updated":"2020-10-02 22:39:07.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"60ec9f05a8560402ccf64c5c2f56a2b22015e7f6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b093df2bc720b0f6f50be54e7bc23eb978224866","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_6596ff4b","line":4,"updated":"2020-10-06 23:07:17.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"dc12b344cf96b8b8e17b3b6150f66c1896f5e8c4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b093df2bc720b0f6f50be54e7bc23eb978224866","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python3"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"with open(\u0027containers-expected-to-build.log\u0027, encoding\u003d\u0027utf8\u0027) as f:"},{"line_number":7,"context_line":"    expected \u003d [line.strip() for line in f]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_c586eb16","line":4,"updated":"2020-10-06 23:07:17.000000000","message":"linters: F401 \u0027re\u0027 imported but unused","commit_id":"dc12b344cf96b8b8e17b3b6150f66c1896f5e8c4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"43bed3c36fc182a815ffc18fd77625171eb79c6d","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import yaml"},{"line_number":5,"context_line":"import sys"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"containers_file \u003d argv[0]"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f621f24_3d788fc2","line":5,"updated":"2020-11-06 21:15:12.000000000","message":"linters: F401 \u0027sys\u0027 imported but unused","commit_id":"5badef7e619fea8fcc733b7f49df60ed19495ea3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"43bed3c36fc182a815ffc18fd77625171eb79c6d","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import yaml"},{"line_number":5,"context_line":"import sys"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"containers_file \u003d argv[0]"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f621f24_fd6a97ea","line":5,"updated":"2020-11-06 21:15:12.000000000","message":"linters: F401 \u0027sys\u0027 imported but unused","commit_id":"5badef7e619fea8fcc733b7f49df60ed19495ea3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"43bed3c36fc182a815ffc18fd77625171eb79c6d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"import yaml"},{"line_number":5,"context_line":"import sys"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"containers_file \u003d argv[0]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"with open(containers_file) as f:"},{"line_number":10,"context_line":"   x \u003d yaml.safe_load(f)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f621f24_1d75d3cb","line":7,"updated":"2020-11-06 21:15:12.000000000","message":"linters: F821 undefined name \u0027argv\u0027","commit_id":"5badef7e619fea8fcc733b7f49df60ed19495ea3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"43bed3c36fc182a815ffc18fd77625171eb79c6d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"import yaml"},{"line_number":5,"context_line":"import sys"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"containers_file \u003d argv[0]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"with open(containers_file) as f:"},{"line_number":10,"context_line":"   x \u003d yaml.safe_load(f)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f621f24_dd6fdbf9","line":7,"updated":"2020-11-06 21:15:12.000000000","message":"linters: F821 undefined name \u0027argv\u0027","commit_id":"5badef7e619fea8fcc733b7f49df60ed19495ea3"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"c582177d22bcb8fe4458bba465ff12a75f4c9c86","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from prettytable import PrettyTable"},{"line_number":4,"context_line":"import yaml"},{"line_number":5,"context_line":"import sys"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"containers_file \u003d sys.argv[1]"},{"line_number":8,"context_line":"exclude_file \u003d sys.argv[2]"}],"source_content_type":"text/x-python","patch_set":35,"id":"1f621f24_e2c43862","line":5,"range":{"start_line":5,"start_character":7,"end_line":5,"end_character":10},"updated":"2020-11-18 06:05:47.000000000","message":"What about using argparse here https://docs.python.org/3/howto/argparse.html","commit_id":"065660620743ceadd591be55d4e1b7317dd84d99"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b1ac99dec39baa263f12bf4df79bd206192895ff","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    ]"},{"line_number":38,"context_line":"    f.write(x.get_html_string())"},{"line_number":39,"context_line":"    f.write(\"Excluded ( {} )\u003cBR\u003e\".format(excluded_count))"},{"line_number":40,"context_line":"    f.write(str(excluded))"},{"line_number":41,"context_line":"    f.write(\"\u003c/body\u003e\u003c/html\u003e\")"}],"source_content_type":"text/x-python","patch_set":35,"id":"1f621f24_8c4f9269","line":40,"range":{"start_line":40,"start_character":11,"end_line":40,"end_character":24},"updated":"2020-11-16 18:46:56.000000000","message":"this would be nice to format in html-friendly way, it\u0027s a list, so maybe a \"table\" or \u003cli\u003e list?","commit_id":"065660620743ceadd591be55d4e1b7317dd84d99"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"11b90b6216e947557db8c48cecc066596507827a","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        with open(_get_build_log(image), \u0027r\u0027) as build_log:"},{"line_number":57,"context_line":"            log \u003d build_log.read()"},{"line_number":58,"context_line":"        # test if any error is found in the log"},{"line_number":59,"context_line":"        assert \u0027Error:\u0027 not in log, f\"Image failed to build: { image }\""},{"line_number":60,"context_line":"    except IOError as err:"},{"line_number":61,"context_line":"        print(f\"Warning: Build log not found: { err }\")"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":77,"id":"f3219b69_1878d923","line":59,"range":{"start_line":59,"start_character":15,"end_line":59,"end_character":21},"updated":"2020-12-18 11:15:58.000000000","message":"shouldn\u0027t it be case insensitive?","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"890242f37944914607998dbfde7143fb3dad114d","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        with open(_get_build_log(image), \u0027r\u0027) as build_log:"},{"line_number":57,"context_line":"            log \u003d build_log.read()"},{"line_number":58,"context_line":"        # test if any error is found in the log"},{"line_number":59,"context_line":"        assert \u0027Error:\u0027 not in log, f\"Image failed to build: { image }\""},{"line_number":60,"context_line":"    except IOError as err:"},{"line_number":61,"context_line":"        print(f\"Warning: Build log not found: { err }\")"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":77,"id":"ff0c8098_8df80a0d","line":59,"range":{"start_line":59,"start_character":15,"end_line":59,"end_character":21},"in_reply_to":"f3219b69_1878d923","updated":"2020-12-18 13:30:25.000000000","message":"Yes, we have seen lines starting with \"Error:\" in build logs.\n\nThis is just an attempt to replace this egrep check: \nhttps://github.com/openstack/tripleo-ci/blob/master/roles/build-containers/templates/build.sh.j2#L122\n\nMore tests can be added or changed as necessary.","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"}],"roles/build-containers/files/conftest.py":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"1af7c46bf9de71e1da3e7afb3f348c7ca02eb466","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import glob"},{"line_number":16,"context_line":"import pytest"},{"line_number":17,"context_line":"from py.xml import html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"BUILD_DIR \u003d \u0027container-builds\u0027"},{"line_number":20,"context_line":"LOGS_DIR \u003d \u0027logs\u0027"}],"source_content_type":"text/x-python","patch_set":77,"id":"dded3364_33545b17","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":23},"updated":"2020-12-18 11:22:30.000000000","message":"It is coming from py module","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"890242f37944914607998dbfde7143fb3dad114d","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import glob"},{"line_number":16,"context_line":"import pytest"},{"line_number":17,"context_line":"from py.xml import html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"BUILD_DIR \u003d \u0027container-builds\u0027"},{"line_number":20,"context_line":"LOGS_DIR \u003d \u0027logs\u0027"}],"source_content_type":"text/x-python","patch_set":77,"id":"ef8371a2_45b5fa52","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":23},"in_reply_to":"dded3364_33545b17","updated":"2020-12-18 13:30:25.000000000","message":"yup","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"426ef20207aefbb0852582ca2c2311cd648f1948","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def pytest_configure():"},{"line_number":68,"context_line":"    # these vars are visible from build-report.py functions"},{"line_number":69,"context_line":"    pytest.excluded_containers \u003d _get_excluded_containers_list()"},{"line_number":70,"context_line":"    pytest.build_dir \u003d BUILD_DIR"},{"line_number":71,"context_line":"    pytest.logs_dir \u003d LOGS_DIR"}],"source_content_type":"text/x-python","patch_set":77,"id":"42a29913_d28384e0","line":68,"range":{"start_line":68,"start_character":21,"end_line":68,"end_character":28},"updated":"2020-12-18 08:55:16.000000000","message":"nice i see this is what you\u0027re using @ https://review.opendev.org/c/openstack/tripleo-ci/+/755124/77/roles/build-containers/files/build-report.py#41","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"890242f37944914607998dbfde7143fb3dad114d","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def pytest_configure():"},{"line_number":68,"context_line":"    # these vars are visible from build-report.py functions"},{"line_number":69,"context_line":"    pytest.excluded_containers \u003d _get_excluded_containers_list()"},{"line_number":70,"context_line":"    pytest.build_dir \u003d BUILD_DIR"},{"line_number":71,"context_line":"    pytest.logs_dir \u003d LOGS_DIR"}],"source_content_type":"text/x-python","patch_set":77,"id":"7b032aa0_0f0f73f6","line":68,"range":{"start_line":68,"start_character":21,"end_line":68,"end_character":28},"in_reply_to":"42a29913_d28384e0","updated":"2020-12-18 13:30:25.000000000","message":"yeah its a more elegant solution for using global vars. Instead, we just set pytest.var in pytest_configure() function.","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"}],"roles/build-containers/tasks/build-report.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"d47fdc9d627345aadd7952357637c5d43ad6a731","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      shell: |"},{"line_number":10,"context_line":"        set -eux"},{"line_number":11,"context_line":"        echo {{ container_name_prefix }}-{{ item }} \\"},{"line_number":12,"context_line":"          \u003e\u003e {{ workspace }}/containers-excluded.log"},{"line_number":13,"context_line":"      with_items: \"{{ exclude_containers[branch] }}\""},{"line_number":14,"context_line":"      when: exclude_containers is defined and branch in exclude_containers"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":35,"id":"fffc6b78_877d7470","line":12,"updated":"2020-11-19 08:02:25.000000000","message":"can we please add a \u0027containers-expected-to-build\u0027 like we currently have?\n\ni.e .the \u0027expected\u0027 at https://review.opendev.org/#/c/755124/35/roles/build-containers/files/build-report.py@16","commit_id":"065660620743ceadd591be55d4e1b7317dd84d99"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"cd95c334e8428a1bd4260dd14409f969d7bf3ba1","unresolved":true,"context_lines":[{"line_number":21,"context_line":"      shell: |"},{"line_number":22,"context_line":"        set -eux"},{"line_number":23,"context_line":"        echo {{ container_name_prefix }}-{{ item }} \\"},{"line_number":24,"context_line":"          \u003e\u003e {{ workspace }}/containers-excluded.log"},{"line_number":25,"context_line":"      with_items: \"{{ exclude_containers[branch] }}\""},{"line_number":26,"context_line":"      when: exclude_containers is defined and branch in exclude_containers"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":36,"id":"730cc860_eec79ade","line":24,"range":{"start_line":24,"start_character":36,"end_line":24,"end_character":50},"updated":"2020-12-04 08:40:13.000000000","message":"nice","commit_id":"b5ba27ade7b403eb3944805a830fa967be612575"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"cd95c334e8428a1bd4260dd14409f969d7bf3ba1","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    - name: Write containers-expected.log"},{"line_number":29,"context_line":"      lineinfile:"},{"line_number":30,"context_line":"        line: \"{{ item }}\""},{"line_number":31,"context_line":"        path: \"{{ workspace }}/containers-expected.log\""},{"line_number":32,"context_line":"      with_items: \"{{ expected_containers }}\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    - name: Get actual built containers"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"a048be26_f29a6798","line":31,"range":{"start_line":31,"start_character":35,"end_line":31,"end_character":54},"updated":"2020-12-04 08:40:13.000000000","message":"++ thanks","commit_id":"b5ba27ade7b403eb3944805a830fa967be612575"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"1af7c46bf9de71e1da3e7afb3f348c7ca02eb466","unresolved":true,"context_lines":[{"line_number":81,"context_line":"      with_items:"},{"line_number":82,"context_line":"        - pytest"},{"line_number":83,"context_line":"        - pytest-html"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    - name: Execute build-report"},{"line_number":86,"context_line":"      shell: |"},{"line_number":87,"context_line":"        source \"venv_build/bin/activate\""}],"source_content_type":"text/x-yaml","patch_set":77,"id":"a84aa2d4_d898a7de","line":84,"updated":"2020-12-18 11:22:30.000000000","message":"Do we also needs to install py module here?","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"890242f37944914607998dbfde7143fb3dad114d","unresolved":true,"context_lines":[{"line_number":81,"context_line":"      with_items:"},{"line_number":82,"context_line":"        - pytest"},{"line_number":83,"context_line":"        - pytest-html"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    - name: Execute build-report"},{"line_number":86,"context_line":"      shell: |"},{"line_number":87,"context_line":"        source \"venv_build/bin/activate\""}],"source_content_type":"text/x-yaml","patch_set":77,"id":"1ef04f64_e2e95dd4","line":84,"in_reply_to":"a84aa2d4_d898a7de","updated":"2020-12-18 13:30:25.000000000","message":"no need, py module gets automatically installed","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"0324f967f3666e641593f0b5a138badbebabbf7f","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        chdir: \"{{ workspace }}\""},{"line_number":92,"context_line":"      become: true"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"  ignore_errors: yes"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"7ebd4b6f_9c6929d4","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":4},"updated":"2020-12-21 13:47:23.000000000","message":"this should be above before \"block\" for better visibility","commit_id":"d227115b1dc26a65598c5935fba7522ad9aad0d3"}],"roles/build-containers/templates/tripleo-build.sh.j2":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"c582177d22bcb8fe4458bba465ff12a75f4c9c86","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash -eux"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"{% if buildcontainers_venv is defined and buildcontainers_venv %}"},{"line_number":4,"context_line":"source {{ workspace }}/venv_build/bin/activate"},{"line_number":5,"context_line":"pip install -U decorator"},{"line_number":6,"context_line":"TRIPLEO_COMMON_PATH\u003d\"{{ openstack_git_root }}/{% if zuul_internal is defined %}openstack-{% endif %}tripleo-common\""},{"line_number":7,"context_line":"{% else %}"},{"line_number":8,"context_line":"TRIPLEO_COMMON_PATH\u003d\"/usr/share/openstack-tripleo-common\""},{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"TRIPLEO_CI_PATH\u003d\"{{ ansible_user_dir }}/src/opendev.org/openstack/tripleo-ci\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"export TRIPLEO_CI_USR_PATH\u003d\"${VIRTUAL_ENV:-/usr}\""},{"line_number":13,"context_line":"export TRIPLEO_ANSIBLE_WORKPATH\u003d\"${TRIPLEO_CI_USR_PATH}/share/ansible\""}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"1f621f24_c2e49c11","line":10,"range":{"start_line":3,"start_character":0,"end_line":10,"end_character":77},"updated":"2020-11-18 06:05:47.000000000","message":"it is duplicated in kolla-build script also, may be we can move it to a separate file and source the file at both places.","commit_id":"065660620743ceadd591be55d4e1b7317dd84d99"}]}
