assemblyline-core 4.7.5.dev73__tar.gz → 4.7.5.dev76__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.
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/PKG-INFO +1 -1
- assemblyline_core-4.7.5.dev76/assemblyline_core/VERSION +1 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/base.py +8 -39
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/controllers/interface.py +4 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/scaler_server.py +37 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler_hpa/scaler_server.py +7 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core.egg-info/PKG-INFO +1 -1
- assemblyline_core-4.7.5.dev73/assemblyline_core/VERSION +0 -1
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/LICENCE.md +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/README.md +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/expiry/run_expiry.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/ingester/ingester.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/controllers/kubernetes.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler_hpa/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler_hpa/kubernetes.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler_hpa/run_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/server_base.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/signature_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/submission_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/updater/helper.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/updater/run_updater.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/setup.cfg +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/setup.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_alerter.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_badlist_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_expiry.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_replay.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_safelist_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_scheduler.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_signature_client.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_updater_helper.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_vacuum.py +0 -0
- {assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_workflow.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.7.5.dev76
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/base.py
RENAMED
|
@@ -243,44 +243,6 @@ class ScalerBase(ThreadedCoreBase):
|
|
|
243
243
|
return 1
|
|
244
244
|
return self.config.core.scaler.memory_overallocation
|
|
245
245
|
|
|
246
|
-
def get_cpu_info(self, overallocation: bool) -> tuple[float, float]:
|
|
247
|
-
# Get the raw used resource numbers
|
|
248
|
-
free_cpu, total_cpu = self.controller.cpu_info()
|
|
249
|
-
|
|
250
|
-
# Recalculate the amount of free resources expanding the total quantity by the overallocation
|
|
251
|
-
if overallocation:
|
|
252
|
-
used_cpu = total_cpu - free_cpu
|
|
253
|
-
free_cpu = total_cpu * self.get_cpu_overallocation() - used_cpu
|
|
254
|
-
|
|
255
|
-
# Include the service containers not counted in the raw numbers because they are pending
|
|
256
|
-
for name, pending in self.controller.get_unavailable().items():
|
|
257
|
-
profile = self.profiles.get(name)
|
|
258
|
-
if not profile or not pending:
|
|
259
|
-
continue
|
|
260
|
-
|
|
261
|
-
free_cpu = free_cpu - profile.container_config.cpu_cores * pending
|
|
262
|
-
|
|
263
|
-
return (free_cpu, total_cpu)
|
|
264
|
-
|
|
265
|
-
def get_memory_info(self, overallocation: bool) -> tuple[float, float]:
|
|
266
|
-
# Get the raw used resource numbers
|
|
267
|
-
free_memory, total_memory = self.controller.memory_info()
|
|
268
|
-
|
|
269
|
-
# Recalculate the amount of free resources expanding the total quantity by the overallocation
|
|
270
|
-
if overallocation:
|
|
271
|
-
used_memory = total_memory - free_memory
|
|
272
|
-
free_memory = total_memory * self.get_memory_overallocation() - used_memory
|
|
273
|
-
|
|
274
|
-
# Include the service containers not counted in the raw numbers because they are pending
|
|
275
|
-
for name, pending in self.controller.get_unavailable().items():
|
|
276
|
-
profile = self.profiles.get(name)
|
|
277
|
-
if not profile or not pending:
|
|
278
|
-
continue
|
|
279
|
-
|
|
280
|
-
free_memory = free_memory - profile.container_config.ram_mb * pending
|
|
281
|
-
|
|
282
|
-
return (free_memory, total_memory)
|
|
283
|
-
|
|
284
246
|
def log_container_events(self):
|
|
285
247
|
"""The service status table may have references to containers that have crashed. Try to remove them all."""
|
|
286
248
|
while self.sleep(CONTAINER_EVENTS_LOG_INTERVAL):
|
|
@@ -315,7 +277,8 @@ class ScalerBase(ThreadedCoreBase):
|
|
|
315
277
|
'memory_total': memory_total,
|
|
316
278
|
'cpu_total': cpu_total,
|
|
317
279
|
'memory_free': memory,
|
|
318
|
-
'cpu_free': cpu
|
|
280
|
+
'cpu_free': cpu,
|
|
281
|
+
'pending_containers': sum(self.controller.get_unavailable().values())
|
|
319
282
|
}
|
|
320
283
|
export_metrics_once('scaler', Metrics, metrics, host=HOSTNAME,
|
|
321
284
|
counter_type='scaler', config=self.config, redis=self.redis)
|
|
@@ -325,3 +288,9 @@ class ScalerBase(ThreadedCoreBase):
|
|
|
325
288
|
|
|
326
289
|
def sync_metrics(self):
|
|
327
290
|
raise NotImplementedError()
|
|
291
|
+
|
|
292
|
+
def get_cpu_info(self, overallocation: bool) -> tuple[float, float]:
|
|
293
|
+
raise NotImplementedError()
|
|
294
|
+
|
|
295
|
+
def get_memory_info(self, overallocation: bool) -> tuple[float, float]:
|
|
296
|
+
raise NotImplementedError()
|
|
@@ -44,6 +44,10 @@ class ControllerInterface:
|
|
|
44
44
|
"""Set the target for running instances of a service."""
|
|
45
45
|
raise NotImplementedError()
|
|
46
46
|
|
|
47
|
+
def get_unavailable(self) -> dict[str, int]:
|
|
48
|
+
"""Report the number of pending containers from deployments monitored by the system."""
|
|
49
|
+
raise NotImplementedError()
|
|
50
|
+
|
|
47
51
|
def restart(self, service: ServiceProfile):
|
|
48
52
|
raise NotImplementedError()
|
|
49
53
|
|
|
@@ -729,3 +729,40 @@ class ScalerServer(ScalerBase):
|
|
|
729
729
|
duty_cycle=profile.high_duty_cycle
|
|
730
730
|
)
|
|
731
731
|
|
|
732
|
+
def get_cpu_info(self, overallocation: bool) -> tuple[float, float]:
|
|
733
|
+
# Get the raw used resource numbers
|
|
734
|
+
free_cpu, total_cpu = self.controller.cpu_info()
|
|
735
|
+
|
|
736
|
+
# Recalculate the amount of free resources expanding the total quantity by the overallocation
|
|
737
|
+
if overallocation:
|
|
738
|
+
used_cpu = total_cpu - free_cpu
|
|
739
|
+
free_cpu = total_cpu * self.get_cpu_overallocation() - used_cpu
|
|
740
|
+
|
|
741
|
+
# Include the service containers not counted in the raw numbers because they are pending
|
|
742
|
+
for name, pending in self.controller.get_unavailable().items():
|
|
743
|
+
profile = self.profiles.get(name)
|
|
744
|
+
if not profile or not pending:
|
|
745
|
+
continue
|
|
746
|
+
|
|
747
|
+
free_cpu = free_cpu - profile.container_config.cpu_cores * pending
|
|
748
|
+
|
|
749
|
+
return (free_cpu, total_cpu)
|
|
750
|
+
|
|
751
|
+
def get_memory_info(self, overallocation: bool) -> tuple[float, float]:
|
|
752
|
+
# Get the raw used resource numbers
|
|
753
|
+
free_memory, total_memory = self.controller.memory_info()
|
|
754
|
+
|
|
755
|
+
# Recalculate the amount of free resources expanding the total quantity by the overallocation
|
|
756
|
+
if overallocation:
|
|
757
|
+
used_memory = total_memory - free_memory
|
|
758
|
+
free_memory = total_memory * self.get_memory_overallocation() - used_memory
|
|
759
|
+
|
|
760
|
+
# Include the service containers not counted in the raw numbers because they are pending
|
|
761
|
+
for name, pending in self.controller.get_unavailable().items():
|
|
762
|
+
profile = self.profiles.get(name)
|
|
763
|
+
if not profile or not pending:
|
|
764
|
+
continue
|
|
765
|
+
|
|
766
|
+
free_memory = free_memory - profile.container_config.ram_mb * pending
|
|
767
|
+
|
|
768
|
+
return (free_memory, total_memory)
|
|
@@ -524,3 +524,10 @@ class ScalerServer(ScalerBase):
|
|
|
524
524
|
profile.running_instances = 0
|
|
525
525
|
profile.duty_cycle = 0.7
|
|
526
526
|
|
|
527
|
+
def get_cpu_info(self, overallocation: bool) -> tuple[float, float]:
|
|
528
|
+
# Get the raw used resource numbers
|
|
529
|
+
return self.controller.cpu_info()
|
|
530
|
+
|
|
531
|
+
def get_memory_info(self, overallocation: bool) -> tuple[float, float]:
|
|
532
|
+
# Get the raw used resource numbers
|
|
533
|
+
return self.controller.memory_info()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.7.5.dev73
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/badlist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/expiry/__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
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/metrics/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/__init__.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/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.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/replay/replay.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/safelist_client.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/scaler/__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
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/server_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/updater/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/__init__.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/crawler.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/assemblyline_core/vacuum/safelist.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_safelist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev73 → assemblyline_core-4.7.5.dev76}/test/test_signature_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|