From b9ac2b7b3b82fe673ed6a90c8376fe5aa36ad1a3 Mon Sep 17 00:00:00 2001 From: Jimmy Zelinskie Date: Fri, 3 Mar 2017 14:50:53 -0500 Subject: [PATCH] workers.securityworker: simplify min id --- data/model/image.py | 9 +++------ test/test_secscan.py | 4 ++-- workers/securityworker.py | 5 +++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/data/model/image.py b/data/model/image.py index 1d3b9fe56..cd207c468 100644 --- a/data/model/image.py +++ b/data/model/image.py @@ -495,13 +495,10 @@ def get_image_id(): return Image.id -def get_images_eligible_for_scan(clair_version, min_id=None): +def get_images_eligible_for_scan(clair_version): """ Returns a query that gives all images eligible for a clair scan """ - query = (get_image_with_storage_and_parent_base() - .where(Image.security_indexed_engine < clair_version)) - if min_id is not None: - query = query.where(Image.id >= min_id) - return query + return (get_image_with_storage_and_parent_base() + .where(Image.security_indexed_engine < clair_version)) def get_image_with_storage_and_parent_base(): diff --git a/test/test_secscan.py b/test/test_secscan.py index 38739e386..cc29e5d74 100644 --- a/test/test_secscan.py +++ b/test/test_secscan.py @@ -589,11 +589,11 @@ class TestSecurityScanner(unittest.TestCase): # Ensure no images are available for scanning. self.assertIsNone(model.image.get_min_id_for_sec_scan(expected_version)) - self.assertTrue(len(model.image.get_images_eligible_for_scan(expected_version, None)) == 0) + self.assertTrue(len(model.image.get_images_eligible_for_scan(expected_version)) == 0) # Check for a higher version. self.assertIsNotNone(model.image.get_min_id_for_sec_scan(expected_version + 1)) - self.assertTrue(len(model.image.get_images_eligible_for_scan(expected_version + 1, None)) > 0) + self.assertTrue(len(model.image.get_images_eligible_for_scan(expected_version + 1)) > 0) def test_notification_worker(self): layer1 = model.tag.get_tag_image(ADMIN_ACCESS_USER, SIMPLE_REPO, 'latest', include_storage=True) diff --git a/workers/securityworker.py b/workers/securityworker.py index 93ec28081..9c92c1f19 100644 --- a/workers/securityworker.py +++ b/workers/securityworker.py @@ -33,7 +33,8 @@ class SecurityWorker(Worker): self._analyzer = LayerAnalyzer(app.config, secscan_api) # Get the ID of the first image we want to analyze. - self._min_id = get_min_id_for_sec_scan(self._target_version) + self._min_id = app.config.get('SECURITY_SCANNER_INDEXING_MIN_ID', + get_min_id_for_sec_scan(self._target_version)) interval = app.config.get('SECURITY_SCANNER_INDEXING_INTERVAL', DEFAULT_INDEXING_INTERVAL) self.add_operation(self._index_images, interval) @@ -42,7 +43,7 @@ class SecurityWorker(Worker): def _index_images(self): def batch_query(): - return get_images_eligible_for_scan(self._target_version, app.config.get('SECURITY_SCANNER_INDEXING_MIN_ID', None)) + return get_images_eligible_for_scan(self._target_version) # Get the ID of the last image we can analyze. Will be None if there are no images in the # database.