From 0852b341852d4379a87273062dda3fc580064b78 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Sep 30 2019 09:08:03 +0000 Subject: Add find_images_to_rebuild.py script --- diff --git a/dev_scripts/find_images_to_rebuild.py b/dev_scripts/find_images_to_rebuild.py new file mode 100755 index 0000000..dd44210 --- /dev/null +++ b/dev_scripts/find_images_to_rebuild.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +from __future__ import print_function +import os +import sys +from pprint import pprint +from mock import patch +from logging.config import dictConfig +import fedmsg.config + +# Allow imports from parent directory. +sys.path.insert(1, os.path.join(sys.path[0], '..')) + +# Set the FRESHMAKER_DEVELOPER_ENV variable. +os.environ["FRESHMAKER_DEVELOPER_ENV"] = "1" +os.environ["FRESHMAKER_CONFIG_FILE"] = os.path.join(sys.path[0], "config.py") + +from freshmaker import db, app +from freshmaker.errata import Errata, ErrataAdvisory +from freshmaker.events import ErrataAdvisoryStateChangedEvent +from freshmaker.handlers.koji import RebuildImagesOnRPMAdvisoryChange + +fedmsg_config = fedmsg.config.load_config() +dictConfig(fedmsg_config.get('logging', {'version': 1})) + +if len(sys.argv) != 2: + print("Queries Lightblue to find out all the images Freshmaker rebuilds.") + print("Usage: ./lightblue.py ERRATA_ID") + sys.exit(1) + +app_context = app.app_context() +app_context.__enter__() + +for i in range(10): + db.drop_all() + db.create_all() + db.session.commit() + + errata = Errata() + event = ErrataAdvisoryStateChangedEvent( + "fake_message", ErrataAdvisory.from_advisory_id(errata, sys.argv[1]), + dry_run=True) + + handler = RebuildImagesOnRPMAdvisoryChange() + with patch("freshmaker.consumer.get_global_consumer"): + handler.handle(event)