From d0590b73e7cffa8098169286b08aa67791944d75 Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Thu, 23 Jun 2016 10:55:32 -0400 Subject: [PATCH] Fix preseed script for the brave new world Ever since we started populating the subunit2sql db with data from all gate and periodic jobs this script has been kinda useless. This was added with the intent to preseed tempest runs with data from past runs to hopefully have a positive impact on the testr scheduler. (its actual usefulness is limited because of bug 1416512 and other scheduler limitations) However, because we're not filtering now we end up preseeding tempest runs with data from things like zuul unit tests which are just a waste. This commit adds the necessary filtering to the DB queries to ensure we only preseed with data from previous tempest runs. Note: For this patch to work the depends-on below must be included in a subunit2sql release Change-Id: I32866d63b5f0fa406213709fc88a9029d0318645 Depends-On: Id6ca7e7a4cd1f913d9f84efae5f48d247dd9ed64 --- nodepool/scripts/prepare_tempest_testrepository.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nodepool/scripts/prepare_tempest_testrepository.py b/nodepool/scripts/prepare_tempest_testrepository.py index 2947baf492..a933b85757 100755 --- a/nodepool/scripts/prepare_tempest_testrepository.py +++ b/nodepool/scripts/prepare_tempest_testrepository.py @@ -37,14 +37,16 @@ def main(): shell.parse_args([]) shell.CONF.set_override('connection', DB_URI, group='database') session = api.get_session() - run_ids = api.get_recent_successful_runs(num_runs=10, - session=session) + runs = api.get_recent_successful_runs_by_run_metadata( + 'build_name', 'gate-tempest-dsvm-neutron-full', + num_runs=10, session=session) session.close() preseed_path = os.path.join(TEMPEST_PATH, 'preseed-streams') - os.mkdir(preseed_path) - for run in run_ids: - with open(os.path.join(preseed_path, run + '.subunit'), 'w') as fd: - write_subunit.sql2subunit(run, fd) + if not os.path.isdir(preseed_path): + os.mkdir(preseed_path) + for run in runs: + with open(os.path.join(preseed_path, run.uuid + '.subunit'), 'w') as fd: + write_subunit.sql2subunit(run.uuid, fd) if __name__ == '__main__': main()