)]}'
{"nodepool/builder.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"240dc76d3da0aa7ac802da8ba3d5cf541116cdf5","unresolved":true,"context_lines":[{"line_number":443,"context_line":"            upload \u003d self._zk.getMostRecentBuildImageUploads("},{"line_number":444,"context_line":"                1, image_name, build_id, provider.name, zk.READY)"},{"line_number":445,"context_line":"            if not upload:"},{"line_number":446,"context_line":"                to_keep.add(provider.image_type)"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        base \u003d \"-\".join([image_name, build_id])"},{"line_number":449,"context_line":"        files \u003d DibImageFile.from_image_id(images_dir, base)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9795656b_61644398","line":446,"updated":"2024-04-02 22:45:01.000000000","message":"Why doesn\u0027t this check prevent the breakage from happening? Uploads only happen after dib has completed right? And this would prevent any deletion from occurring until uploads are done?","commit_id":"6a71686b6ba09eff5575a740a7b29f60427540ce"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"fcac473afbc37aab3b0abcfaac85c22e173b6f07","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            upload \u003d self._zk.getMostRecentBuildImageUploads("},{"line_number":444,"context_line":"                1, image_name, build_id, provider.name, zk.READY)"},{"line_number":445,"context_line":"            if not upload:"},{"line_number":446,"context_line":"                to_keep.add(provider.image_type)"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        base \u003d \"-\".join([image_name, build_id])"},{"line_number":449,"context_line":"        files \u003d DibImageFile.from_image_id(images_dir, base)"}],"source_content_type":"text/x-python","patch_set":1,"id":"74b4dac1_b9365c72","line":446,"in_reply_to":"9795656b_61644398","updated":"2024-04-02 22:49:26.000000000","message":"If the uploads haven\u0027t started, then there\u0027s nothing to add to the keep list.","commit_id":"6a71686b6ba09eff5575a740a7b29f60427540ce"}],"nodepool/tests/unit/test_builder.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"240dc76d3da0aa7ac802da8ba3d5cf541116cdf5","unresolved":true,"context_lines":[{"line_number":626,"context_line":"        # Create an in-progress image build file that we should ensure"},{"line_number":627,"context_line":"        # is not deleted."},{"line_number":628,"context_line":"        intermediate_path \u003d ("},{"line_number":629,"context_line":"            os.path.join(self._config_images_dir.path, base) +"},{"line_number":630,"context_line":"            \u0027.vhd\u0027"},{"line_number":631,"context_line":"        )"},{"line_number":632,"context_line":"        open(intermediate_path, \u0027w\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c2456c83_f94bf3ed","line":629,"updated":"2024-04-02 22:45:01.000000000","message":"Note I think the intermediate vhd files may have a bit of extra string content in their paths. I\u0027m not sure that matters here though?","commit_id":"6a71686b6ba09eff5575a740a7b29f60427540ce"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"fcac473afbc37aab3b0abcfaac85c22e173b6f07","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        # Create an in-progress image build file that we should ensure"},{"line_number":627,"context_line":"        # is not deleted."},{"line_number":628,"context_line":"        intermediate_path \u003d ("},{"line_number":629,"context_line":"            os.path.join(self._config_images_dir.path, base) +"},{"line_number":630,"context_line":"            \u0027.vhd\u0027"},{"line_number":631,"context_line":"        )"},{"line_number":632,"context_line":"        open(intermediate_path, \u0027w\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2c4971fb_70ac3b90","line":629,"in_reply_to":"c2456c83_f94bf3ed","updated":"2024-04-02 22:49:26.000000000","message":"The .vhd-intermidate file may be what you\u0027re thinking of, but it doesn\u0027t pass the regex to make the builder think there is anything on disk.  I believe the scenario we saw in opendev had at least one complete image file to trip that code path.  So this is more simulating that than the specific .vhd-intermediate file (which is also part of that process).","commit_id":"6a71686b6ba09eff5575a740a7b29f60427540ce"}]}
