)]}'
{"kolla/image/build.py":[{"author":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"change_message_id":"6e7fd7bbe2704b403505040c0804b6f6827dd276","unresolved":false,"context_lines":[{"line_number":1116,"context_line":""},{"line_number":1117,"context_line":"                    ancestor_image \u003d image"},{"line_number":1118,"context_line":"                    while (ancestor_image.parent is not None and"},{"line_number":1119,"context_line":"                           ancestor_image.parent.status !\u003d STATUS_MATCHED):"},{"line_number":1120,"context_line":"                        ancestor_image \u003d ancestor_image.parent"},{"line_number":1121,"context_line":"                        # Parents of a buildable image must also be buildable."},{"line_number":1122,"context_line":"                        ancestor_image.status \u003d STATUS_MATCHED"}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_373bfbd1","line":1119,"updated":"2020-03-16 14:05:19.000000000","message":"This can cause unbuildable parent images to be matched. What about checking for status \u003d\u003d UNPROCESSED? That seems to be what you want.","commit_id":"2f95530f0548611278f4093f1da66452c7ba2001"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3446f874bfb2b12d4d6fdc03ec704c3a2e90a82a","unresolved":false,"context_lines":[{"line_number":1116,"context_line":""},{"line_number":1117,"context_line":"                    ancestor_image \u003d image"},{"line_number":1118,"context_line":"                    while (ancestor_image.parent is not None and"},{"line_number":1119,"context_line":"                           ancestor_image.parent.status !\u003d STATUS_MATCHED):"},{"line_number":1120,"context_line":"                        ancestor_image \u003d ancestor_image.parent"},{"line_number":1121,"context_line":"                        # Parents of a buildable image must also be buildable."},{"line_number":1122,"context_line":"                        ancestor_image.status \u003d STATUS_MATCHED"}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_97d3cfd5","line":1119,"in_reply_to":"1fa4df85_373bfbd1","updated":"2020-03-16 14:28:40.000000000","message":"On L1087 we set all children of unbuildable images to unbuildable, so we can\u0027t get here with an unbuildable parent.","commit_id":"2f95530f0548611278f4093f1da66452c7ba2001"},{"author":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"change_message_id":"6e7fd7bbe2704b403505040c0804b6f6827dd276","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"            if image.status !\u003d STATUS_MATCHED:"},{"line_number":1134,"context_line":"                continue"},{"line_number":1135,"context_line":"            # Skip image if --skip-existing was given and image exists."},{"line_number":1136,"context_line":"            if (self.conf.skip_existing and image.in_docker_cache()):"},{"line_number":1137,"context_line":"                LOG.debug(\u0027Skipping existing image %s\u0027, image.name)"},{"line_number":1138,"context_line":"                image.status \u003d STATUS_SKIPPED"},{"line_number":1139,"context_line":"            # Skip image if --skip-parents was given and image has children."}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_3740db35","line":1136,"updated":"2020-03-16 14:05:19.000000000","message":"This changes the behavior of skip_existing, which used to only apply to parents that would be built in a chain. How is it possible now to force a new build of a given image if a prior version exists in the cache?","commit_id":"2f95530f0548611278f4093f1da66452c7ba2001"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3446f874bfb2b12d4d6fdc03ec704c3a2e90a82a","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"            if image.status !\u003d STATUS_MATCHED:"},{"line_number":1134,"context_line":"                continue"},{"line_number":1135,"context_line":"            # Skip image if --skip-existing was given and image exists."},{"line_number":1136,"context_line":"            if (self.conf.skip_existing and image.in_docker_cache()):"},{"line_number":1137,"context_line":"                LOG.debug(\u0027Skipping existing image %s\u0027, image.name)"},{"line_number":1138,"context_line":"                image.status \u003d STATUS_SKIPPED"},{"line_number":1139,"context_line":"            # Skip image if --skip-parents was given and image has children."}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_57feb738","line":1136,"in_reply_to":"1fa4df85_3740db35","updated":"2020-03-16 14:28:40.000000000","message":"It applied to all images when a filter is in use, see L1120 and L1131 in the original file. The change in behaviour is that skip-existing and skip-parent now apply also when no filter is in use.","commit_id":"2f95530f0548611278f4093f1da66452c7ba2001"}]}
