)]}'
{"ansible/library/kolla_docker.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":552,"context_line":"            \u0027interval\u0027: \u0027Interval\u0027,"},{"line_number":553,"context_line":"            \u0027start_period\u0027: \u0027StartPeriod\u0027,"},{"line_number":554,"context_line":"            \u0027timeout\u0027: \u0027Timeout\u0027}"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"        if current_healthcheck is not None:"},{"line_number":557,"context_line":"            for key1, key2 in healthcheck_map.items():"},{"line_number":558,"context_line":"                if key1 in new_healthcheck:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9eea39d5","line":555,"updated":"2020-08-06 11:29:08.000000000","message":"It might be easier if you call parse_healthcheck on the params.","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"684b2539722ad1d9cb7190f75ca42409b9205d36","unresolved":false,"context_lines":[{"line_number":552,"context_line":"            \u0027interval\u0027: \u0027Interval\u0027,"},{"line_number":553,"context_line":"            \u0027start_period\u0027: \u0027StartPeriod\u0027,"},{"line_number":554,"context_line":"            \u0027timeout\u0027: \u0027Timeout\u0027}"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"        if current_healthcheck is not None:"},{"line_number":557,"context_line":"            for key1, key2 in healthcheck_map.items():"},{"line_number":558,"context_line":"                if key1 in new_healthcheck:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8e38dd3b","line":555,"in_reply_to":"9f560f44_9eea39d5","updated":"2020-09-16 12:09:23.000000000","message":"Right, will do.","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                            new_healthcheck[key1] \u003d \\"},{"line_number":565,"context_line":"                                [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":566,"context_line":"                        if new_healthcheck[key1] !\u003d \\"},{"line_number":567,"context_line":"                                current_healthcheck[key2]:"},{"line_number":568,"context_line":"                            return True"},{"line_number":569,"context_line":"                    elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":570,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_1eb8e9e2","line":567,"range":{"start_line":567,"start_character":32,"end_line":567,"end_character":51},"updated":"2020-08-06 11:29:08.000000000","message":"Is this key always guaranteed to be present? If not you might get a KeyError. Better to use .get()","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"684b2539722ad1d9cb7190f75ca42409b9205d36","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                            new_healthcheck[key1] \u003d \\"},{"line_number":565,"context_line":"                                [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":566,"context_line":"                        if new_healthcheck[key1] !\u003d \\"},{"line_number":567,"context_line":"                                current_healthcheck[key2]:"},{"line_number":568,"context_line":"                            return True"},{"line_number":569,"context_line":"                    elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":570,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ee4519b6","line":567,"range":{"start_line":567,"start_character":32,"end_line":567,"end_character":51},"in_reply_to":"9f560f44_1eb8e9e2","updated":"2020-09-16 12:09:23.000000000","message":"Good idea, will do.","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        if (not healthcheck) or (not healthcheck.get(\u0027test\u0027)):"},{"line_number":896,"context_line":"            return None"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        result \u003d dict()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3e984d68","line":895,"range":{"start_line":895,"start_character":33,"end_line":895,"end_character":60},"updated":"2020-08-06 11:29:08.000000000","message":"This is probably an error case - non-empty healthcheck, but no test.","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"684b2539722ad1d9cb7190f75ca42409b9205d36","unresolved":false,"context_lines":[{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        if (not healthcheck) or (not healthcheck.get(\u0027test\u0027)):"},{"line_number":896,"context_line":"            return None"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        result \u003d dict()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b3d43c21","line":895,"range":{"start_line":895,"start_character":33,"end_line":895,"end_character":60},"in_reply_to":"9f560f44_3e984d68","updated":"2020-09-16 12:09:23.000000000","message":"Hmm, actually I don\u0027t know why it is here, let me remove it and run some tests. In theory test could be empty, but other values not - but since we control everything, we don\u0027t need this part of the if. https://docker-py.readthedocs.io/en/stable/api.html?highlight\u003dhealthcheck#docker.types.Healthcheck","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":898,"context_line":"        result \u003d dict()"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"        # All supported healthcheck parameters"},{"line_number":901,"context_line":"        options \u003d dict("},{"line_number":902,"context_line":"            test\u003d\u0027test\u0027,"},{"line_number":903,"context_line":"            interval\u003d\u0027interval\u0027,"},{"line_number":904,"context_line":"            timeout\u003d\u0027timeout\u0027,"},{"line_number":905,"context_line":"            start_period\u003d\u0027start_period\u0027,"},{"line_number":906,"context_line":"            retries\u003d\u0027retries\u0027"},{"line_number":907,"context_line":"        )"},{"line_number":908,"context_line":"        duration_options \u003d [\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027]"},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"        for (key, value) in options.items():"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_fe39b5a3","line":907,"range":{"start_line":901,"start_character":0,"end_line":907,"end_character":9},"updated":"2020-08-06 11:29:08.000000000","message":"all keys\u003dvalues. Why not use a set/list?","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":940,"context_line":"                                .format(result[value])"},{"line_number":941,"context_line":"                            )"},{"line_number":942,"context_line":""},{"line_number":943,"context_line":"        if result[\u0027test\u0027] \u003d\u003d [\u0027NONE\u0027]:"},{"line_number":944,"context_line":"            # If the user explicitly disables the healthcheck, return None"},{"line_number":945,"context_line":"            # as the healthcheck object"},{"line_number":946,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_fe6255ad","line":943,"updated":"2020-08-06 11:29:08.000000000","message":"Can the user pass [\u0027NONE\u0027] or \u0027NONE\u0027? Looks like only the former gets here.","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"684b2539722ad1d9cb7190f75ca42409b9205d36","unresolved":false,"context_lines":[{"line_number":940,"context_line":"                                .format(result[value])"},{"line_number":941,"context_line":"                            )"},{"line_number":942,"context_line":""},{"line_number":943,"context_line":"        if result[\u0027test\u0027] \u003d\u003d [\u0027NONE\u0027]:"},{"line_number":944,"context_line":"            # If the user explicitly disables the healthcheck, return None"},{"line_number":945,"context_line":"            # as the healthcheck object"},{"line_number":946,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f3deb43c","line":943,"in_reply_to":"9f560f44_fe6255ad","updated":"2020-09-16 12:09:23.000000000","message":"According to https://docker-py.readthedocs.io/en/stable/api.html?highlight\u003dhealthcheck#docker.types.Healthcheck - user can only set [\u0027NONE\u0027]","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":543,"context_line":"                return True"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def compare_healthcheck(self, container_info):"},{"line_number":546,"context_line":"        new_healthcheck \u003d self.parse_healthcheck(self.params.get(\u0027healthcheck\u0027))"},{"line_number":547,"context_line":"        current_healthcheck \u003d container_info[\u0027Config\u0027].get(\u0027Healthcheck\u0027)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"        healthcheck_map \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a0fb0e46","line":546,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (80 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":543,"context_line":"                return True"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def compare_healthcheck(self, container_info):"},{"line_number":546,"context_line":"        new_healthcheck \u003d self.parse_healthcheck(self.params.get(\u0027healthcheck\u0027))"},{"line_number":547,"context_line":"        current_healthcheck \u003d container_info[\u0027Config\u0027].get(\u0027Healthcheck\u0027)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"        healthcheck_map \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c0ae022e","line":546,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":559,"context_line":"                for key1, key2 in healthcheck_map.items():"},{"line_number":560,"context_line":"                    if key1 in new_healthcheck:"},{"line_number":561,"context_line":"                        if key1 \u003d\u003d \u0027test\u0027:"},{"line_number":562,"context_line":"                            if isinstance(new_healthcheck[key1], (tuple, list)):"},{"line_number":563,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":564,"context_line":"                                    [str(e) for e in new_healthcheck[key1]]"},{"line_number":565,"context_line":"                            else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_00fbda46","line":562,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (80 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":559,"context_line":"                for key1, key2 in healthcheck_map.items():"},{"line_number":560,"context_line":"                    if key1 in new_healthcheck:"},{"line_number":561,"context_line":"                        if key1 \u003d\u003d \u0027test\u0027:"},{"line_number":562,"context_line":"                            if isinstance(new_healthcheck[key1], (tuple, list)):"},{"line_number":563,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":564,"context_line":"                                    [str(e) for e in new_healthcheck[key1]]"},{"line_number":565,"context_line":"                            else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a0a94e26","line":562,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                            else:"},{"line_number":566,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":567,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":568,"context_line":"                            if key2 in current_healthcheck and new_healthcheck[key1] !\u003d \\"},{"line_number":569,"context_line":"                                current_healthcheck[key2]:"},{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e0f50653","line":568,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (89 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                            else:"},{"line_number":566,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":567,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":568,"context_line":"                            if key2 in current_healthcheck and new_healthcheck[key1] !\u003d \\"},{"line_number":569,"context_line":"                                current_healthcheck[key2]:"},{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_00a91a23","line":568,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":567,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":568,"context_line":"                            if key2 in current_healthcheck and new_healthcheck[key1] !\u003d \\"},{"line_number":569,"context_line":"                                current_healthcheck[key2]:"},{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":572,"context_line":"                            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_4092f2fd","line":569,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E125 continuation line with same indent as next logical line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":567,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":568,"context_line":"                            if key2 in current_healthcheck and new_healthcheck[key1] !\u003d \\"},{"line_number":569,"context_line":"                                current_healthcheck[key2]:"},{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":572,"context_line":"                            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e0a34642","line":569,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E125 continuation line with same indent as next logical line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":572,"context_line":"                            try:"},{"line_number":573,"context_line":"                                new_healthcheck[key1] \u003d int(new_healthcheck[key1])"},{"line_number":574,"context_line":"                            except ValueError:"},{"line_number":575,"context_line":"                                raise ValueError("},{"line_number":576,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_20953ee4","line":573,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (82 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                                return True"},{"line_number":571,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":572,"context_line":"                            try:"},{"line_number":573,"context_line":"                                new_healthcheck[key1] \u003d int(new_healthcheck[key1])"},{"line_number":574,"context_line":"                            except ValueError:"},{"line_number":575,"context_line":"                                raise ValueError("},{"line_number":576,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_4060320e","line":573,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":578,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":579,"context_line":"                                )"},{"line_number":580,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":581,"context_line":"                                    new_healthcheck[key1] !\u003d current_healthcheck[key2]:"},{"line_number":582,"context_line":"                                return True"},{"line_number":583,"context_line":"                        else:"},{"line_number":584,"context_line":"                            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_809c0a0f","line":581,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (87 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":578,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":579,"context_line":"                                )"},{"line_number":580,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":581,"context_line":"                                    new_healthcheck[key1] !\u003d current_healthcheck[key2]:"},{"line_number":582,"context_line":"                                return True"},{"line_number":583,"context_line":"                        else:"},{"line_number":584,"context_line":"                            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_20637e1b","line":581,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":582,"context_line":"                                return True"},{"line_number":583,"context_line":"                        else:"},{"line_number":584,"context_line":"                            try:"},{"line_number":585,"context_line":"                                new_healthcheck[key1] \u003d int(new_healthcheck[key1])"},{"line_number":586,"context_line":"                            except ValueError:"},{"line_number":587,"context_line":"                                raise ValueError("},{"line_number":588,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_609f3602","line":585,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (82 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":582,"context_line":"                                return True"},{"line_number":583,"context_line":"                        else:"},{"line_number":584,"context_line":"                            try:"},{"line_number":585,"context_line":"                                new_healthcheck[key1] \u003d int(new_healthcheck[key1])"},{"line_number":586,"context_line":"                            except ValueError:"},{"line_number":587,"context_line":"                                raise ValueError("},{"line_number":588,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_806a4aea","line":585,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":903,"context_line":"        if (not healthcheck):"},{"line_number":904,"context_line":"            return None"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a0802e9e","line":906,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E251 unexpected spaces around keyword / parameter equals","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":903,"context_line":"        if (not healthcheck):"},{"line_number":904,"context_line":"            return None"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c08562b0","line":906,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E251 unexpected spaces around keyword / parameter equals","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":903,"context_line":"        if (not healthcheck):"},{"line_number":904,"context_line":"            return None"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_606d7602","line":906,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E251 unexpected spaces around keyword / parameter equals","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":903,"context_line":"        if (not healthcheck):"},{"line_number":904,"context_line":"            return None"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c073a2e7","line":906,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E251 unexpected spaces around keyword / parameter equals","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"},{"line_number":910,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        for key in options:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_0090faec","line":909,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (81 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":906,"context_line":"        result \u003d dict(healthcheck \u003d {})"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"        # All supported healthcheck parameters"},{"line_number":909,"context_line":"        options \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027, \u0027retries\u0027])"},{"line_number":910,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        for key in options:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a06e6efb","line":909,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":922,"context_line":"                            raise ValueError("},{"line_number":923,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":924,"context_line":"                                \u0027Expected an integer, got \"{1}\".\u0027"},{"line_number":925,"context_line":"                                .format(result[\u0027healthcheck\u0027][key], result[\u0027healthcheck\u0027][key])"},{"line_number":926,"context_line":"                            )"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"                elif healthcheck.get(key):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e08a26ba","line":925,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (95 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":922,"context_line":"                            raise ValueError("},{"line_number":923,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":924,"context_line":"                                \u0027Expected an integer, got \"{1}\".\u0027"},{"line_number":925,"context_line":"                                .format(result[\u0027healthcheck\u0027][key], result[\u0027healthcheck\u0027][key])"},{"line_number":926,"context_line":"                            )"},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"                elif healthcheck.get(key):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_007e3aae","line":925,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                elif healthcheck.get(key):"},{"line_number":929,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":930,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_40bb1274","line":931,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (81 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                elif healthcheck.get(key):"},{"line_number":929,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":930,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e07866c2","line":931,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":929,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":930,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_20bede63","line":932,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (101 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":929,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":930,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_4049528c","line":932,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (101 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":936,"context_line":"                        try:"},{"line_number":937,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(result[\u0027healthcheck\u0027][key])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_80b52a81","line":934,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (103 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":931,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key], (tuple, list)):"},{"line_number":932,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in result[\u0027healthcheck\u0027][key]]"},{"line_number":933,"context_line":"                        else:"},{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":936,"context_line":"                        try:"},{"line_number":937,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(result[\u0027healthcheck\u0027][key])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_204c1e9c","line":934,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (103 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":936,"context_line":"                        try:"},{"line_number":937,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(result[\u0027healthcheck\u0027][key])"},{"line_number":938,"context_line":"                        except ValueError:"},{"line_number":939,"context_line":"                            raise ValueError("},{"line_number":940,"context_line":"                                \u0027Cannot parse healthcheck number of retries.\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_60b8d674","line":937,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E501 line too long (88 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(result[\u0027healthcheck\u0027][key])]"},{"line_number":935,"context_line":"                    elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":936,"context_line":"                        try:"},{"line_number":937,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(result[\u0027healthcheck\u0027][key])"},{"line_number":938,"context_line":"                        except ValueError:"},{"line_number":939,"context_line":"                            raise ValueError("},{"line_number":940,"context_line":"                                \u0027Cannot parse healthcheck number of retries.\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_80436a6c","line":937,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":559,"context_line":"            if current_healthcheck is not None:"},{"line_number":560,"context_line":"                for key1, key2 in healthcheck_map.items():"},{"line_number":561,"context_line":"                    if key1 in new_healthcheck:"},{"line_number":562,"context_line":"                        if key1 \u003d\u003d \u0027test\u0027:"},{"line_number":563,"context_line":"                            if isinstance(new_healthcheck[key1],"},{"line_number":564,"context_line":"                                          (tuple, list)):"},{"line_number":565,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":566,"context_line":"                                    [str(e) for e in new_healthcheck[key1]]"},{"line_number":567,"context_line":"                            else:"},{"line_number":568,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":569,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":570,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":571,"context_line":"                               new_healthcheck[key1] !\u003d \\"},{"line_number":572,"context_line":"                               current_healthcheck[key2]:"},{"line_number":573,"context_line":"                                return True"},{"line_number":574,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":575,"context_line":"                            try:"},{"line_number":576,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":577,"context_line":"                                    int(new_healthcheck[key1])"},{"line_number":578,"context_line":"                            except ValueError:"},{"line_number":579,"context_line":"                                raise ValueError("},{"line_number":580,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":581,"context_line":"                                    \u0027Expected an integer\".\u0027"},{"line_number":582,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":583,"context_line":"                                )"},{"line_number":584,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":585,"context_line":"                               new_healthcheck[key1] !\u003d \\"},{"line_number":586,"context_line":"                               current_healthcheck[key2]:"},{"line_number":587,"context_line":"                                return True"},{"line_number":588,"context_line":"                        else:"},{"line_number":589,"context_line":"                            try:"},{"line_number":590,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":591,"context_line":"                                    int(new_healthcheck[key1])"},{"line_number":592,"context_line":"                            except ValueError:"},{"line_number":593,"context_line":"                                raise ValueError("},{"line_number":594,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":595,"context_line":"                                    \u0027Expected an integer\".\u0027"},{"line_number":596,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":597,"context_line":"                                )"},{"line_number":598,"context_line":"                            if new_healthcheck[key1] !\u003d \\"},{"line_number":599,"context_line":"                                    current_healthcheck[key2]:"},{"line_number":600,"context_line":"                                return True"},{"line_number":601,"context_line":"                    elif current_healthcheck[key2]:"},{"line_number":602,"context_line":"                        return True"},{"line_number":603,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_a72791c7","line":600,"range":{"start_line":562,"start_character":0,"end_line":600,"end_character":43},"updated":"2020-09-18 18:42:54.000000000","message":"This can all be replaced with this:\n\nif key2 not in current_healthcheck or new_healthcheck[key1] !\u003d current_healthcheck[key2]:\n    return","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":559,"context_line":"            if current_healthcheck is not None:"},{"line_number":560,"context_line":"                for key1, key2 in healthcheck_map.items():"},{"line_number":561,"context_line":"                    if key1 in new_healthcheck:"},{"line_number":562,"context_line":"                        if key1 \u003d\u003d \u0027test\u0027:"},{"line_number":563,"context_line":"                            if isinstance(new_healthcheck[key1],"},{"line_number":564,"context_line":"                                          (tuple, list)):"},{"line_number":565,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":566,"context_line":"                                    [str(e) for e in new_healthcheck[key1]]"},{"line_number":567,"context_line":"                            else:"},{"line_number":568,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":569,"context_line":"                                    [\u0027CMD-SHELL\u0027, str(new_healthcheck[key1])]"},{"line_number":570,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":571,"context_line":"                               new_healthcheck[key1] !\u003d \\"},{"line_number":572,"context_line":"                               current_healthcheck[key2]:"},{"line_number":573,"context_line":"                                return True"},{"line_number":574,"context_line":"                        elif key1 \u003d\u003d \u0027retries\u0027:"},{"line_number":575,"context_line":"                            try:"},{"line_number":576,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":577,"context_line":"                                    int(new_healthcheck[key1])"},{"line_number":578,"context_line":"                            except ValueError:"},{"line_number":579,"context_line":"                                raise ValueError("},{"line_number":580,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":581,"context_line":"                                    \u0027Expected an integer\".\u0027"},{"line_number":582,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":583,"context_line":"                                )"},{"line_number":584,"context_line":"                            if key2 in current_healthcheck and \\"},{"line_number":585,"context_line":"                               new_healthcheck[key1] !\u003d \\"},{"line_number":586,"context_line":"                               current_healthcheck[key2]:"},{"line_number":587,"context_line":"                                return True"},{"line_number":588,"context_line":"                        else:"},{"line_number":589,"context_line":"                            try:"},{"line_number":590,"context_line":"                                new_healthcheck[key1] \u003d \\"},{"line_number":591,"context_line":"                                    int(new_healthcheck[key1])"},{"line_number":592,"context_line":"                            except ValueError:"},{"line_number":593,"context_line":"                                raise ValueError("},{"line_number":594,"context_line":"                                    \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":595,"context_line":"                                    \u0027Expected an integer\".\u0027"},{"line_number":596,"context_line":"                                    .format(new_healthcheck[key1])"},{"line_number":597,"context_line":"                                )"},{"line_number":598,"context_line":"                            if new_healthcheck[key1] !\u003d \\"},{"line_number":599,"context_line":"                                    current_healthcheck[key2]:"},{"line_number":600,"context_line":"                                return True"},{"line_number":601,"context_line":"                    elif current_healthcheck[key2]:"},{"line_number":602,"context_line":"                        return True"},{"line_number":603,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_6ab3674f","line":600,"range":{"start_line":562,"start_character":0,"end_line":600,"end_character":43},"in_reply_to":"9f560f44_a72791c7","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                            if new_healthcheck[key1] !\u003d \\"},{"line_number":599,"context_line":"                                    current_healthcheck[key2]:"},{"line_number":600,"context_line":"                                return True"},{"line_number":601,"context_line":"                    elif current_healthcheck[key2]:"},{"line_number":602,"context_line":"                        return True"},{"line_number":603,"context_line":"            else:"},{"line_number":604,"context_line":"                return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_8786cdb9","line":601,"range":{"start_line":601,"start_character":24,"end_line":601,"end_character":50},"updated":"2020-09-18 18:42:54.000000000","message":"elif key2 in current_healthcheck\n\nwould catch falsey values","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                            if new_healthcheck[key1] !\u003d \\"},{"line_number":599,"context_line":"                                    current_healthcheck[key2]:"},{"line_number":600,"context_line":"                                return True"},{"line_number":601,"context_line":"                    elif current_healthcheck[key2]:"},{"line_number":602,"context_line":"                        return True"},{"line_number":603,"context_line":"            else:"},{"line_number":604,"context_line":"                return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_076f4692","line":601,"range":{"start_line":601,"start_character":24,"end_line":601,"end_character":50},"in_reply_to":"9f560f44_8786cdb9","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                return True"},{"line_number":605,"context_line":"        else:"},{"line_number":606,"context_line":"            if current_healthcheck is not None:"},{"line_number":607,"context_line":"                return True"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def parse_image(self):"},{"line_number":610,"context_line":"        full_image \u003d self.params.get(\u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_fafc7c0d","line":607,"updated":"2020-09-18 18:42:54.000000000","message":"Or, even better, replace the entire thing with this:\n\nnew_healthcheck \u003d {healthcheck_map[key]: value for key, value in new_healthcheck}\n\nreturn new_healthcheck \u003d\u003d current_healthcheck","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":916,"context_line":"                       \u0027retries\u0027])"},{"line_number":917,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"        for key in options:"},{"line_number":920,"context_line":"            if key in healthcheck:"},{"line_number":921,"context_line":"                if key in duration_options:"},{"line_number":922,"context_line":"                    time \u003d healthcheck.get(key)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_87252d0d","line":919,"range":{"start_line":919,"start_character":7,"end_line":919,"end_character":27},"updated":"2020-09-18 18:42:54.000000000","message":"If we iterate over healthcheck instead, and check the key is in options, we can catch invalid options, e.g. typos.","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":916,"context_line":"                       \u0027retries\u0027])"},{"line_number":917,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"        for key in options:"},{"line_number":920,"context_line":"            if key in healthcheck:"},{"line_number":921,"context_line":"                if key in duration_options:"},{"line_number":922,"context_line":"                    time \u003d healthcheck.get(key)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_2a585455","line":919,"range":{"start_line":919,"start_character":7,"end_line":919,"end_character":27},"in_reply_to":"9f560f44_87252d0d","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":920,"context_line":"            if key in healthcheck:"},{"line_number":921,"context_line":"                if key in duration_options:"},{"line_number":922,"context_line":"                    time \u003d healthcheck.get(key)"},{"line_number":923,"context_line":"                    if time:"},{"line_number":924,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":925,"context_line":"                        # nanoseconds from seconds"},{"line_number":926,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_a7ecb1bb","line":923,"range":{"start_line":923,"start_character":23,"end_line":923,"end_character":27},"updated":"2020-09-18 18:42:54.000000000","message":"Does this prevent the option from being zero? We already check if key in healthcheck","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":920,"context_line":"            if key in healthcheck:"},{"line_number":921,"context_line":"                if key in duration_options:"},{"line_number":922,"context_line":"                    time \u003d healthcheck.get(key)"},{"line_number":923,"context_line":"                    if time:"},{"line_number":924,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":925,"context_line":"                        # nanoseconds from seconds"},{"line_number":926,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_1fe2ded4","line":923,"range":{"start_line":923,"start_character":23,"end_line":923,"end_character":27},"in_reply_to":"9f560f44_a7ecb1bb","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":924,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":925,"context_line":"                        # nanoseconds from seconds"},{"line_number":926,"context_line":"                        try:"},{"line_number":927,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(int(time) * 1e9)"},{"line_number":928,"context_line":"                        except ValueError:"},{"line_number":929,"context_line":"                            raise ValueError("},{"line_number":930,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_47fe756b","line":927,"range":{"start_line":927,"start_character":73,"end_line":927,"end_character":76},"updated":"2020-09-18 18:42:54.000000000","message":"Might get a weird rounding error with this. Maybe just 1000000 would be better, and avoids the outer int().","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":924,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":925,"context_line":"                        # nanoseconds from seconds"},{"line_number":926,"context_line":"                        try:"},{"line_number":927,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d int(int(time) * 1e9)"},{"line_number":928,"context_line":"                        except ValueError:"},{"line_number":929,"context_line":"                            raise ValueError("},{"line_number":930,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_aa4c649d","line":927,"range":{"start_line":927,"start_character":73,"end_line":927,"end_character":76},"in_reply_to":"9f560f44_47fe756b","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":929,"context_line":"                            raise ValueError("},{"line_number":930,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":931,"context_line":"                                \u0027Expected an integer, got \"{1}\".\u0027"},{"line_number":932,"context_line":"                                .format(result[\u0027healthcheck\u0027][key],"},{"line_number":933,"context_line":"                                        result[\u0027healthcheck\u0027][key])"},{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_47331563","line":932,"range":{"start_line":932,"start_character":40,"end_line":932,"end_character":66},"updated":"2020-09-18 18:42:54.000000000","message":"Key won\u0027t exist if we get here. Add a unit test for this?","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":929,"context_line":"                            raise ValueError("},{"line_number":930,"context_line":"                                \u0027Cannot parse healthcheck \"{0}\".\u0027"},{"line_number":931,"context_line":"                                \u0027Expected an integer, got \"{1}\".\u0027"},{"line_number":932,"context_line":"                                .format(result[\u0027healthcheck\u0027][key],"},{"line_number":933,"context_line":"                                        result[\u0027healthcheck\u0027][key])"},{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_e2c14ee6","line":932,"range":{"start_line":932,"start_character":40,"end_line":932,"end_character":66},"in_reply_to":"9f560f44_47331563","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":933,"context_line":"                                        result[\u0027healthcheck\u0027][key])"},{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"                elif healthcheck.get(key):"},{"line_number":937,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":938,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":939,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key],"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_478155c3","line":936,"range":{"start_line":936,"start_character":21,"end_line":936,"end_character":42},"updated":"2020-09-18 18:42:54.000000000","message":"Would we want to ignore a falsey value?","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":933,"context_line":"                                        result[\u0027healthcheck\u0027][key])"},{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"                elif healthcheck.get(key):"},{"line_number":937,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":938,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":939,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key],"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_ad68e787","line":936,"range":{"start_line":936,"start_character":21,"end_line":936,"end_character":42},"in_reply_to":"9f560f44_478155c3","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"                elif healthcheck.get(key):"},{"line_number":937,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":938,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":939,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key],"},{"line_number":940,"context_line":"                                      (tuple, list)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_47cf9528","line":937,"range":{"start_line":937,"start_character":20,"end_line":937,"end_character":46},"updated":"2020-09-18 18:42:54.000000000","message":"This gets overwritten in every path, so a local variable might be clearer.","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                            )"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"                elif healthcheck.get(key):"},{"line_number":937,"context_line":"                    result[\u0027healthcheck\u0027][key] \u003d healthcheck.get(key)"},{"line_number":938,"context_line":"                    if key \u003d\u003d \u0027test\u0027:"},{"line_number":939,"context_line":"                        if isinstance(result[\u0027healthcheck\u0027][key],"},{"line_number":940,"context_line":"                                      (tuple, list)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_8d6523b2","line":937,"range":{"start_line":937,"start_character":20,"end_line":937,"end_character":46},"in_reply_to":"9f560f44_47cf9528","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        if new_healthcheck:"},{"line_number":558,"context_line":"            new_healthcheck \u003d new_healthcheck[\u0027healthcheck\u0027]"},{"line_number":559,"context_line":"            if current_healthcheck:"},{"line_number":560,"context_line":"                new_healthcheck \u003d dict((healthcheck_map.get(k, k), v) for (k, v) in new_healthcheck.items())"},{"line_number":561,"context_line":"                return new_healthcheck !\u003d current_healthcheck"},{"line_number":562,"context_line":"            else:"},{"line_number":563,"context_line":"                return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_f6091edc","line":560,"updated":"2020-09-21 18:48:47.000000000","message":"linters: E501 line too long (108 \u003e 79 characters)","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        if new_healthcheck:"},{"line_number":558,"context_line":"            new_healthcheck \u003d new_healthcheck[\u0027healthcheck\u0027]"},{"line_number":559,"context_line":"            if current_healthcheck:"},{"line_number":560,"context_line":"                new_healthcheck \u003d dict((healthcheck_map.get(k, k), v) for (k, v) in new_healthcheck.items())"},{"line_number":561,"context_line":"                return new_healthcheck !\u003d current_healthcheck"},{"line_number":562,"context_line":"            else:"},{"line_number":563,"context_line":"                return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_16f492ce","line":560,"updated":"2020-09-21 18:48:47.000000000","message":"pep8: E501 line too long (108 \u003e 79 characters)","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":872,"context_line":""},{"line_number":873,"context_line":"        # All supported healthcheck parameters"},{"line_number":874,"context_line":"        supported \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027,"},{"line_number":875,"context_line":"                       \u0027retries\u0027])"},{"line_number":876,"context_line":"        unsupported \u003d set(healthcheck) - supported"},{"line_number":877,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":878,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_d60e9ae2","line":875,"updated":"2020-09-21 18:48:47.000000000","message":"linters: E128 continuation line under-indented for visual indent","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":872,"context_line":""},{"line_number":873,"context_line":"        # All supported healthcheck parameters"},{"line_number":874,"context_line":"        supported \u003d set([\u0027test\u0027, \u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027,"},{"line_number":875,"context_line":"                       \u0027retries\u0027])"},{"line_number":876,"context_line":"        unsupported \u003d set(healthcheck) - supported"},{"line_number":877,"context_line":"        duration_options \u003d set([\u0027interval\u0027, \u0027timeout\u0027, \u0027start_period\u0027])"},{"line_number":878,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_76fd0eb1","line":875,"updated":"2020-09-21 18:48:47.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":895,"context_line":"            if key in supported:"},{"line_number":896,"context_line":"                if key in duration_options:"},{"line_number":897,"context_line":"                    time \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                    if time is not None or time is not 0:"},{"line_number":899,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":900,"context_line":"                        # nanoseconds from seconds"},{"line_number":901,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_36f716d7","line":898,"updated":"2020-09-21 18:48:47.000000000","message":"linters: F632 use \u003d\u003d/!\u003d to compare str, bytes, and int literals","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":895,"context_line":"            if key in supported:"},{"line_number":896,"context_line":"                if key in duration_options:"},{"line_number":897,"context_line":"                    time \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                    if time is not None or time is not 0:"},{"line_number":899,"context_line":"                        # If time is a string - convert to int and calculate"},{"line_number":900,"context_line":"                        # nanoseconds from seconds"},{"line_number":901,"context_line":"                        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_56fa8ab9","line":898,"updated":"2020-09-21 18:48:47.000000000","message":"pep8: F632 use \u003d\u003d/!\u003d to compare str, bytes, and int literals","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"12079f6c1ec43a24fd02fe39c34ea35a9e96cf39","unresolved":false,"context_lines":[{"line_number":882,"context_line":"                                  msg\u003drepr(\"Unsupported healthcheck options\"),"},{"line_number":883,"context_line":"                                  unsupported_healthcheck\u003dunsupported)"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"        missing \u003d set()"},{"line_number":886,"context_line":"        for key in supported:"},{"line_number":887,"context_line":"            if key not in healthcheck:"},{"line_number":888,"context_line":"                missing.add(key)"},{"line_number":889,"context_line":""},{"line_number":890,"context_line":"        if missing:"},{"line_number":891,"context_line":"            self.module.exit_json(failed\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_2442123c","line":888,"range":{"start_line":885,"start_character":0,"end_line":888,"end_character":32},"updated":"2020-09-23 16:27:32.000000000","message":"You can do the same as above.\n\nmissing \u003d supported - set(healthcheck)","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c2d2f0fef54e0fb15472e10ea5cee469cb64aa41","unresolved":false,"context_lines":[{"line_number":882,"context_line":"                                  msg\u003drepr(\"Unsupported healthcheck options\"),"},{"line_number":883,"context_line":"                                  unsupported_healthcheck\u003dunsupported)"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"        missing \u003d set()"},{"line_number":886,"context_line":"        for key in supported:"},{"line_number":887,"context_line":"            if key not in healthcheck:"},{"line_number":888,"context_line":"                missing.add(key)"},{"line_number":889,"context_line":""},{"line_number":890,"context_line":"        if missing:"},{"line_number":891,"context_line":"            self.module.exit_json(failed\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_afe0b198","line":888,"range":{"start_line":885,"start_character":0,"end_line":888,"end_character":32},"in_reply_to":"9f560f44_2442123c","updated":"2020-09-24 04:36:18.000000000","message":"Done","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"12079f6c1ec43a24fd02fe39c34ea35a9e96cf39","unresolved":false,"context_lines":[{"line_number":893,"context_line":"                                  missing_healthcheck\u003dmissing)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        for key in healthcheck:"},{"line_number":896,"context_line":"            if key in supported:"},{"line_number":897,"context_line":"                value \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                if value:"},{"line_number":899,"context_line":"                    if key in duration_options:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_0468aeb7","line":896,"range":{"start_line":896,"start_character":12,"end_line":896,"end_character":32},"updated":"2020-09-23 16:27:32.000000000","message":"Always true","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c2d2f0fef54e0fb15472e10ea5cee469cb64aa41","unresolved":false,"context_lines":[{"line_number":893,"context_line":"                                  missing_healthcheck\u003dmissing)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        for key in healthcheck:"},{"line_number":896,"context_line":"            if key in supported:"},{"line_number":897,"context_line":"                value \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                if value:"},{"line_number":899,"context_line":"                    if key in duration_options:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_8fdb2de8","line":896,"range":{"start_line":896,"start_character":12,"end_line":896,"end_character":32},"in_reply_to":"9f560f44_0468aeb7","updated":"2020-09-24 04:36:18.000000000","message":"Done","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"12079f6c1ec43a24fd02fe39c34ea35a9e96cf39","unresolved":false,"context_lines":[{"line_number":895,"context_line":"        for key in healthcheck:"},{"line_number":896,"context_line":"            if key in supported:"},{"line_number":897,"context_line":"                value \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                if value:"},{"line_number":899,"context_line":"                    if key in duration_options:"},{"line_number":900,"context_line":"                        try:"},{"line_number":901,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d \\"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_84e79e46","line":898,"range":{"start_line":898,"start_character":16,"end_line":898,"end_character":25},"updated":"2020-09-23 16:27:32.000000000","message":"All keys are required, but if one is falsey, it will not get added to the healthcheck. Shouldn\u0027t it be added anyway?","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c2d2f0fef54e0fb15472e10ea5cee469cb64aa41","unresolved":false,"context_lines":[{"line_number":895,"context_line":"        for key in healthcheck:"},{"line_number":896,"context_line":"            if key in supported:"},{"line_number":897,"context_line":"                value \u003d healthcheck.get(key)"},{"line_number":898,"context_line":"                if value:"},{"line_number":899,"context_line":"                    if key in duration_options:"},{"line_number":900,"context_line":"                        try:"},{"line_number":901,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d \\"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_cff2456f","line":898,"range":{"start_line":898,"start_character":16,"end_line":898,"end_character":25},"in_reply_to":"9f560f44_84e79e46","updated":"2020-09-24 04:36:18.000000000","message":"Makes sense, added a test for it.","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c2d2f0fef54e0fb15472e10ea5cee469cb64aa41","unresolved":false,"context_lines":[{"line_number":932,"context_line":"                                    .format(type(value))"},{"line_number":933,"context_line":"                                )"},{"line_number":934,"context_line":""},{"line_number":935,"context_line":"        if result[\u0027healthcheck\u0027][\u0027test\u0027] \u003d\u003d [\u0027NONE\u0027]:"},{"line_number":936,"context_line":"            # If the user explicitly disables the healthcheck, return None"},{"line_number":937,"context_line":"            # as the healthcheck object"},{"line_number":938,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_0fe9dd7d","line":935,"range":{"start_line":935,"start_character":11,"end_line":935,"end_character":40},"updated":"2020-09-24 04:36:18.000000000","message":"reworked into a safe .get() and added a test for it","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"861731d5994604aefa061f9023878cbcb20045f7","unresolved":false,"context_lines":[{"line_number":932,"context_line":"                                    .format(type(value))"},{"line_number":933,"context_line":"                                )"},{"line_number":934,"context_line":""},{"line_number":935,"context_line":"        if result[\u0027healthcheck\u0027][\u0027test\u0027] \u003d\u003d [\u0027NONE\u0027]:"},{"line_number":936,"context_line":"            # If the user explicitly disables the healthcheck, return None"},{"line_number":937,"context_line":"            # as the healthcheck object"},{"line_number":938,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_63cb5249","line":935,"range":{"start_line":935,"start_character":11,"end_line":935,"end_character":40},"in_reply_to":"9f560f44_0fe9dd7d","updated":"2020-09-24 08:52:36.000000000","message":"Not really necessary, given that all keys are mandatory. Maybe this needs a test.","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a9ac92fc2fd31a1bccebbf8b03adac56de3a03e8","unresolved":false,"context_lines":[{"line_number":914,"context_line":"                            [str(e) for e in value]"},{"line_number":915,"context_line":"                    else:"},{"line_number":916,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d \\"},{"line_number":917,"context_line":"                                [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":919,"context_line":"                    try:"},{"line_number":920,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d \\"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_92ea329d","line":917,"updated":"2020-09-24 06:06:04.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"64e7b97f72809708e724c4946baeecc27ca0bfa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a9ac92fc2fd31a1bccebbf8b03adac56de3a03e8","unresolved":false,"context_lines":[{"line_number":914,"context_line":"                            [str(e) for e in value]"},{"line_number":915,"context_line":"                    else:"},{"line_number":916,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d \\"},{"line_number":917,"context_line":"                                [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":919,"context_line":"                    try:"},{"line_number":920,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d \\"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_f22a8ee4","line":917,"updated":"2020-09-24 06:06:04.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"64e7b97f72809708e724c4946baeecc27ca0bfa5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"861731d5994604aefa061f9023878cbcb20045f7","unresolved":false,"context_lines":[{"line_number":766,"context_line":"        healthcheck \u003d self.params.get(\u0027healthcheck\u0027)"},{"line_number":767,"context_line":"        if healthcheck:"},{"line_number":768,"context_line":"            healthcheck \u003d self.parse_healthcheck(healthcheck)"},{"line_number":769,"context_line":"            options.update(healthcheck)"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        return options"},{"line_number":772,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_a389eac7","line":769,"range":{"start_line":769,"start_character":11,"end_line":769,"end_character":39},"updated":"2020-09-24 08:52:36.000000000","message":"If you return None/False this will fail. Given that parse_healthcheck handles the Falsey healthcheck case, just move the if to after parse_healthcheck.","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cf27d24ecca677892e25d6d330765e15db757d51","unresolved":false,"context_lines":[{"line_number":766,"context_line":"        healthcheck \u003d self.params.get(\u0027healthcheck\u0027)"},{"line_number":767,"context_line":"        if healthcheck:"},{"line_number":768,"context_line":"            healthcheck \u003d self.parse_healthcheck(healthcheck)"},{"line_number":769,"context_line":"            options.update(healthcheck)"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        return options"},{"line_number":772,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_09dd5513","line":769,"range":{"start_line":769,"start_character":11,"end_line":769,"end_character":39},"in_reply_to":"9f560f44_a389eac7","updated":"2020-09-30 07:35:17.000000000","message":"Done","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"861731d5994604aefa061f9023878cbcb20045f7","unresolved":false,"context_lines":[{"line_number":866,"context_line":"            self.module.exit_json(**info[\u0027State\u0027])"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":869,"context_line":"        if not healthcheck:"},{"line_number":870,"context_line":"            return False"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"        result \u003d dict(healthcheck\u003d{})"},{"line_number":873,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_03bed663","line":870,"range":{"start_line":869,"start_character":0,"end_line":870,"end_character":24},"updated":"2020-09-24 08:52:36.000000000","message":"Guess we should test this case.","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cf27d24ecca677892e25d6d330765e15db757d51","unresolved":false,"context_lines":[{"line_number":866,"context_line":"            self.module.exit_json(**info[\u0027State\u0027])"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":869,"context_line":"        if not healthcheck:"},{"line_number":870,"context_line":"            return False"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"        result \u003d dict(healthcheck\u003d{})"},{"line_number":873,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_49e3cdd8","line":870,"range":{"start_line":869,"start_character":0,"end_line":870,"end_character":24},"in_reply_to":"9f560f44_03bed663","updated":"2020-09-30 07:35:17.000000000","message":"Done","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9e897ef2f712d5bd2300859cd11f694ce7082481","unresolved":false,"context_lines":[{"line_number":866,"context_line":""},{"line_number":867,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":868,"context_line":"        if not healthcheck:"},{"line_number":869,"context_line":"            return False"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":"        result \u003d dict(healthcheck\u003d{})"},{"line_number":872,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_0963951b","line":869,"range":{"start_line":869,"start_character":19,"end_line":869,"end_character":24},"updated":"2020-09-24 10:03:26.000000000","message":"Let\u0027s be consistent and return None","commit_id":"f5a760e72383589c5d134b13314e5b7ebb079239"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9e897ef2f712d5bd2300859cd11f694ce7082481","unresolved":false,"context_lines":[{"line_number":920,"context_line":"                            .format(type(value))"},{"line_number":921,"context_line":"                        )"},{"line_number":922,"context_line":""},{"line_number":923,"context_line":"        if result.get(\u0027healthcheck\u0027, {}).get(\u0027test\u0027) \u003d\u003d [\u0027NONE\u0027]:"},{"line_number":924,"context_line":"            # If the user explicitly disables the healthcheck, return None"},{"line_number":925,"context_line":"            # as the healthcheck object"},{"line_number":926,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_69acd134","line":923,"range":{"start_line":923,"start_character":11,"end_line":923,"end_character":65},"updated":"2020-09-24 10:03:26.000000000","message":"The other patch passes \u0027NONE\u0027, not [\u0027NONE\u0027]","commit_id":"f5a760e72383589c5d134b13314e5b7ebb079239"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"468b97938624efc7612e84bb34ef455a640a5e49","unresolved":false,"context_lines":[{"line_number":866,"context_line":""},{"line_number":867,"context_line":"    def parse_healthcheck(self, healthcheck):"},{"line_number":868,"context_line":"        if not healthcheck:"},{"line_number":869,"context_line":"            return False"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":"        result \u003d dict(healthcheck\u003d{})"},{"line_number":872,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_84ae6ce4","line":869,"range":{"start_line":869,"start_character":19,"end_line":869,"end_character":24},"updated":"2020-09-24 10:14:19.000000000","message":"None","commit_id":"cb90e5563d936e5e95c930c3b889a7acd1ae53cb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":906,"context_line":"                    )"},{"line_number":907,"context_line":"            else:"},{"line_number":908,"context_line":"                if key \u003d\u003d \u0027test\u0027:"},{"line_number":909,"context_line":"                    # If the user explicitly disables the healthcheck, return None"},{"line_number":910,"context_line":"                    # as the healthcheck object"},{"line_number":911,"context_line":"                    if value in ([\u0027NONE\u0027], \u0027NONE\u0027):"},{"line_number":912,"context_line":"                        return None"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_bbc0ea4b","line":909,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (82 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":906,"context_line":"                    )"},{"line_number":907,"context_line":"            else:"},{"line_number":908,"context_line":"                if key \u003d\u003d \u0027test\u0027:"},{"line_number":909,"context_line":"                    # If the user explicitly disables the healthcheck, return None"},{"line_number":910,"context_line":"                    # as the healthcheck object"},{"line_number":911,"context_line":"                    if value in ([\u0027NONE\u0027], \u0027NONE\u0027):"},{"line_number":912,"context_line":"                        return None"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_5ba70ebd","line":909,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":912,"context_line":"                        return None"},{"line_number":913,"context_line":"                    else:"},{"line_number":914,"context_line":"                        if isinstance(value, (tuple, list)):"},{"line_number":915,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in value]"},{"line_number":916,"context_line":"                        else:"},{"line_number":917,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_1ba116aa","line":915,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (80 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":912,"context_line":"                        return None"},{"line_number":913,"context_line":"                    else:"},{"line_number":914,"context_line":"                        if isinstance(value, (tuple, list)):"},{"line_number":915,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in value]"},{"line_number":916,"context_line":"                        else:"},{"line_number":917,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_3baa1a83","line":915,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":914,"context_line":"                        if isinstance(value, (tuple, list)):"},{"line_number":915,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in value]"},{"line_number":916,"context_line":"                        else:"},{"line_number":917,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":919,"context_line":"                    try:"},{"line_number":920,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_fba382af","line":917,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (82 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":914,"context_line":"                        if isinstance(value, (tuple, list)):"},{"line_number":915,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [str(e) for e in value]"},{"line_number":916,"context_line":"                        else:"},{"line_number":917,"context_line":"                            result[\u0027healthcheck\u0027][key] \u003d [\u0027CMD-SHELL\u0027, str(value)]"},{"line_number":918,"context_line":"                elif key \u003d\u003d \u0027retries\u0027:"},{"line_number":919,"context_line":"                    try:"},{"line_number":920,"context_line":"                        result[\u0027healthcheck\u0027][key] \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_9b940646","line":917,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"}],"tests/test_kolla_docker.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            failed\u003dTrue, msg\u003drepr(\"Unsupported dimensions\"),"},{"line_number":290,"context_line":"            unsupported_dimensions\u003dset([\u0027random\u0027]))"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def test_create_container_with_default_healthcheck(self):"},{"line_number":293,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":294,"context_line":"        self.dw.dc.create_host_config \u003d mock.MagicMock("},{"line_number":295,"context_line":"            return_value\u003dself.fake_data[\u0027params\u0027][\u0027host_config\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_1ead899a","line":292,"updated":"2020-08-06 11:29:08.000000000","message":"fake_data already has a healthcheck","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":298,"context_line":""},{"line_number":299,"context_line":"    def test_create_container_with_healthcheck(self):"},{"line_number":300,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":301,"context_line":"            {\u0027test\u0027: [\u0027CMD-SHELL\u0027, \u0027/bin/hcheck.sh\u0027]}"},{"line_number":302,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":303,"context_line":"        self.dw.dc.create_host_config \u003d mock.MagicMock("},{"line_number":304,"context_line":"            return_value\u003dself.fake_data[\u0027params\u0027][\u0027host_config\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9e987975","line":301,"range":{"start_line":301,"start_character":41,"end_line":301,"end_character":47},"updated":"2020-08-06 11:29:08.000000000","message":"check","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":308,"context_line":"                         \u0027healthcheck\u0027, \u0027image\u0027, \u0027labels\u0027, \u0027name\u0027, \u0027tty\u0027,"},{"line_number":309,"context_line":"                         \u0027volumes\u0027}"},{"line_number":310,"context_line":"        self.dw.dc.create_container.assert_called_once_with("},{"line_number":311,"context_line":"            **{k: self.fake_data[\u0027params\u0027][k] for k in expected_args})"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def test_start_container_without_pull(self):"},{"line_number":314,"context_line":"        self.fake_data[\u0027params\u0027].update({\u0027auth_username\u0027: \u0027fake_user\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_5e7b8126","line":311,"updated":"2020-08-06 11:29:08.000000000","message":"Can you add a test for the NONE test?","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d4b97d7ed7a96301bd0876670477237ef5d37a5","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"            \u0027CpusetMems\u0027: \u0027\u0027, \u0027MemorySwap\u0027: 0, \u0027MemoryReservation\u0027: 0,"},{"line_number":1134,"context_line":"            \u0027Ulimits\u0027: [ulimits_nofile]}"},{"line_number":1135,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1136,"context_line":"        self.assertFalse(self.dw.compare_dimensions(container_info))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_feba55be","line":1136,"updated":"2020-08-06 11:29:08.000000000","message":"Can you add tests for the comparison?","commit_id":"703d0f20e1ef8e7869417416f6a4e52b840b68e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"    def test_compare_empty_new_healthcheck(self):"},{"line_number":1123,"context_line":"        container_info \u003d dict()"},{"line_number":1124,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1125,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1126,"context_line":"                    \u0027Test\u0027: \u0027CMD-SHELL /bin/check.sh\u0027}"},{"line_number":1127,"context_line":"                }"},{"line_number":1128,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_6046167e","line":1125,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"    def test_compare_empty_new_healthcheck(self):"},{"line_number":1123,"context_line":"        container_info \u003d dict()"},{"line_number":1124,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1125,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1126,"context_line":"                    \u0027Test\u0027: \u0027CMD-SHELL /bin/check.sh\u0027}"},{"line_number":1127,"context_line":"                }"},{"line_number":1128,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a01cae7b","line":1125,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1125,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1126,"context_line":"                    \u0027Test\u0027: \u0027CMD-SHELL /bin/check.sh\u0027}"},{"line_number":1127,"context_line":"                }"},{"line_number":1128,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1129,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1130,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c05c424e","line":1127,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1125,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1126,"context_line":"                    \u0027Test\u0027: \u0027CMD-SHELL /bin/check.sh\u0027}"},{"line_number":1127,"context_line":"                }"},{"line_number":1128,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1129,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1130,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_002c7aaa","line":1127,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_compare_empty_current_healthcheck(self):"},{"line_number":1132,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1133,"context_line":"             {\u0027test\u0027: [\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027],"},{"line_number":1134,"context_line":"              \u0027interval\u0027: 30,"},{"line_number":1135,"context_line":"              \u0027timeout\u0027: 30,"},{"line_number":1136,"context_line":"              \u0027start_period\u0027: 5,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a0578e27","line":1133,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_compare_empty_current_healthcheck(self):"},{"line_number":1132,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1133,"context_line":"             {\u0027test\u0027: [\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027],"},{"line_number":1134,"context_line":"              \u0027interval\u0027: 30,"},{"line_number":1135,"context_line":"              \u0027timeout\u0027: 30,"},{"line_number":1136,"context_line":"              \u0027start_period\u0027: 5,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e026a6cb","line":1133,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"            {\u0027test\u0027: [\u0027CMD\u0027, \u0027/bin/check\u0027]}"},{"line_number":1146,"context_line":"        container_info \u003d dict()"},{"line_number":1147,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1148,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1149,"context_line":"                    \u0027Test\u0027: {\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027}"},{"line_number":1150,"context_line":"                }"},{"line_number":1151,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_00575a28","line":1148,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"            {\u0027test\u0027: [\u0027CMD\u0027, \u0027/bin/check\u0027]}"},{"line_number":1146,"context_line":"        container_info \u003d dict()"},{"line_number":1147,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1148,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1149,"context_line":"                    \u0027Test\u0027: {\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027}"},{"line_number":1150,"context_line":"                }"},{"line_number":1151,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_40179255","line":1148,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1148,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1149,"context_line":"                    \u0027Test\u0027: {\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027}"},{"line_number":1150,"context_line":"                }"},{"line_number":1151,"context_line":"                }"},{"line_number":1152,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1153,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_e0518632","line":1151,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1148,"context_line":"                \u0027Healthcheck\u0027: {"},{"line_number":1149,"context_line":"                    \u0027Test\u0027: {\u0027CMD-SHELL\u0027, \u0027/bin/check.sh\u0027}"},{"line_number":1150,"context_line":"                }"},{"line_number":1151,"context_line":"                }"},{"line_number":1152,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1153,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_201a5e7b","line":1151,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"             \u0027retries\u0027: 3}"},{"line_number":1162,"context_line":"        container_info \u003d dict()"},{"line_number":1163,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1164,"context_line":"                \"Healthcheck\": {"},{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_402e72ab","line":1164,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"             \u0027retries\u0027: 3}"},{"line_number":1162,"context_line":"        container_info \u003d dict()"},{"line_number":1163,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1164,"context_line":"                \"Healthcheck\": {"},{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_8011aa60","line":1164,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1162,"context_line":"        container_info \u003d dict()"},{"line_number":1163,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1164,"context_line":"                \"Healthcheck\": {"},{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""},{"line_number":1168,"context_line":"                         ],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_2031be0b","line":1165,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1162,"context_line":"        container_info \u003d dict()"},{"line_number":1163,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1164,"context_line":"                \"Healthcheck\": {"},{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""},{"line_number":1168,"context_line":"                         ],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_6014564e","line":1165,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""},{"line_number":1168,"context_line":"                         ],"},{"line_number":1169,"context_line":"                     \"Interval\": 30000000000,"},{"line_number":1170,"context_line":"                     \"Timeout\": 30000000000,"},{"line_number":1171,"context_line":"                     \"StartPeriod\": 5000000000,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_80388aee","line":1168,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1165,"context_line":"                     \"Test\": ["},{"line_number":1166,"context_line":"                         \"CMD-SHELL\","},{"line_number":1167,"context_line":"                         \"/bin/check.sh\""},{"line_number":1168,"context_line":"                         ],"},{"line_number":1169,"context_line":"                     \"Interval\": 30000000000,"},{"line_number":1170,"context_line":"                     \"Timeout\": 30000000000,"},{"line_number":1171,"context_line":"                     \"StartPeriod\": 5000000000,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c00a8225","line":1168,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"                     \"StartPeriod\": 5000000000,"},{"line_number":1172,"context_line":"                     \"Retries\": 3"},{"line_number":1173,"context_line":"                }"},{"line_number":1174,"context_line":"                }"},{"line_number":1175,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1176,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_603bb6e9","line":1174,"updated":"2020-09-17 18:51:20.000000000","message":"linters: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"                     \"StartPeriod\": 5000000000,"},{"line_number":1172,"context_line":"                     \"Retries\": 3"},{"line_number":1173,"context_line":"                }"},{"line_number":1174,"context_line":"                }"},{"line_number":1175,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1176,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_a005ce17","line":1174,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"                }"},{"line_number":1175,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1176,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c021e2b7","line":1177,"updated":"2020-09-17 18:51:20.000000000","message":"linters: W391 blank line at end of file","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6e30e66537a7a0c1e722cf9529ae141a0ef3b03c","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"                }"},{"line_number":1175,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1176,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_00059a14","line":1177,"updated":"2020-09-17 18:51:20.000000000","message":"pep8: W391 blank line at end of file","commit_id":"9a7dcb1659b303118d02f4063b5285ca815c97a9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"542c5a5d4421fdd2d82ad18c3d684f655c634aa8","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \"StartPeriod\": 5000000000,"},{"line_number":1180,"context_line":"                \"Retries\": 3}}"},{"line_number":1181,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1182,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_9a2e208a","line":1182,"updated":"2020-09-18 18:42:54.000000000","message":"Let\u0027s add a case where an option is missing in the new healthcheck, and one with an extra option.","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9b0bab87f9b6b9f949e6a36ad6d2e2dcdca94f67","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \"StartPeriod\": 5000000000,"},{"line_number":1180,"context_line":"                \"Retries\": 3}}"},{"line_number":1181,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1182,"context_line":"        self.assertFalse(self.dw.compare_healthcheck(container_info))"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_cfed6a8f","line":1182,"in_reply_to":"9f560f44_9a2e208a","updated":"2020-09-22 11:30:05.000000000","message":"Done","commit_id":"70b275ac665a084466aed0e993a4a6b1aaad6f69"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1201,"context_line":"        self.dw.compare_healthcheck(container_info)"},{"line_number":1202,"context_line":"        self.dw.module.exit_json.assert_called_once_with("},{"line_number":1203,"context_line":"                failed\u003dTrue, msg\u003drepr(\"Missing healthcheck option\"),"},{"line_number":1204,"context_line":"                missing_healthcheck\u003dset([\u0027start_period\u0027]))"},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"    def test_compare_healthcheck_opt_extra(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_b60326be","line":1203,"updated":"2020-09-21 18:48:47.000000000","message":"linters: E126 continuation line over-indented for hanging indent","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fcd4582b27248bc90716bc2ae61d1fbcb1d2cf","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1201,"context_line":"        self.dw.compare_healthcheck(container_info)"},{"line_number":1202,"context_line":"        self.dw.module.exit_json.assert_called_once_with("},{"line_number":1203,"context_line":"                failed\u003dTrue, msg\u003drepr(\"Missing healthcheck option\"),"},{"line_number":1204,"context_line":"                missing_healthcheck\u003dset([\u0027start_period\u0027]))"},{"line_number":1205,"context_line":""},{"line_number":1206,"context_line":"    def test_compare_healthcheck_opt_extra(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_9608a2d9","line":1203,"updated":"2020-09-21 18:48:47.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"11ca0189cabd75e7060e5f855ee02629fb5a5455"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"12079f6c1ec43a24fd02fe39c34ea35a9e96cf39","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"             \u0027retries\u0027: 3}"},{"line_number":1210,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027][\u0027interval\u0027] \u003d \\"},{"line_number":1211,"context_line":"            {\"broken\": {\"interval\": \"True\"}}"},{"line_number":1212,"context_line":"        print(self.fake_data[\u0027params\u0027])"},{"line_number":1213,"context_line":"        container_info \u003d dict()"},{"line_number":1214,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1215,"context_line":"            \"Healthcheck\": {"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_29514b31","line":1212,"range":{"start_line":1212,"start_character":8,"end_line":1212,"end_character":39},"updated":"2020-09-23 16:27:32.000000000","message":"?","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c2d2f0fef54e0fb15472e10ea5cee469cb64aa41","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"             \u0027retries\u0027: 3}"},{"line_number":1210,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027][\u0027interval\u0027] \u003d \\"},{"line_number":1211,"context_line":"            {\"broken\": {\"interval\": \"True\"}}"},{"line_number":1212,"context_line":"        print(self.fake_data[\u0027params\u0027])"},{"line_number":1213,"context_line":"        container_info \u003d dict()"},{"line_number":1214,"context_line":"        container_info[\u0027Config\u0027] \u003d {"},{"line_number":1215,"context_line":"            \"Healthcheck\": {"}],"source_content_type":"text/x-python","patch_set":14,"id":"9f560f44_6f033943","line":1212,"range":{"start_line":1212,"start_character":8,"end_line":1212,"end_character":39},"in_reply_to":"9f560f44_29514b31","updated":"2020-09-24 04:36:18.000000000","message":"doh, lame debugging leftovers - removed.","commit_id":"ba9ac5c08ba4684e94c3b5d324d3612922a870ce"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"861731d5994604aefa061f9023878cbcb20045f7","unresolved":false,"context_lines":[{"line_number":1162,"context_line":"                \"StartPeriod\": 5000000000,"},{"line_number":1163,"context_line":"                \"Retries\": 3}}"},{"line_number":1164,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1165,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"    def test_compare_healthcheck_pos(self):"},{"line_number":1168,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_63d512b7","line":1165,"updated":"2020-09-24 08:52:36.000000000","message":"In reality this would call exit_json due to missing test key. In testing that probably does not trigger exit of the module.","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cf27d24ecca677892e25d6d330765e15db757d51","unresolved":false,"context_lines":[{"line_number":1162,"context_line":"                \"StartPeriod\": 5000000000,"},{"line_number":1163,"context_line":"                \"Retries\": 3}}"},{"line_number":1164,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1165,"context_line":"        self.assertTrue(self.dw.compare_healthcheck(container_info))"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"    def test_compare_healthcheck_pos(self):"},{"line_number":1168,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_c9c19d31","line":1165,"in_reply_to":"9f560f44_63d512b7","updated":"2020-09-30 07:35:17.000000000","message":"Done","commit_id":"996981ef57a8bba6c1701075550b4766559ccb54"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"468b97938624efc7612e84bb34ef455a640a5e49","unresolved":false,"context_lines":[{"line_number":1335,"context_line":""},{"line_number":1336,"context_line":"    def test_parse_healthcheck_empty(self):"},{"line_number":1337,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1338,"context_line":"        self.assertFalse(self.dw.parse_healthcheck(self.fake_data.get(\u0027params\u0027, {}).get(\u0027healthcheck\u0027)))"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    def test_parse_healthcheck_test_none(self):"},{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_64a998db","line":1338,"range":{"start_line":1338,"start_character":19,"end_line":1338,"end_character":24},"updated":"2020-09-24 10:14:19.000000000","message":"IsNone","commit_id":"cb90e5563d936e5e95c930c3b889a7acd1ae53cb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"468b97938624efc7612e84bb34ef455a640a5e49","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1342,"context_line":"            {\u0027test\u0027: [\u0027NONE\u0027]}"},{"line_number":1343,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1344,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"},{"line_number":1345,"context_line":"    def test_parse_healthcheck_test_none_brackets(self):"},{"line_number":1346,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1347,"context_line":"            {\u0027test\u0027: \u0027NONE\u0027}"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_e49da8bb","line":1344,"updated":"2020-09-24 10:14:19.000000000","message":"Missing newline","commit_id":"cb90e5563d936e5e95c930c3b889a7acd1ae53cb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1335,"context_line":""},{"line_number":1336,"context_line":"    def test_parse_healthcheck_empty(self):"},{"line_number":1337,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1338,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data.get(\u0027params\u0027, {}).get(\u0027healthcheck\u0027)))"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    def test_parse_healthcheck_test_none(self):"},{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_7b8f722d","line":1338,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (105 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1335,"context_line":""},{"line_number":1336,"context_line":"    def test_parse_healthcheck_empty(self):"},{"line_number":1337,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1338,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data.get(\u0027params\u0027, {}).get(\u0027healthcheck\u0027)))"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    def test_parse_healthcheck_test_none(self):"},{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_1b8ab619","line":1338,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1342,"context_line":"            {\u0027test\u0027: [\u0027NONE\u0027]}"},{"line_number":1343,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1344,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"    def test_parse_healthcheck_test_none_brackets(self):"},{"line_number":1347,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_db9afe6c","line":1344,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (93 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1342,"context_line":"            {\u0027test\u0027: [\u0027NONE\u0027]}"},{"line_number":1343,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1344,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"    def test_parse_healthcheck_test_none_brackets(self):"},{"line_number":1347,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_fb8c2236","line":1344,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1347,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1348,"context_line":"            {\u0027test\u0027: \u0027NONE\u0027}"},{"line_number":1349,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1350,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_bb958a3f","line":1350,"updated":"2020-09-24 11:53:47.000000000","message":"linters: E501 line too long (93 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"11262deece05b3812f843b11969f2b95cbf994ad","unresolved":false,"context_lines":[{"line_number":1347,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1348,"context_line":"            {\u0027test\u0027: \u0027NONE\u0027}"},{"line_number":1349,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1350,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck(self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_5b80aef7","line":1350,"updated":"2020-09-24 11:53:47.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"bc45a3deeb36f2cc5bd5a2d50e9e7676368897b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"d13b679f24ea93bf78e4cf3eed866b5a36173fb3","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck("},{"line_number":1339,"context_line":"                          self.fake_data.get(\u0027params\u0027, {}).get(\u0027healthcheck\u0027)))"},{"line_number":1340,"context_line":""},{"line_number":1341,"context_line":"    def test_parse_healthcheck_test_none(self):"},{"line_number":1342,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1343,"context_line":"            {\u0027test\u0027: [\u0027NONE\u0027]}"},{"line_number":1344,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"},{"line_number":1345,"context_line":"        self.assertIsNone(self.dw.parse_healthcheck("},{"line_number":1346,"context_line":"                          self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027]))"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"    def test_parse_healthcheck_test_none_brackets(self):"},{"line_number":1349,"context_line":"        self.fake_data[\u0027params\u0027][\u0027healthcheck\u0027] \u003d \\"},{"line_number":1350,"context_line":"            {\u0027test\u0027: \u0027NONE\u0027}"},{"line_number":1351,"context_line":"        self.dw \u003d get_DockerWorker(self.fake_data[\u0027params\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_7c738c4f","line":1348,"range":{"start_line":1341,"start_character":0,"end_line":1348,"end_character":56},"updated":"2020-09-30 14:17:40.000000000","message":"these two tests have mixed names","commit_id":"89a94a63e95e5809e6bc419b92a531e88178c5d7"}]}
