Change the current_source override to a config

This commit is contained in:
Stephan Kulow 2019-03-25 15:50:32 +01:00
parent fa33f864cf
commit 0ed0c0ebcd

View File

@ -111,8 +111,27 @@ class ToTestBase(object):
def jobs_num(self):
return 70
def current_version(self):
return self.release_version()
def release_version(self):
url = self.api.makeurl(['build', self.project, 'standard', self.arch(),
'000release-packages:%s-release' % self.project_base])
f = self.api.retried_GET(url)
root = ET.parse(f).getroot()
for binary in root.findall('binary'):
binary = binary.get('filename', '')
result = re.match(r'.*-([^-]*)-[^-]*.src.rpm', binary)
if result:
return result.group(1)
raise NotFoundException("can't find %s version" % self.project)
def current_sources(self):
if self.take_source_from_product is None:
raise Exception('No idea where to take the source version from')
if self.take_source_from_product:
return self.iso_build_version(self.project, self.main_products[0])
else:
return self.release_version()
def binaries_of_product(self, project, product, repo=None, arch=None):
if repo is None:
@ -150,19 +169,6 @@ class ToTestBase(object):
return result.group(1)
raise NotFoundException("can't find %s iso version" % project)
def release_version(self):
url = self.api.makeurl(['build', self.project, 'standard', self.arch(),
'000release-packages:%s-release' % self.project_base])
f = self.api.retried_GET(url)
root = ET.parse(f).getroot()
for binary in root.findall('binary'):
binary = binary.get('filename', '')
result = re.match(r'.*-([^-]*)-[^-]*.src.rpm', binary)
if result:
return result.group(1)
raise NotFoundException("can't find %s version" % self.project)
def current_qa_version(self):
return self.api.pseudometa_file_load('version_totest')
@ -565,7 +571,7 @@ class ToTestBase(object):
# nothing in test project (yet)
logger.warn(e)
current_snapshot = None
new_snapshot = self.current_version()
new_snapshot = self.current_sources()
self.update_pinned_descr = False
current_result = self.overall_result(current_snapshot)
current_qa_version = self.current_qa_version()
@ -658,7 +664,7 @@ class ToTestBase(object):
logger.error('Could not send out AMQP event for %s tries, aborting.' % tries)
def release(self):
new_snapshot = self.current_version()
new_snapshot = self.current_sources()
self.update_totest(new_snapshot)
def write_version_to_dashboard(self, target, version):
@ -670,6 +676,7 @@ class ToTestBaseNew(ToTestBase):
# whether all medias need to have the same build number
need_same_build_number = True
take_source_from_product = True
"""Base class for new product builder"""
@ -695,9 +702,6 @@ class ToTestBaseNew(ToTestBase):
self._release_package('%s:Live' %
self.project, cd.package, set_release=set_release)
def current_version(self):
return self.iso_build_version(self.project, self.main_products[0])
def is_snapshottable(self):
ret = super(ToTestBaseNew, self).is_snapshottable()
if ret and self.need_same_build_number:
@ -721,9 +725,6 @@ class ToTestBaseNew(ToTestBase):
return ret
class ToTestFactory(ToTestBase):
main_products = ['000product:openSUSE-dvd5-dvd-i586',
'000product:openSUSE-dvd5-dvd-x86_64',
@ -757,6 +758,8 @@ class ToTestFactory(ToTestBase):
for flavor in ['MicroOS-podman', 'kubeadm-cri-o']
]
take_source_from_product = False
def __init__(self, *args, **kwargs):
ToTestBase.__init__(self, *args, **kwargs)
@ -779,6 +782,8 @@ class ToTestFactoryPowerPC(ToTestBase):
ImageProduct('kubic-kured-image', ['ppc64le']),
ImageProduct('kubic-pause-image', ['ppc64le'])]
take_source_from_product = False
def __init__(self, *args, **kwargs):
ToTestBase.__init__(self, *args, **kwargs)
@ -798,6 +803,8 @@ class ToTestFactoryzSystems(ToTestBase):
ftp_products = ['000product:openSUSE-ftp-ftp-s390x']
take_source_from_product = False
def __init__(self, *args, **kwargs):
ToTestBase.__init__(self, *args, **kwargs)
@ -831,6 +838,8 @@ class ToTestFactoryARM(ToTestFactory):
# JeOS doesn't follow build numbers of main isos
need_same_build_number = False
take_source_from_product = False
def __init__(self, *args, **kwargs):
ToTestFactory.__init__(self, *args, **kwargs)
@ -936,6 +945,7 @@ class ToTest150Images(ToTestBaseNew):
# docker image has a different number
need_same_build_number = False
set_snapshot_number = True
take_source_from_product = True
def openqa_group(self):
return 'openSUSE Leap 15.0 Images'
@ -946,7 +956,7 @@ class ToTest150Images(ToTestBaseNew):
def write_version_to_dashboard(self, target, version):
super(ToTest150Images, self).write_version_to_dashboard('{}_images'.format(target), version)
def current_version(self):
def current_sources(self):
return self.iso_build_version(self.project, self.image_products[0].package,
arch=self.image_products[0].archs[0])
@ -1001,6 +1011,8 @@ class ToTestSLE(ToTestBaseNew):
# whether to set a snapshot number on release
set_snapshot_number = False
take_source_from_product = True
def __init__(self, *args, **kwargs):
ToTestBaseNew.__init__(self, test_subproject='TEST', *args, **kwargs)