assemblyline-core 4.7.2.dev7__tar.gz → 4.7.2.dev10__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.
Files changed (80) hide show
  1. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/PKG-INFO +1 -1
  2. assemblyline_core-4.7.2.dev10/assemblyline_core/VERSION +1 -0
  3. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/controllers/docker_ctl.py +21 -1
  4. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core.egg-info/PKG-INFO +1 -1
  5. assemblyline_core-4.7.2.dev7/assemblyline_core/VERSION +0 -1
  6. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/LICENCE.md +0 -0
  7. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/README.md +0 -0
  8. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/__init__.py +0 -0
  9. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/alerter/__init__.py +0 -0
  10. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/alerter/processing.py +0 -0
  11. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/alerter/run_alerter.py +0 -0
  12. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/archiver/__init__.py +0 -0
  13. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/archiver/run_archiver.py +0 -0
  14. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/badlist_client.py +0 -0
  15. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/dispatching/__init__.py +0 -0
  16. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/dispatching/client.py +0 -0
  17. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/dispatching/dispatcher.py +0 -0
  18. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/dispatching/schedules.py +0 -0
  19. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/expiry/__init__.py +0 -0
  20. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/expiry/run_expiry.py +0 -0
  21. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/ingester/__init__.py +0 -0
  22. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/ingester/constants.py +0 -0
  23. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/ingester/ingester.py +0 -0
  24. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/__init__.py +0 -0
  25. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/es_metrics.py +0 -0
  26. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  27. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/helper.py +0 -0
  28. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/metrics_server.py +0 -0
  29. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  30. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  31. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  32. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/__init__.py +0 -0
  33. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/client.py +0 -0
  34. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/creator/__init__.py +0 -0
  35. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/creator/run.py +0 -0
  36. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/creator/run_worker.py +0 -0
  37. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/loader/__init__.py +0 -0
  38. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/loader/run.py +0 -0
  39. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/loader/run_worker.py +0 -0
  40. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/replay/replay.py +0 -0
  41. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/safelist_client.py +0 -0
  42. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/__init__.py +0 -0
  43. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/collection.py +0 -0
  44. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  45. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/controllers/interface.py +0 -0
  46. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  47. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/run_scaler.py +0 -0
  48. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/scaler/scaler_server.py +0 -0
  49. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/server_base.py +0 -0
  50. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/signature_client.py +0 -0
  51. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/submission_client.py +0 -0
  52. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/tasking_client.py +0 -0
  53. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/updater/__init__.py +0 -0
  54. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/updater/helper.py +0 -0
  55. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/updater/run_updater.py +0 -0
  56. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/__init__.py +0 -0
  57. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/crawler.py +0 -0
  58. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/department_map.py +0 -0
  59. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/safelist.py +0 -0
  60. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/stream_map.py +0 -0
  61. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/vacuum/worker.py +0 -0
  62. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/workflow/__init__.py +0 -0
  63. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core/workflow/run_workflow.py +0 -0
  64. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  65. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  66. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core.egg-info/requires.txt +0 -0
  67. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/assemblyline_core.egg-info/top_level.txt +0 -0
  68. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/setup.cfg +0 -0
  69. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/setup.py +0 -0
  70. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_alerter.py +0 -0
  71. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_badlist_client.py +0 -0
  72. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_expiry.py +0 -0
  73. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_replay.py +0 -0
  74. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_safelist_client.py +0 -0
  75. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_scaler.py +0 -0
  76. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_scheduler.py +0 -0
  77. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_signature_client.py +0 -0
  78. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_tasking_client.py +0 -0
  79. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_vacuum.py +0 -0
  80. {assemblyline_core-4.7.2.dev7 → assemblyline_core-4.7.2.dev10}/test/test_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.2.dev7
3
+ Version: 4.7.2.dev10
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.7.2.dev10
@@ -8,7 +8,6 @@ from collections import defaultdict
8
8
  from typing import Dict, List, Optional, Tuple
9
9
 
10
10
  import docker
11
-
12
11
  from assemblyline.odm.models.service import DependencyConfig, DockerConfig
13
12
 
14
13
  from .interface import ControllerInterface, ServiceControlError
@@ -87,6 +86,9 @@ class DockerController(ControllerInterface):
87
86
  threading.Thread(target=self._refresh_service_networks, daemon=True).start()
88
87
  self._flush_containers() # Clear out any containers that are left over from a previous run
89
88
 
89
+ # Start a background thread to watch for container events for debugging purposes
90
+ threading.Thread(target=self._container_events, daemon=True).start()
91
+
90
92
  if COMPOSE_PROJECT:
91
93
  self._prefix = COMPOSE_PROJECT + "_svc_"
92
94
  self._labels["com.docker.compose.project"] = COMPOSE_PROJECT
@@ -100,6 +102,24 @@ class DockerController(ControllerInterface):
100
102
  if label in container.labels:
101
103
  self._labels[label] = container.labels[label]
102
104
 
105
+ def _container_events(self):
106
+ """General watch of docker events for debugging purposes.
107
+
108
+ @contributor: @kam193
109
+ """
110
+
111
+ # Filter for OOM events from our containers, and log them when they happen.
112
+ oom_filter = {"event": "oom", "type": "container"}
113
+ if COMPOSE_PROJECT:
114
+ oom_filter["label"] = f"com.docker.compose.project={COMPOSE_PROJECT}"
115
+ elif self._labels:
116
+ oom_filter["label"] = [f"{k}={v}" for k, v in self._labels.items() if v]
117
+
118
+ for event in self.client.events(decode=True, filters=oom_filter):
119
+ self.log.warning(f"Container {event.get('Actor', {}).get('Attributes', {}).get('name', 'unknown')}"
120
+ "killed by OOM")
121
+
122
+
103
123
  def find_service_server(self):
104
124
  service_server_container = None
105
125
  while service_server_container is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.2.dev7
3
+ Version: 4.7.2.dev10
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.7.2.dev7