d0590b73e7
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
53 lines
1.6 KiB
Python
Executable File
53 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python2
|
|
#
|
|
# Copyright 2014 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import os
|
|
import sys
|
|
|
|
from subunit2sql.db import api
|
|
from subunit2sql import shell
|
|
from subunit2sql import write_subunit
|
|
|
|
|
|
DB_URI = 'mysql+pymysql://query:query@logstash.openstack.org/subunit2sql'
|
|
|
|
if len(sys.argv) == 2:
|
|
TEMPEST_PATH = sys.argv[1]
|
|
elif len(sys.argv) > 2:
|
|
TEMPEST_PATH = sys.argv[1]
|
|
DB_URI = sys.argv[2]
|
|
else:
|
|
TEMPEST_PATH = '/opt/stack/new/tempest'
|
|
|
|
|
|
def main():
|
|
shell.parse_args([])
|
|
shell.CONF.set_override('connection', DB_URI, group='database')
|
|
session = api.get_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')
|
|
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()
|