Skip to content

Instantly share code, notes, and snippets.

@amarjandu
Created April 7, 2020 21:42
Show Gist options
  • Save amarjandu/11d0e72e60b1b1dbc49abacb2ab3fe78 to your computer and use it in GitHub Desktop.
Save amarjandu/11d0e72e60b1b1dbc49abacb2ab3fe78 to your computer and use it in GitHub Desktop.
tombstone (#1679)
#!/usr/bin/env python
"""
This script will tombstone the bundles in `bundles_to_tombstone`
Usage:
- tag HCA/data-ops team in the comments under the Data-Store issue for the tombstone reqeust with @HumanCellAtlas/data-ops
- edit `stage` to target deployment.
- edit `bundles_to_tombstone` to contain the bundles to tombstone.
- edit `tombstone_reason` with explanation for tombstoning
- Place the edited script in a GitHub gist
- Post gist link to Slack in #dcp-ops asking for review and verification that these bundles should be tonbstoned
- Tag @dataops in the #dcp-ops channel in the comments to the tread posted above.
- If given the go-ahead, execute script
- Monitor output. Announce errors in #dcp-ops, ask for help in #data-store-eng
"""
import sys
import time
import json
from random import randint
from traceback import format_exc
from concurrent.futures import ThreadPoolExecutor, as_completed
from hca.dss import DSSClient
from hca.util.exceptions import SwaggerAPIException
stage = "staging"
tombstone_reason = "Errors within Azul, see Azul(#1679)"
assert stage
assert tombstone_reason
BATCH_SIZE = 1000
def _get_dss_client():
if stage == "prod":
dss_client = DSSClient(swagger_url="https://dss.data.humancellatlas.org/v1/swagger.json")
else:
dss_client = DSSClient(swagger_url=f"https://dss.{stage}.data.humancellatlas.org/v1/swagger.json")
return dss_client
dss_client = _get_dss_client()
def tombstone_bundle(fqid):
uuid, version = fqid.split(".", 1)
bundle_found = bundle_is_found(uuid, version)
bundle_already_tombstoned = bundle_is_tombstoned(uuid, version)
if bundle_found and not bundle_already_tombstoned:
resp = dss_client.delete_bundle(
replica="aws",
uuid=uuid,
version=version,
reason=tombstone_reason,
)
for _ in range(20):
if bundle_is_tombstoned(uuid, version):
break
else:
time.sleep(randint(1,3))
else:
raise Exception(f"Unable to verity tombstone {uuid}")
return bundle_found, bundle_already_tombstoned, fqid
def bundle_is_found(uuid, version):
try:
resp = dss_client.get_bundle(replica="aws", uuid=uuid, version=version)
return True
except SwaggerAPIException as e:
if 404 == e.code:
return False
else:
raise
def bundle_is_tombstoned(uuid, version):
bundle_query_with_version = {"query":{"bool":{"must":[{"match":{"uuid":uuid}},{"match":{"version":version}},]}}}
resp = dss_client.post_search(replica="aws", es_query=bundle_query_with_version, output_format="raw")
if 0 == resp['total_hits']:
return False
elif 'admin_deleted' in resp['results'][0]['metadata']:
return True
else:
return False
def bundle_status_string(bundle_found, bundle_already_tombstoned):
if bundle_already_tombstoned:
return "ALLREADY_TOMBSTONED"
elif not bundle_found:
return "NOT_FOUND"
else:
return "TOMBSTONED"
if __name__ == "__main__":
bundles_to_tombstone = [
"72573e5e-bc88-43f6-8b36-eec962644ad7.2020-02-06T183307.743045Z",
"4882ec6f-fe81-43d8-9446-595fbf6319da.2019-08-12T144035.510469Z",
"869c5cd3-98fd-4947-85eb-29d1a9cbd496.2018-08-17T202940.855330Z",
"81fbc171-984e-4ea2-beb9-d58607b93df3.2019-08-05T185113.345359Z",
"deb7e2b6-101d-40ad-93d7-a4e922807b22.2019-07-10T190307.877273Z",
"04cdef35-5c0c-4f75-ab1b-ab66c66a6e58.2019-07-23T175423.984602Z",
"1076c830-8986-4fee-9e7a-847fe0b227c7.2019-08-12T144035.510424Z",
"3aa3510d-b363-4283-97b5-354bf339d297.2020-02-06T205353.641296Z",
"716b3dd5-4104-4ebf-b85b-7bce2d6ff892.2019-07-23T175914.819925Z",
"bef1bde1-788f-4c8b-a97b-6de6209aa7f5.2020-02-06T205253.351515Z",
"328a2bf0-3f3c-4441-96a8-ddf41852e650.2019-08-12T144035.510389Z",
"4717eb27-350f-41c1-adc2-3589e17048ee.2019-08-12T144035.510642Z",
"1bd9bdbe-33a2-4eb5-90e2-1df5fa00d504.2018-08-17T202728.071749Z",
"d55ce053-95e3-48a0-bec9-2d22718b6628.2019-08-05T185529.676531Z",
"71a582dc-6a03-4bb4-a4f7-29bbf289d8b9.2019-08-12T144035.510561Z",
"d32d815d-6e0d-4fc4-80be-938891fd5b18.2020-02-06T183236.357965Z",
"9118e5b4-e45c-4581-bec7-c8f20bdb5151.2020-02-06T191710.090378Z",
"f961b3fe-6e6f-4bed-9dc4-f042d3b3d91b.2019-08-05T224620.278567Z",
"b635b2e7-d72f-406d-9ac1-4181df36341f.2019-08-05T185024.610340Z",
"85a199f1-6820-4d08-9787-6694d357b3d4.2019-07-10T183934.593670Z",
"7ef3700c-d2d3-4e6e-b73e-c22f3380e7c3.2019-08-12T144035.510487Z",
"39629ab2-fc94-4e97-902f-de4ffa23f79a.2019-08-05T184644.217873Z",
"3ffccaa0-56cb-463c-a2b3-6808ac1f0e9e.2019-07-10T184036.829039Z",
"3c3061a7-1dc5-422e-bc14-4760b47f6ad2.2019-08-12T144035.510345Z",
"8f585ec2-54c2-4d7b-8cea-0a9ceada6c8f.2019-08-21T221540.862704Z",
"aaa47f1a-204e-4be5-9832-a95a8dbf8dcc.2020-02-06T184140.714789Z",
"ebb4680d-d7c4-46dd-9941-b0bbcfd1c3a7.2020-02-06T200713.724776Z",
"15aa0398-0533-4787-bd06-701f9f7ac59f.2020-02-06T215435.836074Z",
"28d9d019-4e33-449f-8627-db52391ffd3c.2020-02-06T185423.712098Z",
"a416ef51-3c77-49b7-913a-b62080aa3786.2019-07-30T192056.427560Z",
"9c85a682-8a29-4062-8503-c45e37be5bf6.2019-07-10T190123.278032Z",
"cb97a8e3-8593-45df-bc63-caaa9200d3c4.2019-10-03T105524.916954Z",
"d4303853-529f-4617-a765-76bb9c5723fa.2019-07-10T184405.638125Z",
"00005cce-dfbe-40a9-922a-e1da11a11ada.2019-08-12T144035.510398Z",
"170933df-4405-4e28-9611-3b0a7d165ae5.2019-07-23T175724.419005Z",
"1f671207-2e4a-452e-94f0-547d696317a3.2018-08-17T202546.197851Z",
"7b4fd692-c38d-43c6-bb5b-bf3dcbc837eb.2019-08-12T144035.510371Z",
"84bf575e-a5be-4c31-8716-604157ab5acf.2020-02-06T183738.897996Z",
"9eb1a782-4c15-42b7-8d4a-e6dfca346fe3.2019-08-22T163824.964078Z",
"d4da4f71-02b4-437c-91ae-5219f479a175.2019-07-30T192020.496371Z",
"ad88924f-248f-4c6e-bad9-d64495b03de1.2019-08-12T144035.510652Z",
"a0a78a4e-7891-4ef2-a22d-1bfab43ffe47.2019-08-12T144035.510354Z",
"ea25386a-dc17-453d-9312-b61995f2c3f6.2019-08-21T110748.639681Z",
"5bf86ddb-a57b-49be-b734-8b09d7259e60.2019-08-12T144035.510505Z",
"a44bfb8e-37c3-44d5-a8e8-f0fd916d22f9.2020-02-06T200220.171143Z",
"499b690e-feee-4675-8531-882a62b6020c.2019-08-21T030312.315201Z",
"81c5a0ed-50d3-4c60-b1b4-57df9862b636.2019-08-21T181455.323568Z",
"6715eed2-f9a1-49dc-8e98-239446211e87.2020-02-06T215916.696303Z",
"f99ef36d-0b73-414c-b004-9ca3a23ab2c5.2019-11-05T171907.123671Z",
"fe118edd-0ffb-4134-be08-1a46a2bbcb95.2020-02-06T201301.877775Z",
"79ec8f41-fccc-46ed-af43-e63892238d77.2019-08-21T153540.733071Z",
"41af0283-946e-4a10-be95-46aaaa9d1bc8.2020-02-06T185736.341234Z",
"88aed2c9-6537-40fe-a04c-cd58900e9abf.2019-08-21T224410.548780Z",
"7e330852-f693-4303-bc83-09e6d145d737.2019-08-21T233444.728103Z",
"05fc240e-cd04-40e0-b6c2-059ba982f1de.2019-07-30T192059.629519Z",
"d1ed619d-f950-4f55-8e98-ae058bee5ad8.2020-02-06T205314.173862Z",
"8586d38e-b743-4ec5-8e74-38ab4b6c7e02.2019-09-09T221828.818745Z",
"8b5c0729-37b1-4377-ab1c-5b932de10826.2019-09-05T182154.052280Z",
"51e56940-706e-4adf-8f1b-db31308b3d8d.2019-07-30T192029.999854Z",
"8388fed2-1af2-4102-a578-82d3ef5ace03.2019-08-12T144035.510281Z",
"edca3333-66c5-401f-964c-52de1f575d1e.2020-02-06T185357.016348Z",
"f89b2ea9-6698-4d3b-a104-97cda08cff27.2019-08-05T225838.273291Z",
"fff16441-5212-4319-bf52-9e23d0eff7eb.2019-08-12T144035.510478Z",
"f840f06a-58b1-4699-a672-ef0b08fb3304.2019-08-12T144035.510263Z",
"1276a46f-1202-445b-ab7d-7b5b7451f223.2020-02-06T201718.145544Z",
"27a43436-6e63-44ce-a2b3-80618f00b7f6.2019-08-21T025721.178682Z",
"3637ab79-f66f-44e6-bafd-cea54af2531a.2020-02-06T215845.406268Z",
"2e9b493d-e7ff-473e-84e1-82c9dc6d98e0.2020-02-06T211042.578220Z",
"cb4f6254-a123-420a-9d00-fdf1e30067ec.2020-02-06T211109.366273Z",
"0cc25d1d-6218-4dad-ba5f-91ac4144a24b.2019-08-21T025515.596836Z",
"0f0c3650-d063-481d-b4ef-fe228be23caa.2020-02-06T211114.028992Z",
"192ccf23-5847-458d-9527-c730677e7093.2019-08-22T013132.633966Z",
"a44844d6-2728-4595-9fa7-bb6f2a34b629.2019-08-12T144035.510680Z",
"a68d08a7-49bc-4ac3-b2cf-6b644a79b0d1.2020-02-06T235713.380658Z",
"0d3477d7-e190-4e9c-a163-f8819db1f227.2019-09-09T221824.848034Z",
"e72edef7-b3de-4895-bcc2-9d1c3678d6e4.2019-08-01T223656.070705Z",
"25ea2837-8e81-44be-b5af-79f82f90f90f.2020-02-06T235229.291861Z",
"5c1c20ea-823e-4476-b81f-e62337a4b0fb.2020-02-06T204326.141860Z",
"5a37f51b-3f66-4b22-95c1-d82842265f19.2019-08-12T144035.510589Z",
"8b8aa932-3d02-4696-b434-b0bd79d7654d.2020-02-06T211019.412105Z",
"a36a76dd-3036-42e6-beb2-dd41e1e312b6.2019-08-12T144035.510552Z",
"e22e7f03-4917-4ab9-ba0c-31784fa62de9.2019-08-12T144035.510623Z",
"0d6d1122-acf0-466d-ab0b-a131edfb663e.2019-08-12T144035.510670Z",
"45957a9c-0532-4481-a5d5-9d685ed353b7.2020-02-06T201341.295214Z",
"002fe390-ba3f-4aa7-ae43-aa7949b09bb1.2019-08-12T144035.510309Z",
"67bd4c99-a5f8-4607-8571-9c97fed0832e.2019-08-22T194039.502693Z",
"64bc8ed8-0ceb-49c0-9b36-3f8acfb343ba.2019-07-08T231711.917523Z",
"1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.2019-10-03T105524.911627Z",
"8b7635a4-88a4-4c76-9946-6e3bebd51bfa.2019-08-12T144035.510318Z",
"5c1f1f24-64d6-4a37-9a23-e0e811cd0a8e.2020-02-06T185708.514497Z",
"6a0de4df-9962-4a6a-a29a-9ab522fe6b09.2019-09-05T185111.818094Z",
"3013e0db-e471-4134-9e0c-b3bed2464a8e.2019-08-22T020408.008157Z",
"36a39838-28de-4e78-859e-d0778620c778.2019-08-05T185045.489448Z",
"9bd51e8f-abb2-40e6-8ee2-e0afa8b6caa6.2019-08-21T174204.877310Z",
"10ae73ef-d2e1-4a1d-a192-cf332d850c4f.2019-08-12T144035.510570Z",
"b6037eec-60da-48da-85a4-b7438539a6ae.2019-08-12T144035.510633Z",
"7c6c2d07-1f32-4886-94b9-bfc37a2b2d20.2020-02-06T183743.288566Z",
"f50fb0fd-5c56-4c86-a9bc-b9bed63eb9b0.2020-02-06T220144.584510Z",
"9f0bafe1-e93e-47af-b220-7851130e372a.2020-02-06T205349.135028Z",
"14273b8d-bca6-4b72-be72-ca4f19623ee4.2019-09-09T221739.861168Z",
"967ae26c-d015-4e5e-bc37-8ab625c7db15.2020-02-06T220111.840042Z",
"4accc284-186c-4b81-9810-29314a4a6948.2019-08-22T181959.633839Z",
"65f2d9bb-4145-44d4-b0b7-d8490b9162a0.2020-02-06T204640.008839Z",
"91b291ea-40eb-4e0b-b289-4482ce207f29.2018-08-17T202425.293015Z",
"ed47b69d-4e7d-4956-b5a7-7cfa7583a3cd.2020-02-06T183200.345202Z",
"caf3a1b6-60d3-42fd-a56c-48fe0e6de571.2019-08-21T174233.336465Z",
"af4392b2-2387-47db-8b08-6223c8b5718c.2020-02-06T215510.415147Z",
"8ee609f9-0fd8-4d3f-90a7-dc39e24ced16.2020-02-06T182429.028219Z",
"516b4765-7a60-46c5-9880-ec597a3eddba.2020-02-06T204321.438422Z",
"6f01e3ae-9743-4424-983b-18b18f0ffeed.2019-08-12T144035.510290Z",
"3c1b06ed-c573-4431-8ddf-b38652950cee.2020-02-06T185802.746897Z",
"cb88115c-75ef-4e8e-bbd7-a48e18960344.2019-10-03T105524.915852Z",
"d9cdeb51-67f2-4e4a-9321-b4125f721900.2020-02-06T191323.779205Z",
"cc3a6b51-ae84-4ad3-a4a5-f1845afff174.2020-02-06T211506.493433Z",
"daaf63cf-04ae-4335-868c-32e63af0c37a.2019-08-21T155534.803383Z",
"227f2010-a6df-4c1b-9fb7-fc6cedeff8ce.2019-08-12T144035.510416Z",
"6086e0e1-c679-44ad-bc62-57875b216fc4.2019-08-12T144035.510380Z",
"00770ec4-3e00-47a6-be44-c9eeaa8a5d45.2020-02-06T235253.043943Z",
"08ca411d-c58a-487a-b7da-4d5e83732252.2019-08-21T132355.516037Z",
"1b81f5a4-9223-43d4-9f61-0c63eaf14ba5.2020-02-06T185446.956074Z",
"286bfd51-a873-415b-b14e-bb6b629c9c2f.2019-08-05T225834.495519Z",
"69db98a2-5d9c-4779-a2a9-49a271116d88.2019-09-05T182349.691081Z",
"363aeb9a-010d-49ec-b8e0-9062552b9062.2019-08-21T061635.627527Z",
"d4f85d6c-ed8a-4b22-a12b-a7b605865ced.2020-02-06T200313.596638Z",
"9ca7449a-4b91-4cdd-b226-a7fbb7b1ffd0.2019-09-11T130901.205981Z",
"fa09d968-3d16-4c6d-80f4-dd9a4505f4fa.2019-08-05T184718.657513Z",
"d94c5530-a389-42d0-96a0-d17072e152fb.2020-02-06T204225.471880Z",
"26dadf9e-4690-48df-b7f1-eac2b50c1462.2019-08-21T031539.262341Z",
"17cc5a74-ac16-441f-ba26-666411eef921.2020-02-06T204246.280969Z",
"3acc603d-b617-49ae-aa0d-353db0aa9e7e.2019-08-21T044630.263721Z",
"0d7aee1d-a3d7-4532-903a-c531ac07998d.2019-08-12T144035.510451Z",
"53efec69-fede-47e2-9155-192c2fa60e0c.2020-02-06T220049.198405Z",
"b7e88f9e-45e4-4472-aa77-fc46886614a4.2019-08-12T144035.510542Z",
"89a909ff-43e2-4ef9-832a-11ea6ab7689a.2019-08-22T221254.167287Z",
"6d8a35b1-f652-4335-89a1-5936b9afe7fb.2020-02-06T204715.554317Z",
"a551b36b-b74d-4205-b1bf-31b9f846d205.2020-02-06T183312.891066Z",
"845933aa-b238-4c55-a6a0-4c622c67af53.2019-08-05T184721.920593Z",
"ec1701e3-7b92-427e-895d-d95fe273837d.2020-02-06T211434.961672Z",
"f269045b-1b3b-40d6-86ae-398a5b699e1d.2019-08-21T200208.078086Z",
"fd74a009-b59b-4a5e-98f9-b6b987aa387d.2020-02-06T190140.649375Z",
"97735720-4c1f-4b69-9463-e6c9febc2764.2019-08-21T204634.481290Z",
"8d00a98f-9319-4afa-9c5f-c9b13f82bc28.2020-02-06T220612.318931Z",
"c99ea041-0daf-4b25-bee9-d9691af11a5e.2019-08-12T144035.510496Z",
"bf100561-a19c-4464-8904-bc765533fc3e.2020-02-06T235331.935298Z",
"8642baea-d7c6-4d14-a6ec-a46fee5871f4.2019-08-05T200407.656720Z",
"5d0b19de-3512-4192-a3e0-e2785b7112fc.2019-07-08T231648.329089Z",
"2b0e8d36-9e0a-413a-9dd3-f0b8d95adbf7.2020-02-06T183651.484339Z",
"2817d919-7ef1-42ec-b338-03674dd02feb.2019-08-05T224610.349229Z",
"5b8fc043-b00e-4699-b75f-19be0c7d9dc0.2019-08-21T030950.661595Z",
"76ccc6b1-51af-450d-84c6-d53c483cdc4d.2020-02-06T184110.735067Z",
"905b7332-568f-4bee-9b7a-4bad5665e68e.2019-07-10T190546.990820Z",
"e2223cbe-a550-46d1-9a70-5ee0fc439ca4.2020-02-06T201642.426315Z",
"a182995c-83c9-4da9-8029-f73b1d742d1b.2019-08-21T203351.082780Z",
"2baf256c-2c15-4587-81bd-852f8a3932b4.2019-07-10T190507.501929Z",
"53d23c1c-7cab-4b09-ad07-c560c1e22f54.2020-02-06T190106.116016Z",
"3b17e3c9-5f1c-49c6-b4fc-e3d658e7b731.2019-08-22T011145.980970Z",
"70372f87-4cd4-40d7-8c09-1ebc641e1384.2019-08-21T041145.674161Z",
"ab37c0a0-7617-42b3-8e4d-eebd201b702e.2019-08-02T190448.268469Z",
"9e91edba-447e-47d3-8095-4406520e2fe9.2019-08-21T183339.122360Z",
"d8f7f78d-1c77-49cc-b934-28d0da11c6d0.2019-08-12T144035.510251Z",
"9cd161ce-4f1c-49c2-953e-0a5f80bf422f.2020-02-06T191356.115863Z",
"f7081630-0d97-4550-8b16-77008ea868a3.2019-08-12T144035.510524Z",
"5131a83e-abe6-4c0b-80c4-88491a6b133c.2019-07-10T185248.245209Z",
"24cda1ca-d588-402e-880b-b560e6167527.2019-08-01T215522.012761Z",
"284679d1-6b69-4d52-8774-c13943610299.2019-08-22T040300.065850Z",
"67cdc6a8-9f47-4dd9-908d-9654e489361d.2019-08-12T144035.510362Z",
"9d993f96-67d2-4640-8217-89b1ecc60028.2019-08-23T180850.874897Z",
"7becab21-1efa-406b-8bc7-4d350febe688.2020-02-06T201239.846908Z",
"b079e99c-42e7-4d9f-ae83-19f747b4adcb.2019-08-02T190138.629254Z",
"6963e95a-f81d-4bfc-9639-46da2a958d7a.2019-08-12T144035.510223Z",
"32b6880e-6c5c-41e4-b5b1-96b097cc52da.2019-08-12T144035.510515Z",
"a870a1dd-4279-4ebc-bdc8-c9e7755435ba.2020-02-06T183712.624565Z",
"86d19d63-aa71-4376-88b8-81c0a13d9b1c.2019-08-05T185443.996062Z",
"2e373a6e-f531-449b-a989-eb163322ce83.2019-08-21T124432.677723Z",
"3bab143b-606a-4890-afa1-7dfa92370cf7.2019-08-12T144035.510661Z",
"6529d0e9-22ff-4276-99ca-884e45a5ceb3.2019-08-12T144035.510580Z",
"95d5b3b3-705e-41a8-ba5d-a42120bd9e4b.2020-02-06T182527.793101Z",
"3562d45c-57e4-4c25-8f02-ac52b3bd78b0.2020-02-06T220148.873960Z",
"6a6bd6e3-af01-4e0c-81ad-97eb0bc15db5.2019-08-21T121907.088922Z",
"88220b7f-0cdd-429c-9007-16121d151575.2019-11-05T171918.693612Z",
"b70af688-8518-4361-9f43-510c575e9cbf.2020-02-06T185452.453569Z",
"8cd7c4db-675b-4412-bb60-df0340245828.2019-08-12T144035.510533Z",
"6faf2454-76ad-45d1-bfbe-ed07fc2ec812.2019-09-05T182214.717461Z",
"4977a59e-26fc-4d7c-9ba6-61292e9619a7.2020-02-06T200241.549270Z",
"62893d1d-91ea-4842-8d76-d6d4e67a795e.2019-08-12T144035.510327Z",
"8e77dc03-6d1b-49e9-8913-d31bcb1a85c1.2020-02-06T220519.902349Z",
"d487d37b-32e7-4ef9-954e-94013f9ce624.2020-02-06T215515.956018Z",
"c062b332-ca7a-4081-b908-c73b4651b484.2020-02-06T201336.809023Z",
"e618db92-72f7-4d00-9b94-dcd78aee29c3.2020-02-06T200308.668879Z",
"f5ca6a1e-a870-4474-a50f-0dbeac647b40.2019-08-01T223624.412220Z",
"1a26883e-d034-491c-8d0a-0e93e854eacb.2019-08-12T144035.510300Z",
"868aa09f-e2ba-4350-a01b-3e31eba86bf3.2020-02-06T182532.813126Z",
"48cd08f9-6adc-4deb-8ead-0d1fd7d73d84.2020-02-06T185807.729062Z",
"8fe80644-0fc2-45c3-9f9a-cfdf62e227d6.2020-02-06T191746.017062Z",
"49f72d9c-1e29-47d4-8c39-c2705fa54710.2020-02-06T182450.005436Z",
"94b4d6a7-881f-42d8-ac42-fc61153b26ac.2018-08-17T202025.771186Z",
"5c4b214d-ffd7-426b-88a2-cf611e5803f7.2019-08-12T144035.510613Z",
"1e72e930-1ee8-4490-b367-3c6aa4d61cdd.2020-02-06T200632.025047Z",
"a2703158-3f33-4a4a-bde6-b1ffde84e68e.2019-07-10T185853.163903Z",
"c0e82caf-6fed-4524-9267-d97ac0a4d2f2.2019-08-21T201115.268364Z",
"c02ec92e-1aa0-49ae-a2fd-ceeb4b0cbdb3.2019-08-21T142506.105155Z",
"f838b9fe-3e03-41cf-8e1f-1f17db456975.2019-08-21T042049.677180Z",
"4420213f-8c68-4559-8d76-b583820a1ff3.2019-08-22T020546.734540Z",
"84709ab3-965d-4157-bdc9-f7a5c135ad14.2020-02-06T215407.724055Z",
"30c1b159-8596-46d6-9095-f11aafc2857e.2020-02-06T235752.282023Z",
"52245757-73ba-43a2-a78d-0eba01cb4ce1.2019-10-03T105524.918205Z",
"21f0bde4-3a17-4f4d-9ba6-6673ecf6b309.2020-02-06T235336.697308Z",
"54941366-0935-4941-9548-e86e5edc1285.2019-07-08T230621.912106Z",
"2165e389-4760-4e89-98a8-49dbc0af00d0.2019-08-12T144035.510433Z",
"820d48c7-a150-4a3f-81a6-1ca1d2665bad.2019-07-10T192013.756332Z",
"cab1806b-c238-41aa-ad83-5408656640fd.2019-09-05T182345.933762Z",
"f0d40e54-7ccd-4bdb-8d4b-e40256942760.2019-07-08T231627.366031Z",
"98472b92-6aa4-4c27-97ad-52b9c2b531b4.2019-08-05T185110.383443Z",
"b5236f06-6f11-494f-b5b3-41f3fafeb88e.2019-07-23T180000.212292Z",
"ee7c7be6-979f-42e2-a189-608a06cdec22.2020-02-06T191254.950379Z",
"e78fb1d9-e6f0-4c9e-8e66-d5d64d4fa970.2018-08-17T202915.922549Z",
"eb4d5222-e363-4d91-888b-6c7b138fc059.2019-08-05T184632.417327Z",
"f6d920a5-63ab-4d4b-8fb7-0fe2fdbf2fcd.2019-08-21T211132.456507Z",
"a1e2d3d2-3b47-4d20-a331-548818f3604b.2019-08-21T153444.034252Z",
"0dce2a49-1d81-45a2-98c3-75c1e154e96e.2019-08-12T144035.510336Z",
"6d9faabd-5da1-4643-8f02-bce67d9fc9bb.2019-08-12T144035.510442Z",
"6ff1a6f0-f214-45bc-878a-f8919cb3e581.2019-08-22T060015.593244Z",
"76490c8a-62a5-4889-827a-b637a91d7202.2020-02-06T191351.040496Z",
"f0f5d1f7-b777-431e-8618-c6f43ac7136a.2019-09-09T221719.097039Z"
]
for i in range(0, len(bundles_to_tombstone), BATCH_SIZE):
dss_client = _get_dss_client()
fqids_batch = bundles_to_tombstone[i:i+BATCH_SIZE]
with ThreadPoolExecutor(max_workers=20) as e:
futures = [e.submit(tombstone_bundle, fqid) for fqid in fqids_batch]
for f in as_completed(futures):
try:
bundle_found, bundle_already_tombstoned, fqid = f.result()
except SwaggerAPIException as e:
if 403 == e.code: # bail out on the first credentials denial
sys.stderr.write(format_exc())
sys.exit(1)
except Exception:
sys.stderr.write(format_exc())
else:
status_string = bundle_status_string(bundle_found, bundle_already_tombstoned)
print(status_string, fqid)
sys.stdout.flush()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment