summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Styk <mastyk@redhat.com>2018-12-12 16:19:12 +0100
committerMartin Styk <mastyk@redhat.com>2018-12-12 16:19:12 +0100
commitd9c2ddbc320eaaece6cc1f15162e053aa2fe1201 (patch)
tree89ecf83071b8dcaa49401a81353302e2839aee31
parent5d4a6c624f996235666045ffc36366b41a0ebeeb (diff)
parent34a07dab0242fa629a5c5210ff7d53dc32da764a (diff)
Merge branch 'release-26' into develop
-rw-r--r--Client/setup.py2
-rw-r--r--Client/src/bkr/client/commands/cmd_group_list.py2
-rwxr-xr-xClient/src/bkr/client/wizard.py4
-rw-r--r--Common/bkr/common/__init__.py2
-rw-r--r--Common/setup.py2
-rw-r--r--IntegrationTests/setup.py2
-rw-r--r--IntegrationTests/src/bkr/inttest/server/test_kickstart.py111
-rw-r--r--LabController/setup.py2
-rw-r--r--LabController/src/bkr/labcontroller/expire_distros.py18
-rw-r--r--Server/bkr/server/kickstarts/default3
-rw-r--r--Server/bkr/server/model/distrolibrary.py8
-rw-r--r--Server/bkr/server/snippets/rhts_partitions7
-rwxr-xr-xServer/bkr/server/tools/repo_update.py2
-rw-r--r--Server/setup.py2
-rw-r--r--beaker.spec4
-rw-r--r--documentation/whats-new/release-26.rst29
16 files changed, 177 insertions, 23 deletions
diff --git a/Client/setup.py b/Client/setup.py
index 8f03d0f..a36428a 100644
--- a/Client/setup.py
+++ b/Client/setup.py
@@ -13,7 +13,7 @@ def bash_completion_dir():
setup(
name='beaker-client',
- version='26.1',
+ version='26.2',
description='Command-line client for interacting with Beaker',
author='Red Hat, Inc.',
author_email='beaker-devel@lists.fedorahosted.org',
diff --git a/Client/src/bkr/client/commands/cmd_group_list.py b/Client/src/bkr/client/commands/cmd_group_list.py
index 7146454..00e6ea8 100644
--- a/Client/src/bkr/client/commands/cmd_group_list.py
+++ b/Client/src/bkr/client/commands/cmd_group_list.py
@@ -30,7 +30,7 @@ Options
.. option:: --limit <number>
- Return at most <number> groups.
+ Return at most <number> groups. The default is 50.
Common :program:`bkr` options are described in the :ref:`Options
<common-options>` section of :manpage:`bkr(1)`.
diff --git a/Client/src/bkr/client/wizard.py b/Client/src/bkr/client/wizard.py
index 471b2dd..a4fca16 100755
--- a/Client/src/bkr/client/wizard.py
+++ b/Client/src/bkr/client/wizard.py
@@ -2417,10 +2417,10 @@ class Skeleton(SingleChoice):
=head1 DESCRIPTION
- This is a trivial example of a BeakerLib library. It's main goal
+ This is a trivial example of a BeakerLib library. Its main goal
is to provide a minimal template which can be used as a skeleton
when creating a new library. It implements function fileCreate().
- Please note, that all library functions must begin with the same
+ Please note that all library functions must begin with the same
prefix which is defined at the beginning of the library.
=cut
diff --git a/Common/bkr/common/__init__.py b/Common/bkr/common/__init__.py
index 5d38d4e..5c93f42 100644
--- a/Common/bkr/common/__init__.py
+++ b/Common/bkr/common/__init__.py
@@ -2,4 +2,4 @@
# code in bkr.__init__), the version details are retrieved from here in
# order to correctly handle module shadowing on sys.path
-__version__ = '26.1'
+__version__ = '26.2'
diff --git a/Common/setup.py b/Common/setup.py
index 76b7d58..75ac84f 100644
--- a/Common/setup.py
+++ b/Common/setup.py
@@ -12,7 +12,7 @@ from setuptools import setup, find_packages
setup(
name='beaker-common',
- version='26.1',
+ version='26.2',
description='Common components for Beaker packages',
author='Red Hat, Inc.',
author_email='beaker-devel@lists.fedorahosted.org',
diff --git a/IntegrationTests/setup.py b/IntegrationTests/setup.py
index cd1adeb..a3f3ca6 100644
--- a/IntegrationTests/setup.py
+++ b/IntegrationTests/setup.py
@@ -12,7 +12,7 @@ def get_compose_layout():
setup(
name='beaker-integration-tests',
- version='26.1',
+ version='26.2',
description='Integration tests for Beaker',
author='Red Hat, Inc.',
author_email='beaker-devel@lists.fedorahosted.org',
diff --git a/IntegrationTests/src/bkr/inttest/server/test_kickstart.py b/IntegrationTests/src/bkr/inttest/server/test_kickstart.py
index 68af08b..5670ad9 100644
--- a/IntegrationTests/src/bkr/inttest/server/test_kickstart.py
+++ b/IntegrationTests/src/bkr/inttest/server/test_kickstart.py
@@ -285,6 +285,59 @@ class KickstartTest(unittest.TestCase):
repo_type=u'addon', path=u'addons/ScalableFileSystem'),
]
+ cls.rhel76_alt_nightly = data_setup.create_distro(name=u'RHEL-ALT-7.6-20181031.n.0',
+ osmajor=u'RedHatEnterpriseLinuxAlternateArchitectures7', osminor=u'6')
+
+ cls.rhel76_server_s390x = data_setup.create_distro_tree(
+ distro=cls.rhel76_alt_nightly, variant=u'Server', arch=u's390x',
+ lab_controllers=[cls.lab_controller],
+ urls=[u'http://lab.test-kickstart.invalid/distros/RHEL-ALT-7.6-20181031.n.0/compose/Server/s390x/os/'])
+
+ cls.rhel76_server_s390x.repos[:] = [
+ DistroTreeRepo(
+ repo_id=u'Server-optional-debuginfo',
+ repo_type=u'debug',
+ path=u'../../../Server-optional/s390x/debug/tree'
+ ),
+ DistroTreeRepo(
+ repo_id=u'Server-debuginfo',
+ repo_type=u'debug',
+ path=u'../../../Server/s390x/debug/tree'
+ ),
+ DistroTreeRepo(
+ repo_id=u'Server-optional',
+ repo_type=u'optional',
+ path=u'../../../Server-optional/s390x/os'
+ ),
+ DistroTreeRepo(
+ repo_id=u'Server',
+ repo_type=u'variant',
+ path=u'../../../Server/s390x/os'
+ )
+ ]
+
+ cls.rhel8_nightly = data_setup.create_distro(name=u'RHEL-8.0-20181114.n.0',
+ osmajor=u'RedHatEnterpriseLinux8', osminor=u'0')
+
+ cls.rhel8_nightly_server = data_setup.create_distro_tree(
+ distro=cls.rhel8_nightly, variant=u'BaseOS', arch=u'x86_64',
+ lab_controllers=[cls.lab_controller],
+ urls=[u'http://lab.test-kickstart.invalid/distros/RHEL-8.0-20181114.n.0/compose/BaseOS/x86_64/os/'])
+
+ cls.rhel8_nightly_server.repos[:] = [
+ DistroTreeRepo(
+ repo_id=u'BaseOS-debuginfo',
+ repo_type=u'debug',
+ path=u'../../../BaseOS/x86_64/debug/tree'
+ ),
+ DistroTreeRepo(
+ repo_id=u'AppStream-debuginfo',
+ repo_type=u'debug',
+ path=u'../../../AppStream/x86_64/debug/tree'
+ )
+ ]
+
+
cls.centos7 = data_setup.create_distro(name=u'CentOS-7',
osmajor=u'CentOS7', osminor=u'0')
cls.centos7_x86_64 = data_setup.create_distro_tree(
@@ -723,7 +776,7 @@ class KickstartTest(unittest.TestCase):
</job>
''', self.system)
- ondisk_lines = [r'''clearpart --drives /dev/sda --all --initlabel''',
+ ondisk_lines = [r'''clearpart --all --initlabel --drives /dev/sda''',
r'''part /boot --size 250 --recommended --asprimary --ondisk=/dev/sda''',
r'''part / --size 1024 --grow --ondisk=/dev/sda''',
r'''part swap --recommended --ondisk=/dev/sda''']
@@ -1050,6 +1103,32 @@ class KickstartTest(unittest.TestCase):
self.assert_(r'''vmcp ipl''' not in recipe.installation.rendered_kickstart.kickstart,
recipe.installation.rendered_kickstart.kickstart)
+ self.assert_(r'''clearpart --all --initlabel --cdl''' not in recipe.installation.rendered_kickstart.kickstart,
+ recipe.installation.rendered_kickstart.kickstart)
+
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1636550
+ def test_rhel76_alt_s390x(self):
+ recipe = self.provision_recipe('''
+ <job>
+ <whiteboard/>
+ <recipeSet>
+ <recipe>
+ <distroRequires>
+ <distro_name op="=" value="RHEL-ALT-7.6-20181031.n.0" />
+ <distro_variant op="=" value="Server" />
+ <distro_arch op="=" value="s390x" />
+ </distroRequires>
+ <hostRequires/>
+ <task name="/distribution/install" />
+ <task name="/distribution/reservesys" />
+ </recipe>
+ </recipeSet>
+ </job>
+ ''', self.system_s390x)
+
+ self.assert_(r'''clearpart --all --initlabel --cdl''' in recipe.installation.rendered_kickstart.kickstart,
+ recipe.installation.rendered_kickstart.kickstart)
+
def test_rhel7_autopart_type(self):
recipe = self.provision_recipe('''
<job>
@@ -1092,6 +1171,36 @@ class KickstartTest(unittest.TestCase):
compare_expected('RedHatEnterpriseLinuxAlternateArchitectures7-scheduler-defaults', recipe.id,
recipe.installation.rendered_kickstart.kickstart)
+ def test_rhel8_manual(self):
+ system = data_setup.create_system(arch=u'x86_64', status=u'Automated',
+ fqdn='test-manual-1.test-kickstart.invalid',
+ lab_controller=self.lab_controller)
+ system.provisions[system.arch[0]] = Provision(arch=system.arch[0],
+ ks_meta=u'manual')
+ recipe = self.provision_recipe('''
+ <job>
+ <whiteboard/>
+ <recipeSet>
+ <recipe>
+ <distroRequires>
+ <distro_name op="=" value="RHEL-8.0-20181114.n.0" />
+ <distro_variant op="=" value="BaseOS" />
+ <distro_arch op="=" value="x86_64" />
+ </distroRequires>
+ <hostRequires/>
+ <task name="/distribution/install" />
+ <task name="/distribution/reservesys" />
+ </recipe>
+ </recipeSet>
+ </job>
+ ''', system)
+
+ self.assert_(r'''ignoredisk --interactive''' not in recipe.installation.rendered_kickstart.kickstart,
+ recipe.installation.rendered_kickstart.kickstart)
+
+ self.assert_(r'''ignoredisk''' in recipe.installation.rendered_kickstart.kickstart,
+ recipe.installation.rendered_kickstart.kickstart)
+
def test_fedora18_defaults(self):
recipe = self.provision_recipe('''
<job>
diff --git a/LabController/setup.py b/LabController/setup.py
index f83565b..7a5f5ac 100644
--- a/LabController/setup.py
+++ b/LabController/setup.py
@@ -49,7 +49,7 @@ else:
setup(
name='beaker-lab-controller',
- version='26.1',
+ version='26.2',
description='Daemons for controlling a Beaker lab',
author='Red Hat, Inc.',
author_email='beaker-devel@lists.fedorahosted.org',
diff --git a/LabController/src/bkr/labcontroller/expire_distros.py b/LabController/src/bkr/labcontroller/expire_distros.py
index 4ffe395..98d5210 100644
--- a/LabController/src/bkr/labcontroller/expire_distros.py
+++ b/LabController/src/bkr/labcontroller/expire_distros.py
@@ -65,7 +65,7 @@ def check_url(url):
else:
raise ValueError('Unrecognised URL scheme %s for tree %s' % (scheme, url))
-def check_all_trees(ignore_errors=False):
+def check_all_trees(ignore_errors=False, dry_run=False):
proxy = xmlrpclib.ServerProxy('http://localhost:8000', allow_none=True)
rdistro_trees = []
distro_trees = proxy.get_distro_trees()
@@ -93,23 +93,31 @@ def check_all_trees(ignore_errors=False):
# if all distro_trees are expired then something is probably wrong.
if len(distro_trees) != len(rdistro_trees):
for distro_tree in rdistro_trees:
- print "Removing distro %s:%d" % (distro_tree['distro_name'],
- distro_tree['distro_tree_id'])
- proxy.remove_distro_trees([distro_tree['distro_tree_id']])
+ if dry_run:
+ print('No longer accessible distro %s:%d' % (distro_tree['distro_name'],
+ distro_tree['distro_tree_id']))
+ else:
+ print "Removing distro %s:%d" % (distro_tree['distro_name'],
+ distro_tree['distro_tree_id'])
+ proxy.remove_distro_trees([distro_tree['distro_tree_id']])
else:
sys.stderr.write("All distros are missing! Please check your server!!\n")
sys.exit(1)
+
def main():
from optparse import OptionParser
parser = OptionParser()
parser.add_option('--ignore-errors', default=False, action='store_true',
help='Ignore all network errors when communicating with mirrors')
+ parser.add_option('--dry-run', default=False, action='store_true',
+ help='Prints no longer accessible distro without updating the database.')
options, args = parser.parse_args()
try:
- check_all_trees(options.ignore_errors)
+ check_all_trees(options.ignore_errors, options.dry_run)
except KeyboardInterrupt:
pass
+
if __name__ == '__main__':
main()
diff --git a/Server/bkr/server/kickstarts/default b/Server/bkr/server/kickstarts/default
index 2cc70cd..b68b46d 100644
--- a/Server/bkr/server/kickstarts/default
+++ b/Server/bkr/server/kickstarts/default
@@ -10,7 +10,8 @@
{{ mode|default('text') }}
{% if manual is defined %}
-ignoredisk --interactive
+ignoredisk{%- if has_ignoredisk_interactive %} --interactive{% endif %}
+
{% endif %}
{% if manual is undefined %}
{% if auth %}
diff --git a/Server/bkr/server/model/distrolibrary.py b/Server/bkr/server/model/distrolibrary.py
index d5b08e2..9b30da1 100644
--- a/Server/bkr/server/model/distrolibrary.py
+++ b/Server/bkr/server/model/distrolibrary.py
@@ -154,6 +154,14 @@ def default_install_options_for_distro(osmajor_name, osminor, variant, arch):
]
else:
ks_meta['conflicts_groups'] = []
+ #clearpart --cdl
+ if arch.arch == 's390x' and (rhel == '7' and int(osminor) >= 6
+ or rhel == '8' and int(osminor) >= 0):
+ ks_meta['has_clearpart_cdl'] = True
+
+ ks_meta['has_ignoredisk_interactive'] = False # --interactive is deprecated
+ if (rhel and int(rhel) < 8) or (fedora and fedora != 'rawhide' and int(fedora) < 29):
+ ks_meta['has_ignoredisk_interactive'] = True
kernel_options = {}
# set arch specific default netboot loader paths
diff --git a/Server/bkr/server/snippets/rhts_partitions b/Server/bkr/server/snippets/rhts_partitions
index f2b97f2..e16948d 100644
--- a/Server/bkr/server/snippets/rhts_partitions
+++ b/Server/bkr/server/snippets/rhts_partitions
@@ -2,11 +2,10 @@
ignoredisk {{ ignoredisk }}
{% endif %}
zerombr
-{% if ondisk %}
-clearpart --drives {{ ondisk }} --all --initlabel
-{% else %}
clearpart --all --initlabel
-{% endif %}
+{%- if ondisk %} --drives {{ ondisk }}{% endif %}
+{%- if has_clearpart_cdl is defined %} --cdl{% endif %}
+
{% if partitions or ondisk or rootfstype or fstype or swapsize %}
diff --git a/Server/bkr/server/tools/repo_update.py b/Server/bkr/server/tools/repo_update.py
index 1a78ae6..fd0dec9 100755
--- a/Server/bkr/server/tools/repo_update.py
+++ b/Server/bkr/server/tools/repo_update.py
@@ -35,7 +35,7 @@ def get_parser():
usage = "usage: %prog [options]"
parser = OptionParser(usage, description=__description__,version=__version__)
parser.add_option("--baseurl", "-b",
- default="http://beaker-project.org/yum/harness/",
+ default="https://beaker-project.org/yum/harness/",
help="This should be url location of the repos")
parser.add_option("--basepath", "-d",
default=None,
diff --git a/Server/setup.py b/Server/setup.py
index 3ec172f..c5f764c 100644
--- a/Server/setup.py
+++ b/Server/setup.py
@@ -186,7 +186,7 @@ else:
setup(
name='beaker-server',
namespace_packages = ['bkr'],
- version='26.1',
+ version='26.2',
description='Beaker scheduler and web interface',
long_description=
'Beaker is a system for full stack software integration testing '
diff --git a/beaker.spec b/beaker.spec
index 07d292a..3f71c52 100644
--- a/beaker.spec
+++ b/beaker.spec
@@ -14,10 +14,10 @@
# not representable in RPM. For example, a release candidate might be 0.15.0rc1
# but that is not usable for the RPM Version because it sorts higher than
# 0.15.0, so the RPM will have Version 0.15.0 and Release 0.rc1 in that case.
-%global upstream_version 26.1
+%global upstream_version 26.2
Name: beaker
-Version: 26.1
+Version: 26.2
Release: 1%{?dist}
Summary: Full-stack software and hardware integration testing system
Group: Applications/Internet
diff --git a/documentation/whats-new/release-26.rst b/documentation/whats-new/release-26.rst
index 9f41752..15780b4 100644
--- a/documentation/whats-new/release-26.rst
+++ b/documentation/whats-new/release-26.rst
@@ -162,3 +162,32 @@ Beaker 26.1
'RuntimeError: dictionary changed size during iteration' failure to appear
in the :program:`beaker-watchdog` logs.
(Contributed by Chris Beer)
+
+
+Beaker 26.2
+~~~~~~~~~~~
+* :issue:`1638258`: Fixed: ks_meta=manual adds "ignoredisk --interactive" to
+ the kickstart even if this is deprecated
+ (Contributed by Martin Styk)
+* :issue:`1644032`: Fixed: RESERVE_IF_FAIL always reserves all systems
+ (including PASSing ones) [rhel-8]
+ (Contributed by Martin Styk)
+* :issue:`1636550`: Fixed: s390x: add "--cdl" parameter to "clearpart"
+ kickstart command
+ (Contributed by Martin Styk)
+* :issue:`1652476`: Fixed: beaker-repo-update did not fetch harness for
+ distros
+ (Contributed by Martin Styk)
+* :issue:`1650337`: Updated internal test code to use new URL for dogfood jobs
+ (Contributed by Chris Beer)
+* :issue:`1657864`: Fixed: Beaker checkbugs failing after Bugzilla v5 upgrade
+ (Contributed by Chris Beer)
+* :issue:`1579161`: Added option dry-run to beaker-expire-distros
+ (Contributed by Martin Styk)
+* :issue:`1656272`: beaker-wizard: grammar improvements in the library skeleton
+ description
+ (Contributed by Martin Styk)
+* :issue:`1653339`: Documented bkr group-list default limit
+ (Contributed by Martin Styk)
+* :issue:`1652641`: Fixed: unable to add a task with binary database data
+ (Contributed by Martin Styk)