assemblyline-core 4.5.1.dev136__tar.gz → 4.5.1.dev138__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of assemblyline-core might be problematic. Click here for more details.
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/PKG-INFO +1 -1
- assemblyline-core-4.5.1.dev138/assemblyline_core/VERSION +1 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/expiry/run_expiry.py +9 -11
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/updater/run_updater.py +7 -2
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core.egg-info/PKG-INFO +1 -1
- assemblyline-core-4.5.1.dev136/assemblyline_core/VERSION +0 -1
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/LICENCE.md +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/README.md +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/__main__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/dispatching/timeout.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/ingester/__main__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/ingester/ingester.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/plumber/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/plumber/run_plumber.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/server_base.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/signature_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/submission_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/tasking_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/updater/helper.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/setup.cfg +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/setup.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_alerter.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_badlist_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_dispatcher.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_expiry.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_plumber.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_replay.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_safelist_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_scaler.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_scheduler.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_signature_client.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_simulation.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_vacuum.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_worker_ingest.py +0 -0
- {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_worker_submit.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.5.1.dev138
|
|
@@ -153,19 +153,19 @@ class ExpiryManager(ServerBase):
|
|
|
153
153
|
bulk.add_delete_operation(sha256)
|
|
154
154
|
|
|
155
155
|
if len(file_list) > 0:
|
|
156
|
-
self.log.info(f'
|
|
156
|
+
self.log.info(f'[{collection.name}] Deleted associated files from the '
|
|
157
157
|
f'{"cachestore" if "cache" in collection.name else "filestore"}...')
|
|
158
158
|
collection.bulk(bulk)
|
|
159
159
|
self.counter.increment(f'{collection.name}', increment_by=len(file_list))
|
|
160
|
-
self.log.info(f"
|
|
160
|
+
self.log.info(f"[{collection.name}] Deleted {len(file_list)} items from the datastore...")
|
|
161
161
|
else:
|
|
162
|
-
self.log.warning('
|
|
162
|
+
self.log.warning(f'[{collection.name}] Expiry unable to clean up any of the files in filestore.')
|
|
163
163
|
|
|
164
164
|
def _simple_delete(self, collection, delete_query, number_to_delete):
|
|
165
165
|
self.heartbeat()
|
|
166
166
|
collection.delete_by_query(delete_query)
|
|
167
167
|
self.counter.increment(f'{collection.name}', increment_by=number_to_delete)
|
|
168
|
-
self.log.info(f"
|
|
168
|
+
self.log.info(f"[{collection.name}] Deleted {number_to_delete} items from the datastore...")
|
|
169
169
|
|
|
170
170
|
def _cleanup_canceled_submission(self, sid):
|
|
171
171
|
# Allowing us at minimum 5 minutes to cleanup the submission
|
|
@@ -174,7 +174,7 @@ class ExpiryManager(ServerBase):
|
|
|
174
174
|
self.apm_client.begin_transaction("Delete canceled submissions")
|
|
175
175
|
|
|
176
176
|
# Cleaning up the submission
|
|
177
|
-
self.log.info(f"Deleting incomplete submission {sid}...")
|
|
177
|
+
self.log.info(f"[submission] Deleting incomplete submission {sid}...")
|
|
178
178
|
self.datastore.delete_submission_tree_bulk(sid, self.classification, transport=self.filestore)
|
|
179
179
|
self.redis_bad_sids.remove(sid)
|
|
180
180
|
|
|
@@ -190,7 +190,6 @@ class ExpiryManager(ServerBase):
|
|
|
190
190
|
# As long as these two things are true, the set returned by this query should be consistent.
|
|
191
191
|
# The one race condition is that a record might be refreshed while the file
|
|
192
192
|
# blob would be deleted anyway, leaving a file record with no filestore object
|
|
193
|
-
self.log.info(f"Processing collection: {collection.name}")
|
|
194
193
|
delete_query = f"expiry_ts:{{{start} TO {end}]"
|
|
195
194
|
|
|
196
195
|
# check if we are dealing with an index that needs file cleanup
|
|
@@ -211,19 +210,19 @@ class ExpiryManager(ServerBase):
|
|
|
211
210
|
delete_tasks = self.fs_hashmap[collection.name](delete_objects, final_date)
|
|
212
211
|
|
|
213
212
|
# Proceed with deletion, but only after all the scheduled deletes for this
|
|
214
|
-
self.log.info(f"Scheduled {len(delete_objects)}/{number_to_delete} "
|
|
215
|
-
f"files to be removed for: {collection.name}")
|
|
213
|
+
self.log.info(f"[{collection.name}] Scheduled {len(delete_objects)}/{number_to_delete} files to be removed")
|
|
216
214
|
self._finish_delete(collection, delete_tasks, expire_only)
|
|
217
215
|
|
|
218
216
|
else:
|
|
219
217
|
# Proceed with deletion
|
|
220
218
|
self._simple_delete(collection, delete_query, number_to_delete)
|
|
221
219
|
|
|
222
|
-
def feed_expiry_jobs(self, collection, start, jobs: list[concurrent.futures.Future],
|
|
220
|
+
def feed_expiry_jobs(self, collection, start, jobs: list[concurrent.futures.Future],
|
|
221
|
+
pool: ThreadPoolExecutor) -> tuple[str, bool]:
|
|
223
222
|
_process_chunk = self.log_errors(self._process_chunk)
|
|
224
223
|
number_to_delete = 0
|
|
225
224
|
self.heartbeat()
|
|
226
|
-
|
|
225
|
+
|
|
227
226
|
# Start of expiry transaction
|
|
228
227
|
if self.apm_client:
|
|
229
228
|
self.apm_client.begin_transaction("Delete expired documents")
|
|
@@ -232,7 +231,6 @@ class ExpiryManager(ServerBase):
|
|
|
232
231
|
|
|
233
232
|
# Break down the expiry window into smaller chunks of data
|
|
234
233
|
while len(jobs) < self.config.core.expiry.iteration_max_tasks:
|
|
235
|
-
self.heartbeat()
|
|
236
234
|
|
|
237
235
|
# Get the next chunk
|
|
238
236
|
end, number_to_delete = self._get_next_chunk(collection, start, final_date)
|
|
@@ -367,8 +367,13 @@ class KubernetesUpdateInterface:
|
|
|
367
367
|
status = self.batch_api.read_namespaced_job(namespace=self.namespace, name=name,
|
|
368
368
|
_request_timeout=API_TIMEOUT).status
|
|
369
369
|
# Monitor container's waiting status state
|
|
370
|
-
pod_waiting_state =
|
|
371
|
-
|
|
370
|
+
pod_waiting_state = False
|
|
371
|
+
pod_container_statuses = self.api.read_namespaced_pod(name=pod_name, namespace=self.namespace,
|
|
372
|
+
_request_timeout=API_TIMEOUT).status.container_statuses
|
|
373
|
+
|
|
374
|
+
if pod_container_statuses:
|
|
375
|
+
pod_waiting_state = pod_container_statuses[0].state.waiting
|
|
376
|
+
|
|
372
377
|
# Check to see if we've encountered an issue before the container starts
|
|
373
378
|
if pod_waiting_state and pod_waiting_state.reason == "ImagePullBackOff":
|
|
374
379
|
# Delete job and raise exception
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.1.dev136
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/replay/replay.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/server_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/assemblyline_core/vacuum/worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_badlist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_safelist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_signature_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_worker_ingest.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev138}/test/test_worker_submit.py
RENAMED
|
File without changes
|