Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit 32f1466

Browse files
matt-royaltcdowney
andcommitted
Clean up expired package blobs on k8s
We will never have a package_hash (sha1 checksum) when using a package registry, but will have a sha256 checksum. We don't expect this change to negatively effect "legacy" configurations. [#175080280] Co-authored-by: Matt Royal <mroyal@pivotal.io> Co-authored-by: Tim Downey <tdowney@vmware.com>
1 parent caa24ca commit 32f1466

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

app/jobs/runtime/expired_blob_cleanup.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def perform
99
enqueue_droplet_delete_job(droplet.guid)
1010
end
1111

12-
PackageModel.where(state: PackageModel::EXPIRED_STATE).exclude(package_hash: nil).each do |package|
12+
PackageModel.where(state: PackageModel::EXPIRED_STATE).exclude(package_hash: nil, sha256_checksum: '').each do |package|
1313
enqueue_package_delete_job(package.guid)
1414
end
1515
end

spec/unit/jobs/runtime/expired_blob_cleanup_spec.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,16 @@ module Jobs::Runtime
6161
expect(Delayed::Job.last.handler).to include('DeleteExpiredPackageBlob')
6262
end
6363

64-
it 'does nothing when package_hash is nil' do
64+
it 'enqueues a deletion job when only package_hash is nil' do
6565
expired_package.update(package_hash: nil)
6666

67+
expect { job.perform }.to change { Delayed::Job.count }.by(1)
68+
expect(Delayed::Job.last.handler).to include('DeleteExpiredPackageBlob')
69+
end
70+
71+
it 'does nothing when both package_hash and sha256_checksum are blank' do
72+
expired_package.update(package_hash: nil, sha256_checksum: '')
73+
6774
expect { job.perform }.not_to change { Delayed::Job.count }.from(0)
6875
end
6976
end

0 commit comments

Comments
 (0)