assemblyline-core 4.5.1.dev136__tar.gz → 4.5.1.dev137__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.

Files changed (88) hide show
  1. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev137/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/expiry/run_expiry.py +9 -11
  4. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/updater/run_updater.py +7 -2
  5. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core.egg-info/PKG-INFO +1 -1
  6. assemblyline-core-4.5.1.dev136/assemblyline_core/VERSION +0 -1
  7. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/LICENCE.md +0 -0
  8. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/README.md +0 -0
  9. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/__init__.py +0 -0
  10. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/alerter/__init__.py +0 -0
  11. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/alerter/processing.py +0 -0
  12. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/alerter/run_alerter.py +0 -0
  13. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/archiver/__init__.py +0 -0
  14. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/archiver/run_archiver.py +0 -0
  15. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/badlist_client.py +0 -0
  16. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/__init__.py +0 -0
  17. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/__main__.py +0 -0
  18. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/client.py +0 -0
  19. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/dispatcher.py +0 -0
  20. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/schedules.py +0 -0
  21. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/dispatching/timeout.py +0 -0
  22. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/expiry/__init__.py +0 -0
  23. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/ingester/__init__.py +0 -0
  24. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/ingester/__main__.py +0 -0
  25. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/ingester/constants.py +0 -0
  26. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/ingester/ingester.py +0 -0
  27. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/__init__.py +0 -0
  28. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/es_metrics.py +0 -0
  29. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  30. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/helper.py +0 -0
  31. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/metrics_server.py +0 -0
  32. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  33. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  34. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  35. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/plumber/__init__.py +0 -0
  36. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/plumber/run_plumber.py +0 -0
  37. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/__init__.py +0 -0
  38. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/client.py +0 -0
  39. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/creator/__init__.py +0 -0
  40. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/creator/run.py +0 -0
  41. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/creator/run_worker.py +0 -0
  42. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/loader/__init__.py +0 -0
  43. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/loader/run.py +0 -0
  44. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/loader/run_worker.py +0 -0
  45. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/replay/replay.py +0 -0
  46. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/safelist_client.py +0 -0
  47. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/__init__.py +0 -0
  48. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/collection.py +0 -0
  49. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  50. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  51. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/controllers/interface.py +0 -0
  52. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  53. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/run_scaler.py +0 -0
  54. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/scaler/scaler_server.py +0 -0
  55. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/server_base.py +0 -0
  56. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/signature_client.py +0 -0
  57. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/submission_client.py +0 -0
  58. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/tasking_client.py +0 -0
  59. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/updater/__init__.py +0 -0
  60. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/updater/helper.py +0 -0
  61. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/__init__.py +0 -0
  62. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/crawler.py +0 -0
  63. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/department_map.py +0 -0
  64. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/safelist.py +0 -0
  65. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/stream_map.py +0 -0
  66. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/vacuum/worker.py +0 -0
  67. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/workflow/__init__.py +0 -0
  68. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core/workflow/run_workflow.py +0 -0
  69. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  70. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  71. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core.egg-info/requires.txt +0 -0
  72. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/assemblyline_core.egg-info/top_level.txt +0 -0
  73. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/setup.cfg +0 -0
  74. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/setup.py +0 -0
  75. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_alerter.py +0 -0
  76. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_badlist_client.py +0 -0
  77. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_dispatcher.py +0 -0
  78. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_expiry.py +0 -0
  79. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_plumber.py +0 -0
  80. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_replay.py +0 -0
  81. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_safelist_client.py +0 -0
  82. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_scaler.py +0 -0
  83. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_scheduler.py +0 -0
  84. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_signature_client.py +0 -0
  85. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_simulation.py +0 -0
  86. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev136 → assemblyline-core-4.5.1.dev137}/test/test_worker_submit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev136
3
+ Version: 4.5.1.dev137
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.5.1.dev137
@@ -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' Deleted associated files from the '
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" Deleted {len(file_list)} items from the datastore...")
160
+ self.log.info(f"[{collection.name}] Deleted {len(file_list)} items from the datastore...")
161
161
  else:
162
- self.log.warning(' Expiry unable to clean up any of the files in filestore.')
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" Deleted {number_to_delete} items from the datastore...")
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], pool: ThreadPoolExecutor) -> tuple[str, bool]:
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 = self.api.read_namespaced_pod(name=pod_name, namespace=self.namespace,
371
- _request_timeout=API_TIMEOUT).status.container_statuses[0].state.waiting
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev136
3
+ Version: 4.5.1.dev137
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -1 +0,0 @@
1
- 4.5.1.dev136