)]}'
{"tests/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"878ea287c37cf83c060ca6ff4f31b7b89b4b9392","unresolved":false,"context_lines":[{"line_number":3451,"context_line":""},{"line_number":3452,"context_line":"    def start(self, validate_tenants: list):"},{"line_number":3453,"context_line":"        self.sched.start()"},{"line_number":3454,"context_line":"        executor_client.gearman.waitForServer()"},{"line_number":3455,"context_line":"        self.sched.reconfigure("},{"line_number":3456,"context_line":"            self.config, validate_tenants\u003dvalidate_tenants)"},{"line_number":3457,"context_line":"        self.sched.wakeUp()"}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_a6aca28c","line":3454,"updated":"2020-04-08 15:32:07.000000000","message":"linters: F821 undefined name \u0027executor_client\u0027","commit_id":"8c086313ec921f7d9f419ef727368c197bee2826"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2477294c95ca62e6e7f9b7b5fdae47017d84d360","unresolved":false,"context_lines":[{"line_number":4006,"context_line":"    git_url_with_auth: bool \u003d False"},{"line_number":4007,"context_line":"    log_console_port: int \u003d 19885"},{"line_number":4008,"context_line":"    source_only: bool \u003d False"},{"line_number":4009,"context_line":"        validate_tenants \u003d None"},{"line_number":4010,"context_line":""},{"line_number":4011,"context_line":"    def __getattr__(self, name):"},{"line_number":4012,"context_line":"        \"\"\"Allows to access fake connections the old way, e.g., using"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f681702_6474b49a","line":4009,"updated":"2020-10-16 12:34:53.000000000","message":"linters: E113 unexpected indentation","commit_id":"6a5b7161b82ea811de9578b215b24e4a9b5957d8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2477294c95ca62e6e7f9b7b5fdae47017d84d360","unresolved":false,"context_lines":[{"line_number":4006,"context_line":"    git_url_with_auth: bool \u003d False"},{"line_number":4007,"context_line":"    log_console_port: int \u003d 19885"},{"line_number":4008,"context_line":"    source_only: bool \u003d False"},{"line_number":4009,"context_line":"        validate_tenants \u003d None"},{"line_number":4010,"context_line":""},{"line_number":4011,"context_line":"    def __getattr__(self, name):"},{"line_number":4012,"context_line":"        \"\"\"Allows to access fake connections the old way, e.g., using"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f681702_846f50c4","line":4009,"updated":"2020-10-16 12:34:53.000000000","message":"linters: E999 IndentationError: unexpected indent","commit_id":"6a5b7161b82ea811de9578b215b24e4a9b5957d8"}],"tests/unit/test_v3.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"173159ea51e3d04ae3f4ed1b27a0eab6a00052a3","unresolved":false,"context_lines":[{"line_number":3331,"context_line":""},{"line_number":3332,"context_line":""},{"line_number":3333,"context_line":"class TestCheckModeGood(ZuulTestCase):"},{"line_number":3334,"context_line":"    # Test we fail in check mode and broken config"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    check_config \u003d True"},{"line_number":3337,"context_line":"    tenant_config_file \u003d \u0027config/single-tenant/main.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_96939c4e","line":3334,"range":{"start_line":3334,"start_character":14,"end_line":3334,"end_character":18},"updated":"2019-08-29 20:17:56.000000000","message":"succeed","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"}],"zuul/cmd/scheduler.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"573ad4a2f33922e1ae6794ee27cfb1ba1735d502","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def createParser(self):"},{"line_number":42,"context_line":"        parser \u003d super(Scheduler, self).createParser()"},{"line_number":43,"context_line":"        parser.add_argument(\u0027--check-config\u0027, dest\u003d\u0027check_config\u0027,"},{"line_number":44,"context_line":"                            action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration and exit afterwards, \u0027"},{"line_number":46,"context_line":"                                 \u0027indicating success or failure via the exit \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_a7322b5d","line":43,"updated":"2019-08-29 13:52:49.000000000","message":"The documentation is here (and should also be generated into the docs automatically).","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"c1f0047894eef262f88d603699345b6417102ff6","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def createParser(self):"},{"line_number":42,"context_line":"        parser \u003d super(Scheduler, self).createParser()"},{"line_number":43,"context_line":"        parser.add_argument(\u0027--check-config\u0027, dest\u003d\u0027check_config\u0027,"},{"line_number":44,"context_line":"                            action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration and exit afterwards, \u0027"},{"line_number":46,"context_line":"                                 \u0027indicating success or failure via the exit \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_65b0a08c","line":43,"in_reply_to":"7faddb67_16c00c2b","updated":"2019-08-30 04:25:32.000000000","message":"Hrm, I could swear I saw this somewhere in the docs. Maybe that was in nodepool.","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"173159ea51e3d04ae3f4ed1b27a0eab6a00052a3","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def createParser(self):"},{"line_number":42,"context_line":"        parser \u003d super(Scheduler, self).createParser()"},{"line_number":43,"context_line":"        parser.add_argument(\u0027--check-config\u0027, dest\u003d\u0027check_config\u0027,"},{"line_number":44,"context_line":"                            action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration and exit afterwards, \u0027"},{"line_number":46,"context_line":"                                 \u0027indicating success or failure via the exit \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_16c00c2b","line":43,"in_reply_to":"7faddb67_1b1fdab7","updated":"2019-08-29 20:17:56.000000000","message":"We use the program-output directive to document the help output of the `zuul` command but I can\u0027t find that for the scheduler.","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"8e2f19c423597df54da8eb4486d849915c6377c0","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def createParser(self):"},{"line_number":42,"context_line":"        parser \u003d super(Scheduler, self).createParser()"},{"line_number":43,"context_line":"        parser.add_argument(\u0027--check-config\u0027, dest\u003d\u0027check_config\u0027,"},{"line_number":44,"context_line":"                            action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration and exit afterwards, \u0027"},{"line_number":46,"context_line":"                                 \u0027indicating success or failure via the exit \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_1b1fdab7","line":43,"in_reply_to":"7faddb67_a7322b5d","updated":"2019-08-29 16:23:24.000000000","message":"I don\u0027t see where this gets generated into the docs automatically ;(\n\nBut yes, the help string is a good start - and if this indeed not done automatically, this is fine.","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"f820320695e362533f40713fb43d3a87a768d705","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration of the listed tenants and\u0027"},{"line_number":46,"context_line":"                                 \u0027 exit afterwards, indicating success or \u0027"},{"line_number":47,"context_line":"                                 \u0027failure via the exit code. If no tenant is \u0027"},{"line_number":48,"context_line":"                                 \u0027listed, all tenants will be validated.\u0027)"},{"line_number":49,"context_line":"        parser.add_argument(\u0027command\u0027,"},{"line_number":50,"context_line":"                            choices\u003dzuul.scheduler.COMMANDS,"},{"line_number":51,"context_line":"                            nargs\u003d\u0027?\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_cb978d39","line":48,"updated":"2020-01-14 15:37:39.000000000","message":"I think we need a note here, something like:\n\n (Note: this requires the gearman server and will distribute work to mergers.)","commit_id":"79723af41359fe75d11c1cf56bc298c94384c98d"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"39120101dc79e5b102f7f61bd777c41db76f2a3a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            help\u003d\u0027Load configuration of the listed tenants and\u0027"},{"line_number":46,"context_line":"                                 \u0027 exit afterwards, indicating success or \u0027"},{"line_number":47,"context_line":"                                 \u0027failure via the exit code. If no tenant is \u0027"},{"line_number":48,"context_line":"                                 \u0027listed, all tenants will be validated.\u0027)"},{"line_number":49,"context_line":"        parser.add_argument(\u0027command\u0027,"},{"line_number":50,"context_line":"                            choices\u003dzuul.scheduler.COMMANDS,"},{"line_number":51,"context_line":"                            nargs\u003d\u0027?\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_4eaf2be0","line":48,"in_reply_to":"3fa7e38b_cb978d39","updated":"2020-01-14 15:58:34.000000000","message":"k, will add this","commit_id":"79723af41359fe75d11c1cf56bc298c94384c98d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"cc9e5e0fece804c66b95f70143dc370b7c8439cd","unresolved":false,"context_lines":[{"line_number":175,"context_line":"                                                  \u0027session_timeout\u0027, 10.0))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            zookeeper.connect(zookeeper_hosts, timeout\u003dzookeeper_timeout,"},{"line_number":178,"context_line":"            tls_cert\u003dzookeeper_tls_cert,"},{"line_number":179,"context_line":"            tls_key\u003dzookeeper_tls_key,"},{"line_number":180,"context_line":"            tls_ca\u003dzookeeper_tls_ca)"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"3f4c43b2_c3774f3a","line":178,"updated":"2020-04-15 10:25:17.000000000","message":"linters: E128 continuation line under-indented for visual indent","commit_id":"e5d0cae3cd49dffee8f14046b0f3304e32e2b123"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"cc9e5e0fece804c66b95f70143dc370b7c8439cd","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            zookeeper.connect(zookeeper_hosts, timeout\u003dzookeeper_timeout,"},{"line_number":178,"context_line":"            tls_cert\u003dzookeeper_tls_cert,"},{"line_number":179,"context_line":"            tls_key\u003dzookeeper_tls_key,"},{"line_number":180,"context_line":"            tls_ca\u003dzookeeper_tls_ca)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            self.sched.setExecutor(gearman)"}],"source_content_type":"text/x-python","patch_set":30,"id":"3f4c43b2_a374c336","line":179,"updated":"2020-04-15 10:25:17.000000000","message":"linters: E128 continuation line under-indented for visual indent","commit_id":"e5d0cae3cd49dffee8f14046b0f3304e32e2b123"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"cc9e5e0fece804c66b95f70143dc370b7c8439cd","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            zookeeper.connect(zookeeper_hosts, timeout\u003dzookeeper_timeout,"},{"line_number":178,"context_line":"            tls_cert\u003dzookeeper_tls_cert,"},{"line_number":179,"context_line":"            tls_key\u003dzookeeper_tls_key,"},{"line_number":180,"context_line":"            tls_ca\u003dzookeeper_tls_ca)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            self.sched.setExecutor(gearman)"},{"line_number":183,"context_line":"            self.sched.setNodepool(nodepool)"}],"source_content_type":"text/x-python","patch_set":30,"id":"3f4c43b2_038f7723","line":180,"updated":"2020-04-15 10:25:17.000000000","message":"linters: E128 continuation line under-indented for visual indent","commit_id":"e5d0cae3cd49dffee8f14046b0f3304e32e2b123"}],"zuul/scheduler.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"173159ea51e3d04ae3f4ed1b27a0eab6a00052a3","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                for tenant in abide.tenants.values():"},{"line_number":739,"context_line":"                    self._reconfigureTenant(tenant)"},{"line_number":740,"context_line":"                self.abide \u003d abide"},{"line_number":741,"context_line":"            else:"},{"line_number":742,"context_line":"                loading_errors \u003d []"},{"line_number":743,"context_line":"                for tenant in abide.tenants.values():"},{"line_number":744,"context_line":"                    for error in tenant.layout.loading_errors:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_d6c5940b","line":741,"updated":"2019-08-29 20:17:56.000000000","message":"Is it worth noting why self._reconfigureTenant() and --check-config are exclusive of each other? Is it because we don\u0027t want to send statsd events when checking the config?","commit_id":"eb106c2f06b42374647d2fd70edda88bff9f86c6"}]}
