Merge pull request #2894 from Vogtinator/stagingimages

gocd/rabbit-openqa.py: Always include flavor, name and machine in the check
This commit is contained in:
Fabian Vogt 2023-01-24 13:26:40 +01:00 committed by GitHub
commit c53e264aa2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -100,11 +100,10 @@ class Project(object):
# collect job infos to pick names # collect job infos to pick names
for job in openqa: for job in openqa:
print(staging, iso, job['id'], job['state'], job['result'], print(staging, iso, job['id'], job['state'], job['result'],
job['settings']['MACHINE'], job['settings']['TEST']) job['settings']['FLAVOR'], job['settings']['TEST'], job['settings']['MACHINE'])
openqa_infos[job['id']] = {'url': self.listener.test_url(job)} openqa_infos[job['id']] = {'url': self.listener.test_url(job)}
openqa_infos[job['id']]['state'] = self.map_openqa_result(job) openqa_infos[job['id']]['state'] = self.map_openqa_result(job)
openqa_infos[job['id']]['name'] = job['settings']['TEST'] openqa_infos[job['id']]['name'] = f"{job['settings']['FLAVOR']}-{job['settings']['TEST']}@{job['settings']['MACHINE']}"
openqa_infos[job['id']]['machine'] = job['settings']['MACHINE']
def update_staging_status(self, staging): def update_staging_status(self, staging):
openqa_infos = dict() openqa_infos = dict()
@ -123,12 +122,7 @@ class Project(object):
for id in openqa_infos: for id in openqa_infos:
name = openqa_infos[id]['name'] name = openqa_infos[id]['name']
if name in taken_names: if name in taken_names:
openqa_infos[id]['name'] = openqa_infos[id]['name'] + "@" + openqa_infos[id]['machine'] raise Exception(f'Names of job #{id} and #{taken_names[name]} collide: {name}')
# the other id
oid = taken_names[name]
openqa_infos[oid]['name'] = openqa_infos[oid]['name'] + "@" + openqa_infos[oid]['machine']
if openqa_infos[id]['name'] == openqa_infos[oid]['name']:
raise Exception(f'Names of job #{id} and #{oid} collide')
taken_names[name] = id taken_names[name] = id
for info in openqa_infos.values(): for info in openqa_infos.values():