beaker-project / beaker Goto Github PK
View Code? Open in Web Editor NEWHardware integration testing system and lab automation for Fedora and RHEL
Home Page: http://beaker-project.org/
License: GNU General Public License v2.0
Hardware integration testing system and lab automation for Fedora and RHEL
Home Page: http://beaker-project.org/
License: GNU General Public License v2.0
Describe the bug
Beaker doesn't catch anaconda error in RHVH 4.4 when disk size is not big enough for creating thinp w/ autopart
Version-Release number
26.4
To Reproduce
Schedule RHVH4.4 on a machine with 20G
Actual behavior
Installation failed. No disk capacity error is shown
Expected behavior
Installation failed. Disk capacity is shown
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
This location does not have a client for Fedora 35:
Is your feature request related to a problem? Please describe.
We had a partner recently that was running into an issue setting up some repos and installing packages on a machine they had provisioned with DCI/Beaker. We traced the issue back to the beaker-tasks repo that is on the machine after Beaker is done. The partner ran a "yum clean all" and then attempted to perform some more yum commands, but ran into problems with the system not being able to get the repomd.xml for the beaker-tasks repo since it is deleted from the Beaker server from which it was served and the clean command removed the cache for it.
We understand removing the repo from the Beaker server makes sense, but our ask would be that the repo either be disabled by Beaker on the provisioned system or be skipped if it can't be found.
Actually,
I just noticed that they support black https://stickler-ci.com/docs#python.
Feel free to introduce it in our stickler CI, (you can find the configuration file in the root directory).
Please do not enable fixer=true. Users should fix their PRs instead of robots.
Originally posted by @StykMartin in #102 (comment)
Unsure why I started seeing these errors in the /var/log/beaker/server-errors.log file.
Doing the following fails. Which seems to be what Beaker is doing in the traceback below
/usr/share/bkr/server/assets# lessc style.less
ArgumentError: Error evaluating function `percentage`: argument must be a number in /usr/share/bkr/server/assets/bootstrap/less/variables.less on line 292, column 27:
291 // -------------------------
292 @fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
293 @fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
Saw this in the log file which led me to the above:
Nov 22 14:00:20 beaker beaker-server[33210]: 2022-11-22 14:00:20,284 bkr.server ERROR app.py:log_exception():L1423 Exception on /bkr/client/ [POST]
Nov 22 14:00:20 beaker beaker-server[33210]: Traceback (most recent call last):
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
Nov 22 14:00:20 beaker beaker-server[33210]: response = self.full_dispatch_request()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/flask/app.py", line 1470, in full_dispatch_request
Nov 22 14:00:20 beaker beaker-server[33210]: self.try_trigger_before_first_request_functions()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/flask/app.py", line 1497, in try_trigger_before_first_request_functions
Nov 22 14:00:20 beaker beaker-server[33210]: func()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/bkr/server/wsgi.py", line 120, in init
Nov 22 14:00:20 beaker beaker-server[33210]: assets.build_assets()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/bkr/server/assets.py", line 170, in build_assets
Nov 22 14:00:20 beaker beaker-server[33210]: bundle.build()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/bundle.py", line 567, in build
Nov 22 14:00:20 beaker beaker-server[33210]: disable_cache=disable_cache))
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/bundle.py", line 504, in _build
Nov 22 14:00:20 beaker beaker-server[33210]: force, disable_cache=disable_cache, extra_filters=extra_filters)
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/bundle.py", line 429, in _merge_and_apply
Nov 22 14:00:20 beaker beaker-server[33210]: kwargs=item_data)
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/merge.py", line 272, in apply
Nov 22 14:00:20 beaker beaker-server[33210]: return self._wrap_cache(key, func)
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/merge.py", line 219, in _wrap_cache
Nov 22 14:00:20 beaker beaker-server[33210]: content = func().getvalue()
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/merge.py", line 252, in func
Nov 22 14:00:20 beaker beaker-server[33210]: getattr(filter, type)(data, out, **kwargs_final)
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/filter/less.py", line 97, in input
Nov 22 14:00:20 beaker beaker-server[33210]: self.subprocess(args, out, in_)
Nov 22 14:00:20 beaker beaker-server[33210]: File "/usr/lib/python2.7/site-packages/webassets/filter/__init__.py", line 505, in subprocess
Nov 22 14:00:20 beaker beaker-server[33210]: proc.returncode, stdout, stderr))
Nov 22 14:00:20 beaker beaker-server[33210]: FilterError: less: subprocess returned a non-success result code: 1, stdout=, stderr=#033[31mArgumentError: Error evaluating function `percentage`: argument must be a number#033[39m#033[31m in #033[39mbootstrap/less/variables.less#033[90m on line 292, column 27:#033[39m
Nov 22 14:00:20 beaker beaker-server[33210]: #033[90m291 // -------------------------#033[39m
Nov 22 14:00:20 beaker beaker-server[33210]: 292 @fluidGridColumnWidth: #033[7m#033[31m#033[1mp#033[22mercentage(@gridColumnWidth/@gridRowWidth);#033[39m#033[27m
Nov 22 14:00:20 beaker beaker-server[33210]: #033[90m293 @fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);#033[39m#033[0m#033[0m
Beah is used for RHEL 5 up to RHEL 7.
Restraint is used for RHEL 8 + all Fedoras.
However, Beah is no longer developed nor supported. Last commit beaker-project/beah@3dd6d51. Almost 2 years ago.
Use Restraint as default harness across all supported distros.
At this point, Restraint is in really good shape and can be used in all available distributions - RHEL 5 up to Fedora Rawhide.
There will be still the option to run Beah, however, a user has to define harness
to be beah
.
There should be a client for Fedora 34 at: https://beaker-project.org/yum/client/
But there isn't ๐ญ
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
In case i would like to install the following on CentOSStream9
beaker-client
beaker-harness
Need to use the following repos
https://beaker-project.org/yum/beaker-client-Fedora.repo
https://beaker-project.org/yum/beaker-harness-Fedora.repo
Please refer
Describe the solution you'd like
https://beaker-project.org/yum/beaker-client-CentOSStream.repo
https://beaker-project.org/yum/beaker-harness-CentOSStream.repo
with the following rpms:
https://beaker-project.org/yum/client/CentOSStream
https://beaker-project.org/yum/harness/CentOSStream
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Fedora packages are installed as a w/a but no CentOS automotive upstream project will allow to refer
Fedora packages as a dependency to CS9
Additional context
you can refer this
https://gitlab.com/CentOS/automotive/sample-images
So the install_start watchdog appears to be set to 3 hours when the install starts. Which seems kind of long for the use cases I do.
Are installs really taking longer than 30 minutes?
The watchdog gets set to 3 hours when the install process tells the beaker lab controller that it is starting the install. So the install has started at that point.
The reason I am asking is we are sometimes seeing issues where our install finishes reboots and then something goes wrong in our firmware and it doesn't boot from the disk. So then it takes about 3 hours for the job to get aborted.
Looking at the watchdog flow it appears to be:
install_start code:
beaker/LabController/src/bkr/labcontroller/proxy.py
Lines 634 to 640 in 87a0f32
beaker/Server/bkr/server/recipes.py
Lines 217 to 235 in 87a0f32
Currently Beaker code in various places is using optparse.
optparse is deprecated in Python 2. And no longer exists in Python 3.
The replacement for optparse is argparse.
When doing a beaker-import it will overwrite any previously stored Install Options (Kickstart Metadata, Kernel Options, & Kernel Options Post) that may already be set for the distro.
This is problematic in environments where you may import a distro to one lab controller and then work to figure out the correct Install Options to use. Once that is done you then go to import the distro on other lab controllers and the Install Options get erased by default.
Describe the bug
We have a system_post
file defined in /etc/beaker/snippets
, but it does not seem to be used when provisioning systems.
It doesn't appear in our anaconda-ks.cfg files, and the tasks in system_post
are not executed when the installation is completed.
All other snippets appear to be used/executed correctly.
Beaker version: 28.2
To Reproduce
Steps to reproduce the behavior:
/etc/beaker/snippets
with the "snippets" directory found hereanaconda-ks.cfg
and original-ks.cfg
files in /root
and find that the system_post
snippet did not get added.fsdp_setup
folder is not present in /root
, even though that is the expected result of the system_post
tasks being run.Actual behavior
The anaconda-ks.cfg
and original-ks.cfg
files show that all snippets were used/pulled EXCEPT for the system_post
snippet.
Along with this, the fsdp_setup
directory/git repository expected to be created by the tasks in system_post
is not created, further supporting that this snippet is being ignored.
Expected behavior
We expect that the two files indicated above will show the contents of the system_post
snippet, showing that the anaconda kickstarter file did in fact use the system_post
snippet and execute it after installation.
In addition, we expect a directory called fsdp_setup
to be present in \root
, as this indicates the snippet is being executed.
Screenshots
Contents of anaconda-ks.cfg
:
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --disabled
firstboot --disable
ignoredisk --only-use=sda
# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=us --xlayouts=''
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --hostname=node-06.ofa.iol.unh.edu --activate
# Reboot after installation
reboot
repo --name="beaker-Server-HighAvailability" --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/HighAvailability --cost=100
repo --name="beaker-Server-ResilientStorage" --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/ResilientStorage --cost=100
repo --name="beaker-Server" --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/ --cost=100
repo --name="Server-HighAvailability" --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd//addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd//addons/ResilientStorage
# Use network installation
url --url="http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/"
# Root password
rootpw --iscrypted $1$yocb6JIG$ehIHzyAnTlqiCfm.jDx3f/
# SELinux configuration
selinux --enforcing
# System services
services --enabled="chronyd"
# Do not configure the X Window System
skipx
# System timezone
timezone America/New_York --ntpservers=gateway
# System bootloader configuration
bootloader --append="console=ttyS0,115200n8 crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
%pre --logfile=/dev/console
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server
fetch - http://beaker.ofa.iol.unh.edu:8000/install_start/278
if command -v python3 >/dev/null ; then
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
python_command="python3"
elif [ -f /usr/libexec/platform-python ] && \
/usr/libexec/platform-python --version 2>&1 | grep -q "Python 3" ; then
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
python_command="/usr/libexec/platform-python"
else
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon
python_command="python"
fi
$python_command /tmp/anamon --recipe-id 278 --xmlrpc-url 'http://beaker.ofa.iol.unh.edu:8000/RPC2'
# no snippet data for RedHatEnterpriseLinux7_pre
# no snippet data for RedHatEnterpriseLinux_pre
%end
%post --logfile=/dev/console
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server, let it know our hostname, and
# record our install time.
# We will try a number of different places to figure out the system's FQDN.
# In all cases we will only accept a real FQDN (no "localhost", and must have
# a domain portion). DNS is our preferred source, otherwise the installer
# should have stored a hostname in /etc based on the kickstart or DHCP info.
# As a last resort we will use the system's first IP address.
function find_fqdn() {
local fqdn=
# hostname -f is the most future-proof approach, but it isn't always reliable
fqdn=$(hostname -f)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Preferred fallback if the OS is recent enough to provide it
fqdn=$(cat /etc/hostname)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Red Hat-based systems prior to systemd will have this
fqdn=$(grep ^HOSTNAME= /etc/sysconfig/network | cut -f2- -d=)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Getting desperate... pick the first local IP address
ipaddr=$(hostname -i)
if [[ "$ipaddr" != "127.0.0.1" ]] ; then echo "$ipaddr" ; return ; fi
# Getting even more desperate (RHEL5 and earlier)
ip addr show | grep -v ' lo' | grep -Po '(?<=inet )[0-9.]+'
}
REPORTED_FQDN=$(find_fqdn)
fetch - "http://beaker.ofa.iol.unh.edu:8000/install_done/278/$REPORTED_FQDN"
fetch - http://beaker.ofa.iol.unh.edu:8000/nopxe/node-06.ofa.iol.unh.edu
echo 278 > /root/RECIPE.TXT
# If netboot_method= is found in /proc/cmdline record it to /root
netboot_method=$(grep -oP "(?<=netboot_method=)[^\s]+(?=)" /proc/cmdline)
if [ -n "$netboot_method" ]; then
echo $netboot_method >/root/NETBOOT_METHOD.TXT
fi
# Enable post-install boot notification
if command -v python3 >/dev/null ; then
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
elif [ -f /usr/libexec/platform-python ] && \
/usr/libexec/platform-python --version 2>&1 | grep -q "Python 3" ; then
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
sed -i 's/#!\/usr\/bin\/python3/#!\/usr\/libexec\/platform-python/' /usr/local/sbin/anamon
else
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon
fi
chmod 755 /usr/local/sbin/anamon
# OS without `initscripts` need to use systemd
if [ -e /etc/init.d/functions ]; then
fetch /etc/rc.d/init.d/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon.init
chmod 755 /etc/rc.d/init.d/anamon
if selinuxenabled &>/dev/null ; then
restorecon /etc/rc.d/init.d/anamon /usr/local/sbin/anamon
fi
chkconfig --add anamon
else
fetch /etc/systemd/system/anamon.service http://beaker.ofa.iol.unh.edu/beaker/anamon.service
systemctl enable anamon
fi
cat << __EOT__ > /etc/sysconfig/anamon
XMLRPC_URL="http://beaker.ofa.iol.unh.edu:8000/RPC2"
RECIPE_ID="278"
LOGFILES="/var/log/boot.log /var/log/messages /var/log/dmesg"
__EOT__
if [ -f /etc/sysconfig/readahead ] ; then
:
cat >>/etc/sysconfig/readahead <<EOF
# readahead conflicts with auditd, see bug 561486 for detailed explanation.
#
# Should a task need to change these settings, it must revert to this state
# when test is done.
READAHEAD_COLLECT="no"
READAHEAD_COLLECT_ON_RPM="no"
EOF
fi
systemctl disable systemd-readahead-collect.service
if [ -e /etc/sysconfig/ntpdate ] ; then
systemctl enable ntpdate.service
fi
if [ -e "/etc/sysconfig/ntpd" ]; then
systemctl enable ntpd.service
GOT_G=$(/bin/cat /etc/sysconfig/ntpd | grep -E '^OPTIONS' | grep '\-g')
if [ -z "$GOT_G" ]; then
/bin/sed -i -r 's/(^OPTIONS\s*=\s*)(['\''|"])(.+)$/\1\2\-x \3 /' /etc/sysconfig/ntpd
fi
fi
if [ -e /etc/chrony.conf ] ; then
cp /etc/chrony.conf{,.orig}
# use only DHCP-provided time servers, no default pool servers
sed -i '/^server /d' /etc/chrony.conf
cp /etc/sysconfig/network{,.orig}
# setting iburst should speed up initial sync
# https://bugzilla.redhat.com/show_bug.cgi?id=787042#c12
echo NTPSERVERARGS=iburst >>/etc/sysconfig/network
systemctl disable ntpd.service
systemctl disable ntpdate.service
systemctl enable chronyd.service
systemctl enable chrony-wait.service
fi
if efibootmgr &>/dev/null ; then
# grab the PXE IPv4 FlexibleLOM from the boot order
bootnum=$(efibootmgr | grep "Embedded FlexibleLOM 1 Port 1 : HPE Ethernet 1Gb 4-port 366FLR Adapter - NIC (PXE IPv4)")
# trim the actual boot order number from the value
bootnum=${bootnum:4:5}
bootnum=${bootnum:0:4}
# extract the bootnum out of the boot order and put it at the front:
boot_order=$(efibootmgr | awk '/BootOrder/ { print $2 }')
boot_order_test=${boot_order//$bootnum,}
#if boot device is at the end of the list,
if [ "$boot_order_test" = "$boot_order" ]; then
new_boot_order=${boot_order//$bootnum}
new_boot_order=${bootnum},${new_boot_order}
new_boot_order=${new_boot_order:: -1}
else # device is in middle or beginning of the list.
new_boot_order=${boot_order//$bootnum,}
new_boot_order=${bootnum},${new_boot_order}
fi
# Change the boot order to boot from network boot.
efibootmgr -o "$new_boot_order"
fi
#Add Task Repo
cat <<"EOF" >/etc/yum.repos.d/beaker-tasks.repo
[beaker-tasks]
name=beaker-tasks
baseurl=http://beaker.ofa.iol.unh.edu/repos/278
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
# Add Harness Repo
cat <<"EOF" >/etc/yum.repos.d/beaker-harness.repo
[beaker-harness]
name=beaker-harness
baseurl=http://beaker.ofa.iol.unh.edu/harness/RedHatEnterpriseLinux7/
enabled=1
gpgcheck=0
EOF
# Add distro and custom Repos
cat <<"EOF" >/etc/yum.repos.d/beaker-Server-HighAvailability.repo
[beaker-Server-HighAvailability]
name=beaker-Server-HighAvailability
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/HighAvailability
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
cat <<"EOF" >/etc/yum.repos.d/beaker-Server-ResilientStorage.repo
[beaker-Server-ResilientStorage]
name=beaker-Server-ResilientStorage
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/ResilientStorage
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
cat <<"EOF" >/etc/yum.repos.d/beaker-Server.repo
[beaker-Server]
name=beaker-Server
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
if command -v dnf >/dev/null ; then
package_command="dnf"
else
package_command="yum"
fi
# fill the yum cache and redirect output to /dev/null
# This speeds up yum because of a bug where it will update stdout too often.
# http://lists.baseurl.org/pipermail/yum-devel/2011-December/008857.html
$package_command check-update -y > /dev/null 2>&1 || true
cat <<"EOF" >/etc/profile.d/beaker-harness-env.sh
export BEAKER_LAB_CONTROLLER_URL="http://beaker.ofa.iol.unh.edu:8000/"
export BEAKER_LAB_CONTROLLER=beaker.ofa.iol.unh.edu
export BEAKER_RECIPE_ID=278
export BEAKER_HUB_URL="http://beaker.ofa.iol.unh.edu/bkr/"
EOF
cat <<"EOF" >/etc/profile.d/beaker-harness-env.csh
setenv BEAKER_LAB_CONTROLLER_URL "http://beaker.ofa.iol.unh.edu:8000/"
setenv BEAKER_LAB_CONTROLLER beaker.ofa.iol.unh.edu
setenv BEAKER_RECIPE_ID 278
setenv BEAKER_HUB_URL "http://beaker.ofa.iol.unh.edu/bkr/"
EOF
if command -v dnf >/dev/null ; then
package_command="dnf"
else
package_command="yum"
fi
$package_command -y install restraint-rhts
#Add test user account
useradd --password '$6$oIW3o2Mr$XbWZKaM7nA.cQqudfDJScupXOia5h1u517t6Htx/Q/MgXm82Pc/OcytatTeI4ULNWOMJzvpCigWiL4xKP9PX4.' test
cat <<"EOF" >/etc/profile.d/beaker.sh
export BEAKER="http://beaker.ofa.iol.unh.edu/bkr/"
export BEAKER_JOB_WHITEBOARD='Reserve Workflow provision of distro Red Hat Enterprise Linux 7.9 on a specific system for 1 hour'
export BEAKER_RECIPE_WHITEBOARD=''
EOF
cat <<"EOF" >/etc/profile.d/beaker.csh
setenv BEAKER "http://beaker.ofa.iol.unh.edu/bkr/"
setenv BEAKER_JOB_WHITEBOARD 'Reserve Workflow provision of distro Red Hat Enterprise Linux 7.9 on a specific system for 1 hour'
setenv BEAKER_RECIPE_WHITEBOARD ''
EOF
cat << EOF > /etc/profile.d/rh-env.sh
export LAB_CONTROLLER=beaker.ofa.iol.unh.edu
export DUMPSERVER=""
# Inside Red Hat, the NFSSERVERS variable points to mounts for each of the RHEL
# releases supported, so for example
# rhel5-nfs.blah.foo.bar.redhat.com:/export/home which would then have a
# a directory structure of <fqdn_of_test_machine>/ and in that directory
# would be freeform files that can be used in a test setting.
export NFSSERVERS=""
# The lookaside area is for non-release specific files to be downloaded.
# Generally, they are user space programs, scripts, or tests that are
# expected to work on any install and don't need a per-release area.
# All of the rdma-setup scripts are in this area inside the Red Hat cluster
export LOOKASIDE=http://builder-01.ofa.iol.unh.edu/lookaside
# This is the root directory for downloading build files. This is not
# like something we'll need inside the OFA cluster as we don't have internal,
# private builds like we do inside Red Hat
export BUILDURL=http://download.eng.bos.redhat.com
EOF
mkdir -p /root/.ssh
cat >>/root/.ssh/authorized_keys <<"__EOF__"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFePyDLPHQVSAxoET1gMpc6hIJ/lOPpSI8oJBtvkMJP5HH6SdmA6YWmyFyoO3MMlznAfs+4/7O5Zz3mPNIE21tOmFCH7ESEpR7fYnpkFXa9bVnFONJxFAlmJXhdQIqpMr1SR+h2b2LcGbYIAF6N6mnl+nJccoHnbUqIMafnMR0f54sN942MsPQ7tkmxQVty/8JaXiFfvappSjdFCYX8CyKtC3XXkVFMrAVrTn3Gu2Fwb415bmkIQ+bfzz1npcKz0Kg6Z3qWq5t8ALm/AFRGj+z1ln0kjRT5TNdxkeotNLdbpgouZhZMYu6/kAKSn0oCkUtUA++KFEG1OruAtonfuT3MtBykLaQq/KGfxDZWuclq9ciz+s/cnMuGXoCmsRcUv1GJ5mIxvJ9INg/3wJAyCXDOrThG3J+HTGJpdNwbOSKg4xMVhd2cqrVGGFyOpB0sur2xRy76rLmxHItQTPMnFsiYejAdJX7kKkzs0Nk95k4FSQpQPq9qekuEMXRP1QAlhk= [email protected]
__EOF__
restorecon -R /root/.ssh
chmod go-w /root /root/.ssh /root/.ssh/authorized_keys
# Disable rhts-compat for Fedora15/RHEL7 and newer.
cat >> /etc/profile.d/task-overrides-rhts.sh <<END
export RHTS_OPTION_COMPATIBLE=
export RHTS_OPTION_COMPAT_SERVICE=
END
# no snippet data for RedHatEnterpriseLinux7_post
# no snippet data for RedHatEnterpriseLinux_post
%end
%onerror
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
fetch - http://beaker.ofa.iol.unh.edu:8000/install_fail/278
sleep 10
%end
%post
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server, record our postinstall time.
fetch - http://beaker.ofa.iol.unh.edu:8000/postinstall_done/278
# Give anamon a chance to finish collecting logs.
sleep 10
%end
%packages --ignoremissing
atop
bash-completion
bonnie++
chrony
dbench
ftop
git-all
htop
ibutils
iftop
infiniband-diags
iotop
iperf3
iscsi-initiator-utils
kexec-tools
latencytop-tui
libcxgb4
libhfi1
libibverbs-utils
libmlx4
libmlx5
libpsm2
librdmacm-utils
netperf
nfs-utils
ntop
numatop
nuttcp
opa-address-resolution
opa-basic-tools
opa-ff
pciutils
perf
perftest
qperf
sockperf
srptools
tiotest
tiptop
uperf
vim-X11
vim-enhanced
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
Contents of original-ks.cfg
:
url --url=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/
text
# System bootloader configuration
bootloader --location=mbr --append="console=ttyS0,115200n8"
network --bootproto=dhcp --hostname=node-02.ofa.iol.unh.edu
repo --name=beaker-Server-HighAvailability --cost=100 --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/HighAvailability
repo --name=beaker-Server-ResilientStorage --cost=100 --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/ResilientStorage
repo --name=beaker-Server --cost=100 --baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
reboot
#Root password
rootpw --iscrypted $1$yocb6JIG$ehIHzyAnTlqiCfm.jDx3f/
# SELinux configuration
selinux --enforcing
timezone America/New_York
zerombr
clearpart --all --initlabel
autopart
# no snippet data for RedHatEnterpriseLinux7
# no snippet data for RedHatEnterpriseLinux
repo --name=epel --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=x86_64 --install --noverifyssl
%packages --ignoremissing
# Task requirements will be installed by the harness
# Generally useful OS tools
pciutils
nfs-utils
iscsi-initiator-utils
git-all
bash-completion
vim-X11
vim-enhanced
# Overall RDMA tools
libibverbs-utils
librdmacm-utils
infiniband-diags
ibutils
srptools
# Driver specific packages
libmlx4
libmlx5
libcxgb4
libhfi1
opa-ff
opa-address-resolution
opa-basic-tools
libpsm2
# Performance testers for RDMA
qperf
perftest
# Additional packages...not in base RHEL, requires EPEL to be enabled
perf
iperf3
uperf
sockperf
nuttcp
netperf
atop
ftop
htop
iftop
iotop
latencytop-tui
ntop
numatop
tiptop
bonnie++
dbench
tiotest
chrony
%end
%pre --log=/dev/console
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server
fetch - http://beaker.ofa.iol.unh.edu:8000/install_start/279
if command -v python3 >/dev/null ; then
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
python_command="python3"
elif [ -f /usr/libexec/platform-python ] && \
/usr/libexec/platform-python --version 2>&1 | grep -q "Python 3" ; then
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
python_command="/usr/libexec/platform-python"
else
fetch /tmp/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon
python_command="python"
fi
$python_command /tmp/anamon --recipe-id 279 --xmlrpc-url 'http://beaker.ofa.iol.unh.edu:8000/RPC2'
# no snippet data for RedHatEnterpriseLinux7_pre
# no snippet data for RedHatEnterpriseLinux_pre
%end
%post --log=/dev/console
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server, let it know our hostname, and
# record our install time.
# We will try a number of different places to figure out the system's FQDN.
# In all cases we will only accept a real FQDN (no "localhost", and must have
# a domain portion). DNS is our preferred source, otherwise the installer
# should have stored a hostname in /etc based on the kickstart or DHCP info.
# As a last resort we will use the system's first IP address.
function find_fqdn() {
local fqdn=
# hostname -f is the most future-proof approach, but it isn't always reliable
fqdn=$(hostname -f)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Preferred fallback if the OS is recent enough to provide it
fqdn=$(cat /etc/hostname)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Red Hat-based systems prior to systemd will have this
fqdn=$(grep ^HOSTNAME= /etc/sysconfig/network | cut -f2- -d=)
if [[ "$fqdn" == *.* && "$fqdn" != localhost.* ]] ; then echo "$fqdn" ; return ; fi
# Getting desperate... pick the first local IP address
ipaddr=$(hostname -i)
if [[ "$ipaddr" != "127.0.0.1" ]] ; then echo "$ipaddr" ; return ; fi
# Getting even more desperate (RHEL5 and earlier)
ip addr show | grep -v ' lo' | grep -Po '(?<=inet )[0-9.]+'
}
REPORTED_FQDN=$(find_fqdn)
fetch - "http://beaker.ofa.iol.unh.edu:8000/install_done/279/$REPORTED_FQDN"
fetch - http://beaker.ofa.iol.unh.edu:8000/nopxe/node-02.ofa.iol.unh.edu
echo 279 > /root/RECIPE.TXT
# If netboot_method= is found in /proc/cmdline record it to /root
netboot_method=$(grep -oP "(?<=netboot_method=)[^\s]+(?=)" /proc/cmdline)
if [ -n "$netboot_method" ]; then
echo $netboot_method >/root/NETBOOT_METHOD.TXT
fi
# Enable post-install boot notification
if command -v python3 >/dev/null ; then
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
elif [ -f /usr/libexec/platform-python ] && \
/usr/libexec/platform-python --version 2>&1 | grep -q "Python 3" ; then
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon3
sed -i 's/#!\/usr\/bin\/python3/#!\/usr\/libexec\/platform-python/' /usr/local/sbin/anamon
else
fetch /usr/local/sbin/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon
fi
chmod 755 /usr/local/sbin/anamon
# OS without `initscripts` need to use systemd
if [ -e /etc/init.d/functions ]; then
fetch /etc/rc.d/init.d/anamon http://beaker.ofa.iol.unh.edu/beaker/anamon.init
chmod 755 /etc/rc.d/init.d/anamon
if selinuxenabled &>/dev/null ; then
restorecon /etc/rc.d/init.d/anamon /usr/local/sbin/anamon
fi
chkconfig --add anamon
else
fetch /etc/systemd/system/anamon.service http://beaker.ofa.iol.unh.edu/beaker/anamon.service
systemctl enable anamon
fi
cat << __EOT__ > /etc/sysconfig/anamon
XMLRPC_URL="http://beaker.ofa.iol.unh.edu:8000/RPC2"
RECIPE_ID="279"
LOGFILES="/var/log/boot.log /var/log/messages /var/log/dmesg"
__EOT__
if [ -f /etc/sysconfig/readahead ] ; then
:
cat >>/etc/sysconfig/readahead <<EOF
# readahead conflicts with auditd, see bug 561486 for detailed explanation.
#
# Should a task need to change these settings, it must revert to this state
# when test is done.
READAHEAD_COLLECT="no"
READAHEAD_COLLECT_ON_RPM="no"
EOF
fi
systemctl disable systemd-readahead-collect.service
if [ -e /etc/sysconfig/ntpdate ] ; then
systemctl enable ntpdate.service
fi
if [ -e "/etc/sysconfig/ntpd" ]; then
systemctl enable ntpd.service
GOT_G=$(/bin/cat /etc/sysconfig/ntpd | grep -E '^OPTIONS' | grep '\-g')
if [ -z "$GOT_G" ]; then
/bin/sed -i -r 's/(^OPTIONS\s*=\s*)(['\''|"])(.+)$/\1\2\-x \3 /' /etc/sysconfig/ntpd
fi
fi
if [ -e /etc/chrony.conf ] ; then
cp /etc/chrony.conf{,.orig}
# use only DHCP-provided time servers, no default pool servers
sed -i '/^server /d' /etc/chrony.conf
cp /etc/sysconfig/network{,.orig}
# setting iburst should speed up initial sync
# https://bugzilla.redhat.com/show_bug.cgi?id=787042#c12
echo NTPSERVERARGS=iburst >>/etc/sysconfig/network
systemctl disable ntpd.service
systemctl disable ntpdate.service
systemctl enable chronyd.service
systemctl enable chrony-wait.service
fi
if efibootmgr &>/dev/null ; then
# grab the PXE IPv4 FlexibleLOM from the boot order
bootnum=$(efibootmgr | grep "Embedded FlexibleLOM 1 Port 1 : HPE Ethernet 1Gb 4-port 366FLR Adapter - NIC (PXE IPv4)")
# trim the actual boot order number from the value
bootnum=${bootnum:4:5}
bootnum=${bootnum:0:4}
# extract the bootnum out of the boot order and put it at the front:
boot_order=$(efibootmgr | awk '/BootOrder/ { print $2 }')
boot_order_test=${boot_order//$bootnum,}
#if boot device is at the end of the list,
if [ "$boot_order_test" = "$boot_order" ]; then
new_boot_order=${boot_order//$bootnum}
new_boot_order=${bootnum},${new_boot_order}
new_boot_order=${new_boot_order:: -1}
else # device is in middle or beginning of the list.
new_boot_order=${boot_order//$bootnum,}
new_boot_order=${bootnum},${new_boot_order}
fi
# Change the boot order to boot from network boot.
efibootmgr -o "$new_boot_order"
fi
#Add Task Repo
cat <<"EOF" >/etc/yum.repos.d/beaker-tasks.repo
[beaker-tasks]
name=beaker-tasks
baseurl=http://beaker.ofa.iol.unh.edu/repos/279
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
# Add Harness Repo
cat <<"EOF" >/etc/yum.repos.d/beaker-harness.repo
[beaker-harness]
name=beaker-harness
baseurl=http://beaker.ofa.iol.unh.edu/harness/RedHatEnterpriseLinux7/
enabled=1
gpgcheck=0
EOF
# Add distro and custom Repos
cat <<"EOF" >/etc/yum.repos.d/beaker-Server-HighAvailability.repo
[beaker-Server-HighAvailability]
name=beaker-Server-HighAvailability
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/HighAvailability
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
cat <<"EOF" >/etc/yum.repos.d/beaker-Server-ResilientStorage.repo
[beaker-Server-ResilientStorage]
name=beaker-Server-ResilientStorage
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/addons/ResilientStorage
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
cat <<"EOF" >/etc/yum.repos.d/beaker-Server.repo
[beaker-Server]
name=beaker-Server
baseurl=http://beaker.ofa.iol.unh.edu/distros/rhel-server-7.9-x86_64-dvd/
enabled=1
gpgcheck=0
skip_if_unavailable=1
EOF
if command -v dnf >/dev/null ; then
package_command="dnf"
else
package_command="yum"
fi
# fill the yum cache and redirect output to /dev/null
# This speeds up yum because of a bug where it will update stdout too often.
# http://lists.baseurl.org/pipermail/yum-devel/2011-December/008857.html
$package_command check-update -y > /dev/null 2>&1 || true
cat <<"EOF" >/etc/profile.d/beaker-harness-env.sh
export BEAKER_LAB_CONTROLLER_URL="http://beaker.ofa.iol.unh.edu:8000/"
export BEAKER_LAB_CONTROLLER=beaker.ofa.iol.unh.edu
export BEAKER_RECIPE_ID=279
export BEAKER_HUB_URL="http://beaker.ofa.iol.unh.edu/bkr/"
EOF
cat <<"EOF" >/etc/profile.d/beaker-harness-env.csh
setenv BEAKER_LAB_CONTROLLER_URL "http://beaker.ofa.iol.unh.edu:8000/"
setenv BEAKER_LAB_CONTROLLER beaker.ofa.iol.unh.edu
setenv BEAKER_RECIPE_ID 279
setenv BEAKER_HUB_URL "http://beaker.ofa.iol.unh.edu/bkr/"
EOF
if command -v dnf >/dev/null ; then
package_command="dnf"
else
package_command="yum"
fi
$package_command -y install restraint-rhts
#Add test user account
useradd --password '$6$oIW3o2Mr$XbWZKaM7nA.cQqudfDJScupXOia5h1u517t6Htx/Q/MgXm82Pc/OcytatTeI4ULNWOMJzvpCigWiL4xKP9PX4.' test
cat <<"EOF" >/etc/profile.d/beaker.sh
export BEAKER="http://beaker.ofa.iol.unh.edu/bkr/"
export BEAKER_JOB_WHITEBOARD='Reserve Workflow provision of distro Red Hat Enterprise Linux 7.9 on a specific system for 3600 seconds'
export BEAKER_RECIPE_WHITEBOARD=''
EOF
cat <<"EOF" >/etc/profile.d/beaker.csh
setenv BEAKER "http://beaker.ofa.iol.unh.edu/bkr/"
setenv BEAKER_JOB_WHITEBOARD 'Reserve Workflow provision of distro Red Hat Enterprise Linux 7.9 on a specific system for 3600 seconds'
setenv BEAKER_RECIPE_WHITEBOARD ''
EOF
cat << EOF > /etc/profile.d/rh-env.sh
export LAB_CONTROLLER=beaker.ofa.iol.unh.edu
export DUMPSERVER=""
# Inside Red Hat, the NFSSERVERS variable points to mounts for each of the RHEL
# releases supported, so for example
# rhel5-nfs.blah.foo.bar.redhat.com:/export/home which would then have a
# a directory structure of <fqdn_of_test_machine>/ and in that directory
# would be freeform files that can be used in a test setting.
export NFSSERVERS=""
# The lookaside area is for non-release specific files to be downloaded.
# Generally, they are user space programs, scripts, or tests that are
# expected to work on any install and don't need a per-release area.
# All of the rdma-setup scripts are in this area inside the Red Hat cluster
export LOOKASIDE=http://builder-01.ofa.iol.unh.edu/lookaside
# This is the root directory for downloading build files. This is not
# like something we'll need inside the OFA cluster as we don't have internal,
# private builds like we do inside Red Hat
export BUILDURL=http://download.eng.bos.redhat.com
EOF
mkdir -p /root/.ssh
cat >>/root/.ssh/authorized_keys <<"__EOF__"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFePyDLPHQVSAxoET1gMpc6hIJ/lOPpSI8oJBtvkMJP5HH6SdmA6YWmyFyoO3MMlznAfs+4/7O5Zz3mPNIE21tOmFCH7ESEpR7fYnpkFXa9bVnFONJxFAlmJXhdQIqpMr1SR+h2b2LcGbYIAF6N6mnl+nJccoHnbUqIMafnMR0f54sN942MsPQ7tkmxQVty/8JaXiFfvappSjdFCYX8CyKtC3XXkVFMrAVrTn3Gu2Fwb415bmkIQ+bfzz1npcKz0Kg6Z3qWq5t8ALm/AFRGj+z1ln0kjRT5TNdxkeotNLdbpgouZhZMYu6/kAKSn0oCkUtUA++KFEG1OruAtonfuT3MtBykLaQq/KGfxDZWuclq9ciz+s/cnMuGXoCmsRcUv1GJ5mIxvJ9INg/3wJAyCXDOrThG3J+HTGJpdNwbOSKg4xMVhd2cqrVGGFyOpB0sur2xRy76rLmxHItQTPMnFsiYejAdJX7kKkzs0Nk95k4FSQpQPq9qekuEMXRP1QAlhk= [email protected]
__EOF__
restorecon -R /root/.ssh
chmod go-w /root /root/.ssh /root/.ssh/authorized_keys
# Disable rhts-compat for Fedora15/RHEL7 and newer.
cat >> /etc/profile.d/task-overrides-rhts.sh <<END
export RHTS_OPTION_COMPATIBLE=
export RHTS_OPTION_COMPAT_SERVICE=
END
# no snippet data for RedHatEnterpriseLinux7_post
# no snippet data for RedHatEnterpriseLinux_post
%end
%onerror
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
fetch - http://beaker.ofa.iol.unh.edu:8000/install_fail/279
sleep 10
%end
%post
set -x
# Some distros have curl in their minimal install set, others have wget.
# We define a wrapper function around the best available implementation
# so that the rest of the script can use that for making HTTP requests.
if command -v curl >/dev/null ; then
# Older curl versions lack --retry
if curl --help 2>&1 | grep -q .*--retry ; then
function fetch() {
curl -L --retry 20 --remote-time -o "$1" "$2"
}
else
function fetch() {
curl -L --remote-time -o "$1" "$2"
}
fi
elif command -v wget >/dev/null ; then
# In Anaconda images wget is actually busybox
if wget --help 2>&1 | grep -q BusyBox ; then
function fetch() {
wget -O "$1" "$2"
}
else
function fetch() {
wget --tries 20 -O "$1" "$2"
}
fi
else
echo "No HTTP client command available!"
function fetch() {
false
}
fi
# Check in with Beaker Server, record our postinstall time.
fetch - http://beaker.ofa.iol.unh.edu:8000/postinstall_done/279
# Give anamon a chance to finish collecting logs.
sleep 10
%end
Additional context
You may need to remove the snippet at ../snippets/per_osmajor/system/RedHatEnterpriseLinux7
, as it causes a gpg check to fail and thus a test harness never gets pulled. You can still log into the machine and check the files regardless, but check-install
will never run, thus, telling you that the install never completed. Either way, the results I describe above will be the same.
Move all necessary CI parts and workflow to GitHub.
Describe the bug
During maintenance we tried to remove all distributions from Lab Controller so we can replace all distros with new location. Execution of beaker-expire-distros --remove-all
failed with the following error:
All distros are missing! Please check your server!
Version-Release number
27.4
To Reproduce
Run beaker-expire-distros --remove-all
Actual behavior
Error occurs
Expected behavior
All distro_trees are removed from given Lab Controller
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Describe the bug
This was initially reported on https://bugzilla.redhat.com/show_bug.cgi?id=1623729
In case there is kernel oops during provision this oops is marked as a kernel panic in the last beaker task. This causes confusion to understand why that task is shown as panic.
Version-Release number
28.2
To Reproduce
Steps to reproduce the behavior:
Actual behavior
Last task show as panic
Expected behavior
Last task shouldn't show as panic
The python-qpid
package was retired after being orphan for a long time.
Beaker server package has it as a dependency.
Describe the bug
result="New" status="Completed" is reported for tasks that are finished but didn't provide any result. If there's no result provided it should be considered as "misconfiguration" and "Warn" result should be set.
Version-Release number
28.2
To Reproduce
Steps to reproduce the behavior:
Actual behavior
result="New" status="Completed" is reported
Expected behavior
result="Warn" status="Completed" is reported
Additional context
I think that this behaviour was implemented in past in beah.
Restraint checks for the return code of the test executed and if it's non-zero then result="Warn" status="Aborted" is set.
The issue with the "New" result is that it's sometimes available also in other cases when the status is "Completed" but the result is not yet updated, so any kind of automation has to wait for both status="Complete" (or "Aborted") and result being something else than "New" to consider the task as really finished and be able to get the real result. If the "New" result stays, the automation has no way to know if the result will change in future or if it will stay as reported in this issue.
Also this may be a restraint bug which could be also resolved by restraint reporting the result first and then letting the Beaker know that the status should be "Complete", but I haven't checked the restraint code nor the API for task updates and if it's even possible to do it in this order.
FC37 has been released ๐, but the Beaker client and harness don't have repos for it at https://beaker-project.org/yum/client/ and https://beaker-project.org/yum/harness/:
This is a similar issue as #146.
@StykMartin would that be something you could look into, or can we sent a PR somewhere to fix it?
At some point in the past, when looking at individual machines that have a status of Automated, we had both the "Take" and "Borrow" options available to us:
But now, we only have the "Borrow" option, at which point we can then "Take" the machine once we've already borrowed it.
If we switch the machine to have a status of "Manual", we can only Take the machine.
We aren't sure if this is a change as of Beaker 28.2; we've played around with many different access policies and none of them seem to solve the issue.
Describe the bug
Beaker jobs that are executed on a multilib system fail to complete (see issue #163). The reason is that the installation of restraint-rhts fails due to file conflicts in the multilib (i686, x86_64) packages, and subsequent jobs that should be run after system installation aren't run and finally the job fails with a warning after the watchdog expires.
Beside a proper fix consisting of removing the file conflicts in restraint-rhts package, a simple workaround would be to specify architecture of the restraint-rhts package to be installed, in a similar way to a workaround implemented in our automated graphical installations testing tool, Anabot:
$package_command -y install restraint-rhts.$(uname -m)
instead of just $package_command -y install restraint-rhts
Version-Release number
restraint-rhts-0.4.0-1
To Reproduce
Steps to reproduce the behavior:
Actual behavior
The job fails with a warning after the watchdog times out, due to a failure to install restraint-rths.
Expected behavior
The job finishes without issues, restraint-rhts is installed within kickstart %post script.
There is not a version of the restraint harness for Fedora 31 available at https://beaker-project.org/yum/harness/, but we want to run tests with Fedora 31.
Without this harness, running tasks like reservesys
result in the job incorrectly reporting failures/not notifying users that their machine is reserved, even if the OS installed correctly, etc.
Even though Fedora 31 is a bit older, is there a version of restraint suitable for it? If so, where can we find it?
Describe the bug
When using bkr job-submit --combine
to combine several jobs into a single job, the "group" tag in the job XMLs to be combined is omitted.
Version-Release number
beaker-client-28.3-3.fc37.noarch
beaker-common-28.3-3.fc37.noarch
To Reproduce
Steps to reproduce the behavior:
group="some-group-in-beaker"
):<job retention_tag="120days" group="some-group-in-beaker">
<whiteboard>example job xml</whiteboard>
<recipeSet priority="Normal">
<recipe whiteboard="BaseOS" ks_meta="harness='restraint-rhts beakerlib-redhat' disable_repo_CRB disable_repo_CRB-debuginfo">
<distroRequires>
<and>
<distro_name op="=" value="RHEL-9.0.0"/>
<distro_variant op="=" value="BaseOS"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires/>
<repos/>
<partitions/>
<watchdog panic="ignore"/>
<task name="/distribution/reservesys" role="None">
<params>
<param name="RESERVETIME" value="604800"/>
</params>
<rpm name="test(/distribution/reservesys)" path="/mnt/tests/distribution/reservesys"/>
</task>
</recipe>
</recipeSet>
</job>
a.xml
and b.xml
bkr job-submit --combine --xml --dry-run a.xml b.xml
Actual behavior
Only retention_tag
is kept, but group="some-group-in-beaker"
doesn't present in the resulting XML:
<job retention_tag="120days"><whiteboard>example job xml</whiteboard><recipeSet priority="Normal">
<recipe whiteboard="BaseOS" ks_meta="harness='restraint-rhts beakerlib-redhat' disable_repo_CRB disable_repo_CRB-debuginfo">
...
</recipe>
</recipeSet><recipeSet priority="Normal">
<recipe whiteboard="BaseOS" ks_meta="harness='restraint-rhts beakerlib-redhat' disable_repo_CRB disable_repo_CRB-debuginfo">
...
</recipe>
</recipeSet></job>
Expected behavior
group="some-group-in-beaker"
doesn't get omitted in the resulting XML, for example:
<job retention_tag="120days" group="some-group-in-beaker"><whiteboard>example job xml</whiteboard><recipeSet priority="Normal">
<recipe whiteboard="BaseOS" ks_meta="harness='restraint-rhts beakerlib-redhat' disable_repo_CRB disable_repo_CRB-debuginfo">
...
</recipe>
</recipeSet><recipeSet priority="Normal">
<recipe whiteboard="BaseOS" ks_meta="harness='restraint-rhts beakerlib-redhat' disable_repo_CRB disable_repo_CRB-debuginfo">
...
</recipe>
</recipeSet></job>
Screenshots
Additional context
Is your feature request related to a problem? Please describe.
Learning about bkr watchdog-extend
I wanted to know whether the command will adjust only external watchdog or both external.
But I could not tell neither from the manpage nor from --help
Describe the solution you'd like
--help
and/or manpage should mention the fact that this command adjusts external watchdog only.
Describe alternatives you've considered
I asked on redhat-internal #beaker
and got answer from @jbastian in few hours. ;-)
When importing RHEL 8.5 using beaker-import
it fails to add the AppStream
and BaseOS
repos. This causes the install of restraint
to fail as there are no repos available to download the required make
package.
Description of problem:
When installing Fedora-Rawhide (future Fedora 34) in Beaker, the following warnings are printed by the installer:
[ 9.574010] dracut-cmdline[299]: Warning: 'ks='
[ 9.584962] dracut-cmdline[299]: Warning: ks has been deprecated and will be removed. Please use inst.ks instead.
[ 9.596929] dracut-cmdline[299]: Warning: 'ksdevice=00:00:1A:1B:0B:8C'
[ 9.604937] dracut-cmdline[299]: Warning: ksdevice has been deprecated and will be removed. Please use inst.ks.device instead.
[ 9.637034] dracut-cmdline[299]: Warning: 'ksdevice=' is deprecated. Supplied BOOTIF takes precedence.
...
Boot argument 'leavebootorder' is deprecated and will be removed in the future. Please use 'inst.leavebootorder' instead.
...
Fedora change page:
https://fedoraproject.org/wiki/Changes/Ignore_Anaconda_kernel_boot_parameters_without_inst_prefix
Please, use the proper kernel command line arguments with the "inst." prefix instead of the deprecated arguments.
Boot arguments without the "inst." prefix are marked as deprecated since RHEL-7:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/chap-anaconda-boot-options#sect-boot-options-deprecated-removed
Version-Release number of selected component (if applicable):
Beaker 27.4
The Beaker download page https://beaker-project.org/download.html provides a fedora.repo file, but no packages exist for Fedora 36 (yet):
$ sudo dnf install beaker-redhat
Beaker Client - Fedora36 541 B/s | 237 B 00:00
Errors during downloading metadata for repository 'beaker-client':
- Status code: 404 for https://beaker-project.org/yum/client/Fedora36/repodata/repomd.xml (IP: 8.43.85.221)
Error: Failed to download metadata for repo 'beaker-client': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
I tried setting up the beaker in my local and faced issues with git sub modules getting timed out and the bootstrap version which was used in this project is not in active development and fresh install threw so many less errors(undefined variables and mixins).
Allow Harness to send a request to Beaker to power cycle the box.
Currently, this is supported via XML-RPC. The same thing should be possible via HTTP resource.
Describe the bug
When a job contains a lot of reported results (7500), it can't be retrieved via cmdline, bkr job-results returns a non-descriptive ISE 500 traceback:
Traceback (most recent call last):
File "/usr/bin/bkr", line 11, in
load_entry_point('beaker-client==28.2', 'console_scripts', 'bkr')()
File "/usr/lib/python3.6/site-packages/bkr/client/main.py", line 113, in main
return cmd.run(*cmd_args, **cmd_opts.dict)
File "/usr/lib/python3.6/site-packages/bkr/client/commands/cmd_job_results.py", line 124, in run
myxml = self.hub.taskactions.to_xml(task, False, True, include_logs)
File "/usr/lib64/python3.6/xmlrpc/client.py", line 1112, in call
return self.__send(self.__name, args)
File "/usr/lib64/python3.6/xmlrpc/client.py", line 1452, in __request
verbose=self.__verbose
File "/usr/lib/python3.6/site-packages/bkr/common/xmlrpc3.py", line 470, in request
result = transport_class.request(self, *args, **kwargs)
File "/usr/lib64/python3.6/xmlrpc/client.py", line 1154, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python3.6/site-packages/bkr/common/xmlrpc3.py", line 405, in single_request
response.msg)
xmlrpc.client.ProtocolError: <ProtocolError for beaker.engineering.redhat.com/client/: 500 Internal error>
Version-Release number
Beaker 28.2
To Reproduce
Schedule a job that reports more than 7500 results
Actual behavior
ISE 500 traceback from bkr client, WebUI loads, albeit slowly.
Expected behavior
Beaker should give users a descriptive error instructing them what went wrong and how to fix it (not an ISE 500), do so consistently (same behavior when using webui and api) and ideally do it in a timely manner and abort cleanly when limits are reached.
Is your feature request related to a problem? Please describe.
Importing the Fedora 36 and RHEL 9 distros works fine and they appear in beaker but provisioning with them always fails because it couldn't find the repo containing harness packages for the distro.
Describe the solution you'd like
It would be nice if there were officially supported harness packages for these distros in the beaker-project.org/yum/harness repository so that you can simply run beaker-repo-update
and import them automatically. It says in the docs that you can point it at the harness-testing repo to get harness packages that are release candidates instead but neither Fedora 36 or RHEL 9 are in there currently. Fedora 36 has been out for a little while now and 37 is on the way so it would be nice to be able to use them in future provisioning to test on newer distros.
Describe alternatives you've considered
It seems like you could substitute in another http hosted repository when using the beaker-repo-update
command with the -b
flag but this is undesirable as it depends on whoever may be hosting the repository to maintain it.
Describe the bug
You need a beefy instance for reproducing this issue. Anyway, if you have a huge pool of machines + a lot of excluded OS(s) on them then export will end up with 500 status code.
500 is returned because the worker is killed by the system due to OOM even when we have 1.5 G allocated for this operation.
When I was running this I was able to peak to almost 3G.
Version-Release number
latest
To Reproduce
Do system export in production
Actual behavior
500 - Error
Expected behavior
CSV export
When running the command:
bkr distro-trees-list --format=json does not return ks_meta or kernel_options_post
It does not return the ks_meta
or kernel_options_post
values. It does return kernel_options
though.
At this moment it is not possible to create a new RPM build for CentOS Stream 9.
Build is failing in early stage with following error:
DEBUG util.py:444: No matching package to install: 'python3-mock'
DEBUG util.py:444: No matching package to install: 'python3-nose'
It is necessary to investigate why packages are not available and what we will do next.
Any chance we can link to this repo on the Develop page? Also, would it be possible to set up a redirect from git.beaker-project.org
? Thanks!
I try to reserve a bare metal machine by adding the following to the job xml,but get unwanted message:
WARNING: job xml validation failed: Element hostRequires has extra content: hypervisor, line 8,
and due to a bug[1] in asyncio,most of my autotest beaker jobs failed,would you please omit that warning?
<hostRequires>
<hypervisor op="=" value=""/>
<device_description op="=" value="UEFI"/>
<arch op="=" value="x86_64"/>
<key_value key="DISKSPACE" op=">" value="50G"/>
<system_type value="Machine"/>
</hostRequires>
This is a "quality of life" improvement. At the moment Beaker uses session cookies. So when you close your browser the cookie disappears and then you need to login again the next time you go to the server.
Suggest changing this to a persistent cookie so that the cookie's expiration will match the expiration specified in "visit.timeout" in the beaker server.cfg file.
Describe the bug
grubport snippet modifies /boot/efi/EFI/redhat/grub.cfg. Modification is necessary on EFI system with older distros like RHEL7 and RHEL8. However since Fedora 34 and CentOS Stream 9, the file should not be modified as it becomes a step stone to the unified grub.cfg, i.e. /boot/grub2/grub.cfg.
To Reproduce
Steps to reproduce the behavior:
Actual behavior
/boot/efi/EFI/redhat/grub.cfg contains actual boot entries or 'blscfg'.
Expected behavior
/boot/efi/EFI/redhat/grub.cfg should look something like this:
search --no-floppy --set prefix --file /boot/grub2/grub.cfg
set prefix=($prefix)/boot/grub2
configfile $prefix/grub.cfg
Additional context
About unified grub.cfg setup
https://fedoraproject.org/wiki/Changes/UnifyGrubConfig
DESCRIPTION
The systems on my company are scanned for security vulnerabilities and beaker has been triggered vulnerable to CVE-2020-11022 and CVE-2020-11023 associated with multiple XSS on jquery.
Port: 443/tcp
Severity: Medium
Summary: The remote web server is affected by multiple cross site scripting vulnerability.
Details: According to the self-reported version in the script, the version of JQuery hosted on the remote web server is greater than or equal to 1.2 and prior to 3.5.0. It is, therefore, affected by multiple cross site scripting vulnerabilities. Note, the vulnerabilities referenced in this plugin have no security impact on PAN-OS, and/or the scenarios required for successful exploitation do not exist on devices running a PAN-OS release.
Fix: Upgrade to JQuery version 3.5.0 or later.
Extra info:
URL : https://<beaker.fqdn>/static/javascript/jquery-2.0.2.min.js
Installed version : 2.0.2
Fixed version : 3.5.0
VERSION-RELEASE NUMBER
On the customer portal (https://access.redhat.com/solutions/32036) Red Hat said that jquery is not maintained on RHEL-7, thus the solution pages suggests that users should fetch the jquery files from other packages of the RHEL-7 repos and maintain it on their own. This seems to be the case for Beaker, since jquery-2.0.2.min.js comes from the Beaker server package:
[root@<fqdn> javascript]# rpm -qf /usr/share/bkr/server/static/javascript/jquery-2.0.2.min.js
beaker-server-28.2-1.el7.noarch
ACTUAL BEHAVIOR
Beaker vulnerable to XSS.
EXPECTED BEHAVIOR
Beaker should not be vulnerable to XSS.
ADDITIONAL CONTEXT
At first, I gave it a try on patching our forked beaker to use jquery-3.5.1.min.js file (fetched from java-latest-openjdk-javadoc-18.0.1.0.10-2.rolling.el7 rpm) instead of the jquery-2.0.2.min.js and by also changing the widgets.py file:
--- a/Server/bkr/server/widgets.py
+++ b/Server/bkr/server/widgets.py
@@ -155,7 +155,7 @@ def update_params(self, d):
d['urls'] = [url(u) for u in bundle.urls()]
-jquery = LocalJSLink('bkr', '/static/javascript/jquery-2.0.2.min.js',
+jquery = LocalJSLink('bkr', '/static/javascript/jquery-3.5.1.min.js',
order=1) # needs to come after MochiKit
beaker_js = LocalJSBundleLink('js', order=5)
beaker_css = LocalCSSBundleLink('css')
The Beaker server and services started normally, but I noticed that the top bar of the interface does not work anymore -> instead of being forwarded to something like https://<beaker.fqdn>/jobs the UI gets stuck,on https://<beaker.fqdn>/# . Other than this, basic stuff seems fine and I was able to edit options and even provision a system through a job.
Since the last commit on this topic ( b5e7c42 ) also updated jquery-ui, I gave it a try by also fetching jquery-ui-1.11.2.min.js from phpMyAdmin-4.4.15.10-6.el7 rpm and updating the widgets.py file accordingly.
I am attaching both patches I tried on this venture. Also, this is how I was finding the js files:
[root@<fqdn> ~]# yum whatprovides *jquery-ui*.min.js | grep Filename
Filename : /usr/share/RackTables/static/js/jquery-ui-1.8.21.min.js
Filename : /usr/lib/python2.7/site-packages/reviewboard/static/lib/js/jquery-ui-1.8.24.custom.min.js
Filename : /usr/lib/python2.7/site-packages/reviewboard/htdocs/static/lib/js/jquery-ui-1.8.24.custom.min.js
Filename : /usr/share/bkr/server/static/javascript/jquery-ui-1.9.2.min.js
...
Where are the jquery and jquery-ui files on the beaker server rpm fetched from? Are they different from their original version? Not much of a js expert here :-P
Thanks in advance for any help on this :-)
0023-beaker-updating-jquery-min-js-to-fix-multiple-XSS-vu.v1.patch.txt
0023-beaker-updating-jquery-min-js-to-fix-multiple-XSS-vu.v2.patch.txt
Is your feature request related to a problem? Please describe.
Hi all, I'm part of virt team at RH and we provide machines to the virt team with Beaker, using both automatic and manual. I'm not sure if this is the proper place and/or this is something that is already implemented, but we haven't found a nice solution yet, So, for us, would be nice to have better visibility of our loans to avoid having idle machines in someone's held. An automatic user notification, to check if we can get back the machines (even when using the manual) would be nice. With more control about the notification system (message, when, ignore flags, etc..).
Describe the solution you'd like
We are thinking about creating some kind of command-line wrapper/client to beaker to get some information and act on. Not sure if the "key,value" feature was designed to that, but we thought that we could use this to store some information (like tags) and get this via HTTP API. Looking to the project documentation we haven't found ways to see/change the 'key, value' information. Is that possible today? Or to be implemented?
Describe alternatives you've considered
Would also be nice to have more control over the loan on the web interface (for instance: how long do you intend to use this machine?)
Thanks in advance
Hi,
There are loan-return and loan-grant commands,would you please provide a load-request command,
so that my team's autotest service could send load request to specific server automatically?
Thanks,
Lili
Describe the bug
Integration tests are failing during full run on a single node.
Version-Release number
Latest in development. However, I was able to reproduce it on stable.
To Reproduce
Run dogfood.
Actual behavior
======================================================================
ERROR: test_by_date_added (bkr.inttest.server.selenium.test_system_search.Search)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/bkr/inttest/server/selenium/test_system_search.py", line 287, in test_by_date_added
check_system_search_results(b, present=[new_system], absent=[old_system])
File "/usr/lib/python2.7/site-packages/bkr/inttest/server/webdriver_utils.py", line 122, in check_system_search_results
'.//td[1]/a/text()="%s"]' % system.fqdn)
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 290, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 744, in find_element
{'using': by, 'value': value})['value']
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//table[@id=\"widget\" and .//td[1]/a/text()=\"system7269.Search.test.by.date.added\"]"}
Stacktrace:
at FirefoxDriver.prototype.findElementInternal_ (file:///tmp/tmpFfTSB6/extensions/[email protected]/components/driver-component.js:10770)
at fxdriver.Timer.prototype.setTimeout/<.notify (file:///tmp/tmpFfTSB6/extensions/[email protected]/components/driver-component.js:625)
-------------------- >> begin captured logging << --------------------
2020-06-23 13:37:03,364 bkr.server.tests.data_setup DEBUG Created user user7259
2020-06-23 13:37:03,377 bkr.server.model.activity DEBUG Tentative GroupActivity: object_id=2L, service=u'testdata', field=u'User', action=u'Added', old=None, new=u'host/lab7260.testdata.invalid', user=None
2020-06-23 13:37:03,390 bkr.server.tests.data_setup DEBUG Created user user7261
2020-06-23 13:37:03,401 bkr.server.model.inventory DEBUG Idle system system7262.Search.test.by.date.added changed lab controller, flagging it for scheduling
2020-06-23 13:37:03,402 bkr.server.model.inventory DEBUG system7262.Search.test.by.date.added status changed from symbol('NEVER_SET') to SystemStatus.automated
2020-06-23 13:37:03,425 bkr.server.tests.data_setup DEBUG Created system system7262.Search.test.by.date.added
2020-06-23 13:37:03,425 bkr.server.model.inventory DEBUG Idle system system7262.Search.test.by.date.added changed loan status, flagging it for scheduling
2020-06-23 13:37:03,428 bkr.server.model.activity DEBUG Tentative GroupActivity: object_id=2L, service=u'testdata', field=u'User', action=u'Added', old=None, new=u'host/lab7264.testdata.invalid', user=None
2020-06-23 13:37:03,443 bkr.server.tests.data_setup DEBUG Created user user7265
2020-06-23 13:37:03,453 bkr.server.model.inventory DEBUG Idle system system7266.Search.test.by.date.added changed lab controller, flagging it for scheduling
2020-06-23 13:37:03,453 bkr.server.model.inventory DEBUG system7266.Search.test.by.date.added status changed from symbol('NEVER_SET') to SystemStatus.automated
2020-06-23 13:37:03,473 bkr.server.tests.data_setup DEBUG Created system system7266.Search.test.by.date.added
2020-06-23 13:37:03,473 bkr.server.model.inventory DEBUG Idle system system7266.Search.test.by.date.added changed loan status, flagging it for scheduling
2020-06-23 13:37:05,544 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session {"desiredCapabilities": {"platform": "ANY", "browserName": "firefox", "version": "", "marionette": false, "javascriptEnabled": true}}
2020-06-23 13:37:05,703 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:05,704 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/timeouts/implicit_wait {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "ms": 15000.0}
2020-06-23 13:37:05,768 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:05,769 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/window/current/position {"y": 0, "x": 0, "windowHandle": "current", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:05,793 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:05,794 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/window/current/size {"width": 1920, "windowHandle": "current", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "height": 1200}
2020-06-23 13:37:05,820 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:05,821 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:05,861 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:05,861 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"url": "http://slave-08.columbia.lab.eng.brq.redhat.com/bkr/", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:06,620 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:06,621 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "link text", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "Log in"}
2020-06-23 13:37:06,753 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:06,753 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{95ce3ef0-0548-4741-98f5-fa2b1ae912b0}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{95ce3ef0-0548-4741-98f5-fa2b1ae912b0}"}
2020-06-23 13:37:06,849 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:06,850 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "user_name"}
2020-06-23 13:37:07,004 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,004 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{62402f6f-ed63-42cf-a746-c35907c5c9a4}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{62402f6f-ed63-42cf-a746-c35907c5c9a4}"}
2020-06-23 13:37:07,082 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,083 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "user_name"}
2020-06-23 13:37:07,099 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,099 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{62402f6f-ed63-42cf-a746-c35907c5c9a4}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{62402f6f-ed63-42cf-a746-c35907c5c9a4}", "value": ["u", "s", "e", "r", "7", "2", "5", "9"]}
2020-06-23 13:37:07,146 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,146 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "password"}
2020-06-23 13:37:07,154 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,155 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{bf6aae24-035a-4b51-8713-9d61a0dffe0c}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{bf6aae24-035a-4b51-8713-9d61a0dffe0c}"}
2020-06-23 13:37:07,224 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,225 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "password"}
2020-06-23 13:37:07,240 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,241 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{bf6aae24-035a-4b51-8713-9d61a0dffe0c}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{bf6aae24-035a-4b51-8713-9d61a0dffe0c}", "value": ["p", "a", "s", "s", "w", "o", "r", "d"]}
2020-06-23 13:37:07,337 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,337 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "login"}
2020-06-23 13:37:07,358 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:07,359 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{dfff7e98-88e8-485b-82e9-1907f285eafb}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{dfff7e98-88e8-485b-82e9-1907f285eafb}"}
2020-06-23 13:37:08,230 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:08,240 bkr.server.tests.data_setup DEBUG Created user user7268
2020-06-23 13:37:08,252 bkr.server.model.inventory DEBUG system7269.Search.test.by.date.added status changed from None to SystemStatus.manual
2020-06-23 13:37:08,275 bkr.server.tests.data_setup DEBUG Created system system7269.Search.test.by.date.added
2020-06-23 13:37:08,279 bkr.server.tests.data_setup DEBUG Created user user7271
2020-06-23 13:37:08,288 bkr.server.model.inventory DEBUG system7272.Search.test.by.date.added status changed from None to SystemStatus.manual
2020-06-23 13:37:08,312 bkr.server.tests.data_setup DEBUG Created system system7272.Search.test.by.date.added
2020-06-23 13:37:08,327 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"url": "http://slave-08.columbia.lab.eng.brq.redhat.com/bkr/", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:09,094 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,095 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "link text", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "Show Search Options"}
2020-06-23 13:37:09,209 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,209 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{7f73d1b1-e7a9-4492-8ee3-d18eb51a719a}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{7f73d1b1-e7a9-4492-8ee3-d18eb51a719a}"}
2020-06-23 13:37:09,343 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,344 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:09,354 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,855 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:09,915 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,915 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.table"}
2020-06-23 13:37:09,923 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,923 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}"}
2020-06-23 13:37:09,928 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,929 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}"}
2020-06-23 13:37:09,934 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,934 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{fc249dc1-afe4-4bd5-9853-a2b2e0b63e8a}", "value": ".//option[normalize-space(.) = \"System/Added\"]"}
2020-06-23 13:37:09,945 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,946 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{077d0aed-e2c5-406d-9c5a-1f4e83b23c53}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{077d0aed-e2c5-406d-9c5a-1f4e83b23c53}"}
2020-06-23 13:37:09,950 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:09,951 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{077d0aed-e2c5-406d-9c5a-1f4e83b23c53}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{077d0aed-e2c5-406d-9c5a-1f4e83b23c53}"}
2020-06-23 13:37:10,116 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,117 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.operation"}
2020-06-23 13:37:10,125 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,126 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}"}
2020-06-23 13:37:10,130 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,130 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}"}
2020-06-23 13:37:10,135 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,135 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{028c0bb7-b8f9-4ee0-83ec-2ba044b84808}", "value": ".//option[normalize-space(.) = \"is\"]"}
2020-06-23 13:37:10,147 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,147 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{74e4499d-160d-496c-a99f-df0ce3a8b824}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{74e4499d-160d-496c-a99f-df0ce3a8b824}"}
2020-06-23 13:37:10,152 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,152 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{74e4499d-160d-496c-a99f-df0ce3a8b824}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{74e4499d-160d-496c-a99f-df0ce3a8b824}"}
2020-06-23 13:37:10,296 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,297 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:10,304 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,304 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{2486c6c6-c23a-4522-a865-98e02f0c786e}/clear {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{2486c6c6-c23a-4522-a865-98e02f0c786e}"}
2020-06-23 13:37:10,380 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,380 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:10,389 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,390 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{2486c6c6-c23a-4522-a865-98e02f0c786e}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{2486c6c6-c23a-4522-a865-98e02f0c786e}", "value": ["2", "0", "0", "1", "-", "0", "1", "-", "1", "5"]}
2020-06-23 13:37:10,614 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,615 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "id", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "searchform"}
2020-06-23 13:37:10,622 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:10,623 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f0518abb-9ca9-4d6a-9491-26aa434c4f4a}/submit {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f0518abb-9ca9-4d6a-9491-26aa434c4f4a}"}
2020-06-23 13:37:11,366 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:11,366 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and not(.//td[1]/a/text()=\"system7269.Search.test.by.date.added\")]"}
2020-06-23 13:37:11,389 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:11,389 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and .//td[1]/a/text()=\"system7272.Search.test.by.date.added\"]"}
2020-06-23 13:37:11,398 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:11,398 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"url": "http://slave-08.columbia.lab.eng.brq.redhat.com/bkr/", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:12,119 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,119 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "link text", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "Show Search Options"}
2020-06-23 13:37:12,223 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,223 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{91072d13-9875-4845-bbd4-423dc92a9cd6}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{91072d13-9875-4845-bbd4-423dc92a9cd6}"}
2020-06-23 13:37:12,335 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,336 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:12,369 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,870 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:12,908 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,909 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.table"}
2020-06-23 13:37:12,917 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,918 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{5a145809-1b5b-46c2-829f-76ed123b1a34}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{5a145809-1b5b-46c2-829f-76ed123b1a34}"}
2020-06-23 13:37:12,924 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,924 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{5a145809-1b5b-46c2-829f-76ed123b1a34}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{5a145809-1b5b-46c2-829f-76ed123b1a34}"}
2020-06-23 13:37:12,932 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,933 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{5a145809-1b5b-46c2-829f-76ed123b1a34}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{5a145809-1b5b-46c2-829f-76ed123b1a34}", "value": ".//option[normalize-space(.) = \"System/Added\"]"}
2020-06-23 13:37:12,943 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,943 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{25e5f1db-2168-48c5-b120-8a21faaa5e8e}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{25e5f1db-2168-48c5-b120-8a21faaa5e8e}"}
2020-06-23 13:37:12,949 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:12,949 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{25e5f1db-2168-48c5-b120-8a21faaa5e8e}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{25e5f1db-2168-48c5-b120-8a21faaa5e8e}"}
2020-06-23 13:37:13,113 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,113 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.operation"}
2020-06-23 13:37:13,121 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,121 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}"}
2020-06-23 13:37:13,126 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,126 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}"}
2020-06-23 13:37:13,131 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,131 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{229b45f6-6ad0-44c7-bd04-8ba9c48305ee}", "value": ".//option[normalize-space(.) = \"before\"]"}
2020-06-23 13:37:13,140 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,140 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{8f4c4dfd-05d7-4cad-a186-9e48ff0104d2}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{8f4c4dfd-05d7-4cad-a186-9e48ff0104d2}"}
2020-06-23 13:37:13,145 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,145 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{8f4c4dfd-05d7-4cad-a186-9e48ff0104d2}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{8f4c4dfd-05d7-4cad-a186-9e48ff0104d2}"}
2020-06-23 13:37:13,323 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,323 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:13,331 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,331 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f3b41064-3db7-46e0-ad00-b06e27b00b68}/clear {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f3b41064-3db7-46e0-ad00-b06e27b00b68}"}
2020-06-23 13:37:13,405 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,406 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:13,417 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,418 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f3b41064-3db7-46e0-ad00-b06e27b00b68}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f3b41064-3db7-46e0-ad00-b06e27b00b68}", "value": ["2", "0", "0", "1", "-", "0", "1", "-", "1", "6"]}
2020-06-23 13:37:13,625 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,625 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "id", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "searchform"}
2020-06-23 13:37:13,632 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:13,633 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{300f3fa4-2008-47c2-8666-a6d1d07e0dd4}/submit {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{300f3fa4-2008-47c2-8666-a6d1d07e0dd4}"}
2020-06-23 13:37:14,436 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:14,437 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and not(.//td[1]/a/text()=\"system7269.Search.test.by.date.added\")]"}
2020-06-23 13:37:14,474 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:14,475 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and .//td[1]/a/text()=\"system7272.Search.test.by.date.added\"]"}
2020-06-23 13:37:14,487 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:14,488 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"url": "http://slave-08.columbia.lab.eng.brq.redhat.com/bkr/", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:15,367 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:15,367 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "link text", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "Show Search Options"}
2020-06-23 13:37:15,503 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:15,503 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f8096435-ab22-46bd-8d90-5aee44234caa}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f8096435-ab22-46bd-8d90-5aee44234caa}"}
2020-06-23 13:37:15,647 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:15,647 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:15,662 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,164 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:16,221 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,221 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.table"}
2020-06-23 13:37:16,231 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,232 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{89dea461-9590-4f4e-bc36-a3a8b870b72b}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{89dea461-9590-4f4e-bc36-a3a8b870b72b}"}
2020-06-23 13:37:16,240 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,240 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{89dea461-9590-4f4e-bc36-a3a8b870b72b}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{89dea461-9590-4f4e-bc36-a3a8b870b72b}"}
2020-06-23 13:37:16,245 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,246 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{89dea461-9590-4f4e-bc36-a3a8b870b72b}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{89dea461-9590-4f4e-bc36-a3a8b870b72b}", "value": ".//option[normalize-space(.) = \"System/Added\"]"}
2020-06-23 13:37:16,258 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,258 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{ed98aaf4-c0d4-4223-b4b1-81e67e2faf68}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{ed98aaf4-c0d4-4223-b4b1-81e67e2faf68}"}
2020-06-23 13:37:16,265 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,266 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{ed98aaf4-c0d4-4223-b4b1-81e67e2faf68}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{ed98aaf4-c0d4-4223-b4b1-81e67e2faf68}"}
2020-06-23 13:37:16,454 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,455 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.operation"}
2020-06-23 13:37:16,469 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,469 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}"}
2020-06-23 13:37:16,475 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,475 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}"}
2020-06-23 13:37:16,481 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,481 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{e2c0d25b-28d2-488c-b3d8-72b6df886c9d}", "value": ".//option[normalize-space(.) = \"after\"]"}
2020-06-23 13:37:16,492 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,492 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{b865d5d2-1a9c-41a6-9575-6e47cb2910ed}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{b865d5d2-1a9c-41a6-9575-6e47cb2910ed}"}
2020-06-23 13:37:16,497 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,498 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:16,504 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,504 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{d80bde5a-e5f9-4b17-8d25-8e74a255e326}/clear {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{d80bde5a-e5f9-4b17-8d25-8e74a255e326}"}
2020-06-23 13:37:16,590 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,590 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:16,602 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,602 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{d80bde5a-e5f9-4b17-8d25-8e74a255e326}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{d80bde5a-e5f9-4b17-8d25-8e74a255e326}", "value": ["2", "0", "2", "0", "-", "1", "2", "-", "3", "1"]}
2020-06-23 13:37:16,831 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,832 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "id", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "searchform"}
2020-06-23 13:37:16,838 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:16,839 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{030fb281-c1fa-49af-a8cf-610c3a9d6a67}/submit {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{030fb281-c1fa-49af-a8cf-610c3a9d6a67}"}
2020-06-23 13:37:17,578 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:17,579 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and not(.//td)]"}
2020-06-23 13:37:17,600 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:17,601 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/url {"url": "http://slave-08.columbia.lab.eng.brq.redhat.com/bkr/", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932"}
2020-06-23 13:37:18,369 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:18,369 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "link text", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "Show Search Options"}
2020-06-23 13:37:18,463 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:18,464 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{226219ff-96d1-407e-828a-dcb88ed39d9c}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{226219ff-96d1-407e-828a-dcb88ed39d9c}"}
2020-06-23 13:37:18,576 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:18,577 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:18,605 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,106 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/execute {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "args": [], "script": "return jQuery(\"#searchform\").is(\":animated\")"}
2020-06-23 13:37:19,152 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,152 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.table"}
2020-06-23 13:37:19,164 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,164 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{d21adb38-5450-4736-b875-f4c3f1987408}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{d21adb38-5450-4736-b875-f4c3f1987408}"}
2020-06-23 13:37:19,171 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,172 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{d21adb38-5450-4736-b875-f4c3f1987408}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{d21adb38-5450-4736-b875-f4c3f1987408}"}
2020-06-23 13:37:19,178 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,179 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{d21adb38-5450-4736-b875-f4c3f1987408}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{d21adb38-5450-4736-b875-f4c3f1987408}", "value": ".//option[normalize-space(.) = \"System/Added\"]"}
2020-06-23 13:37:19,199 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,199 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f05c89a4-d6b2-422a-8222-8a1e7a8f8fb8}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f05c89a4-d6b2-422a-8222-8a1e7a8f8fb8}"}
2020-06-23 13:37:19,207 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,207 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{f05c89a4-d6b2-422a-8222-8a1e7a8f8fb8}/click {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{f05c89a4-d6b2-422a-8222-8a1e7a8f8fb8}"}
2020-06-23 13:37:19,372 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,372 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.operation"}
2020-06-23 13:37:19,383 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,383 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{8fe73fbe-31f7-4784-a49d-4399498555b8}/name {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{8fe73fbe-31f7-4784-a49d-4399498555b8}"}
2020-06-23 13:37:19,390 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,390 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{8fe73fbe-31f7-4784-a49d-4399498555b8}/attribute/multiple {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "name": "multiple", "id": "{8fe73fbe-31f7-4784-a49d-4399498555b8}"}
2020-06-23 13:37:19,400 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,401 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{8fe73fbe-31f7-4784-a49d-4399498555b8}/elements {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{8fe73fbe-31f7-4784-a49d-4399498555b8}", "value": ".//option[normalize-space(.) = \"after\"]"}
2020-06-23 13:37:19,414 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,415 selenium.webdriver.remote.remote_connection DEBUG GET http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{0098e5e5-b4fd-400d-bad4-703dd843460a}/selected {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{0098e5e5-b4fd-400d-bad4-703dd843460a}"}
2020-06-23 13:37:19,421 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,421 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:19,430 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,430 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{6077c799-4831-4051-945b-a25d178dcbaa}/clear {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{6077c799-4831-4051-945b-a25d178dcbaa}"}
2020-06-23 13:37:19,528 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,529 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "name", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "systemsearch-0.value"}
2020-06-23 13:37:19,537 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,538 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{6077c799-4831-4051-945b-a25d178dcbaa}/value {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{6077c799-4831-4051-945b-a25d178dcbaa}", "value": ["2", "0", "2", "0", "-", "0", "6", "-", "2", "0"]}
2020-06-23 13:37:19,796 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,797 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "id", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "searchform"}
2020-06-23 13:37:19,803 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:19,804 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element/{4fc58354-e668-4e7c-908a-aabdc55caa6d}/submit {"sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "id": "{4fc58354-e668-4e7c-908a-aabdc55caa6d}"}
2020-06-23 13:37:20,692 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:20,692 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and not(.//td[1]/a/text()=\"system7272.Search.test.by.date.added\")]"}
2020-06-23 13:37:20,706 selenium.webdriver.remote.remote_connection DEBUG Finished Request
2020-06-23 13:37:20,706 selenium.webdriver.remote.remote_connection DEBUG POST http://127.0.0.1:57609/hub/session/dcb0b267-e20e-4b84-b4bf-d342ffdf9932/element {"using": "xpath", "sessionId": "dcb0b267-e20e-4b84-b4bf-d342ffdf9932", "value": "//table[@id=\"widget\" and .//td[1]/a/text()=\"system7269.Search.test.by.date.added\"]"}
2020-06-23 13:37:35,766 selenium.webdriver.remote.remote_connection DEBUG Finished Request
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 2270 tests in 7811.159s
FAILED (SKIP=18, errors=1)
5468.35user 751.70system 2:10:14elapsed 79%CPU (0avgtext+0avgdata 682248maxresident)k
70016inputs+25532872outputs (153major+128993488minor)pagefaults 0swaps
Expected behavior
All good.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Describe the bug
Beaker Architecture documentation is missing instructions to prepare beaker release.
Version-Release number
To Reproduce
Steps to reproduce the behavior:
Actual behavior
No Doc exists
Expected behavior
Beaker Release doc should exist.
Screenshots
N/A
Additional context
N/A
I try to reserve a 'SAS' server with "bkr workflow-simple --arch=x86_64 --distro=Fedora-Rawhide-20200607.n.0 Server --hostrequire devices_driver=SAS --task=/distribution/check-install --task=/distribution/reservesys",but find
that beaker reserve a kvm host,I think beaker should fail the job or queue reservation on a 'SAS' server when there is no available 'SAS' server.
I try to clone the job with web,get the same result.
I've changed the value to 'SATA',it works as there is available 'SATA' server.
Is your feature request related to a problem? Please describe.
OpenFabrics is planning to use Beaker to automated RDMA kernel testing and to provide a dev/test/debug cluster for the OpenFabrics members.
As SUSE is interested in taking part in this, we would need Beaker to support other distros then RH based.
SUSE would obviously contribute for the autoyast part.
Describe the solution you'd like
Be able to deploy non RH-based distributions using Beaker
DESCRIPTION
The systems on my company are scanned for security vulnerabilities and the beaker-proxy service is hanging with one GET request made by the vulnerability tool.
After the GET request searching for an specific vulnerability is received, all beaker jobs get stuck in a Waiting or Updating stage and don't move forward. Restarting beaker-proxy and beaker-watchdog services does not get Beaker unstuck - only thing that works is literally restarting everything on the Beaker Controllers and Beaker Server!
Stack trace on the beaker-proxy.log suggests the failure is on the UTF-8 decodification of this GET request that contains a 0x80 byte
...
Jun 20 07:45:13 <hostname> beaker-proxy: ::ffff:<IP OF VULN. SCANNER> - - [2022-06-20 07:45:13] "GET .\.\.\.\.\.\.\.\.\.\/winnt/win.ini HTTP/1.1" 404 342 0.000217
Jun 20 07:45:13 <hostname> beaker-proxy: ::ffff:<IP OF VULN. SCANNER> - - [2022-06-20 07:45:13] "GET /nessus\..\..\..\..\..\..\windows\win.ini HTTP/1.1" 404 342 0.000257
Jun 20 07:45:14 <hostname> beaker-proxy: ::ffff:<IP OF VULN. SCANNER> - - [2022-06-20 07:45:14] "GET /nessus\..\..\..\..\..\..\winnt\win.ini HTTP/1.1" 404 342 0.000303
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: bkr.labcontroller.main ERROR Error handling request GET /<80>../<80>../<80>../<80>../<80>../<80>../windows/win.ini
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: Traceback (most recent call last):
Jun 20 07:45:14 <hostname> beaker-proxy: Traceback (most recent call last):
Jun 20 07:45:14 <hostname> beaker-proxy: File "/usr/lib64/python2.7/site-packages/gevent/pywsgi.py", line 884, in handle_one_response
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/bkr/labcontroller/main.py", line 169, in _log_failed_requests
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: return func(environ, start_response)
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/werkzeug/wrappers.py", line 285, in application
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: return f(*args[:-2] + (request,))(*args[-2:])
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/bkr/labcontroller/main.py", line 133, in __call__
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: if req.path in ('/', '/RPC2', '/server'):
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/werkzeug/utils.py", line 71, in __get__
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: value = self.func(obj)
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/werkzeug/wrappers.py", line 503, in path
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: self.charset, self.encoding_errors)
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib/python2.7/site-packages/werkzeug/_compat.py", line 92, in wsgi_decoding_dance
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: return s.decode(charset)
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: return codecs.utf_8_decode(input, errors, True)
Jun 20 07:45:14 <hostname> beaker-proxy[12587]: UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 1: invalid start byte
...
VERSION-RELEASE-NUMBER
[root@ beaker]# rpm -qa | grep beaker-lab
beaker-lab-controller-28.2-1.el7.noarch
REPRODUCE
Still trying to figure out a python or shell script to reproduce the stack trace. Trying something like this:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import codecs
import requests
url = "https://<fqdn>/\x81../\x80../\x80../\x80../\x80../\x80../windows/win.ini HTTP/1.1"
x = requests.get( codecs.encode(url, encoding='utf-8', errors='strict') )
print(x.status_code)
print(x.text)
But still haven't quite been able to reproduce it.
ACTUAL BEHAVIOR
The beaker-proxy service hangs, and thus all beaker jobs hang - reboot of everything is necessary.
EXPECTED BEHAVIOR
No hang on anything - just a 404 error should be returned with no stack trace on the logs.
ADITIONAL CONTEXT
Code that fails:
[root@<fqdn> ~]# rpm -qf /usr/lib64/python2.7/encodings/utf_8.py
python-libs-2.7.5-90.el7.x86_64
[root@<fqdn> beaker]# cat /usr/lib64/python2.7/encodings/utf_8.py
""" Python 'utf-8' Codec
Written by Marc-Andre Lemburg ([email protected]).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
"""
import codecs
### Codec APIs
encode = codecs.utf_8_encode
def decode(input, errors='strict'):
return codecs.utf_8_decode(input, errors, True)
...
Maybe the GET request need to be further sanitized somewhere prior to trying to decode it?
Thanks in advance for any help on this issue :-)
Describe the bug
restraint-rhts fails to install on a multilib system due to file conflicts in x86_64 and i686 packages (excerpt from Anaconda's program.log):
12:24:56,833 INF program: + dnf -y install restraint-rhts 12:24:56,833 INF program: Updating Subscription Management repositories. 12:24:56,833 INF program: Unable to read consumer identity 12:24:56,833 INF program: 12:24:56,834 INF program: This system is not registered with an entitlement server. You can use subscription-manager to register. 12:24:56,834 INF program: 12:24:56,834 INF program: Last metadata expiration check: 0:00:10 ago on Tue Sep 6 08:24:32 2022. 12:24:56,834 INF program: Dependencies resolved. 12:24:56,834 INF program: ================================================================================ 12:24:56,834 INF program: Package Architecture Version Repository Size 12:24:56,834 INF program: ================================================================================ 12:24:56,835 INF program: Installing: 12:24:56,835 INF program: restraint-rhts i686 0.4.0-1.el9 beaker-harness 28 k 12:24:56,835 INF program: restraint-rhts x86_64 0.4.0-1.el9 beaker-harness 27 k 12:24:56,835 INF program: Installing dependencies: 12:24:56,835 INF program: make x86_64 1:4.3-7.el9 beaker-BaseOS 542 k 12:24:56,835 INF program: restraint i686 0.4.0-1.el9 beaker-harness 3.9 M 12:24:56,836 INF program: restraint x86_64 0.4.0-1.el9 beaker-harness 3.8 M 12:24:56,836 INF program: 12:24:56,836 INF program: Transaction Summary 12:24:56,836 INF program: ================================================================================ 12:24:56,836 INF program: Install 5 Packages 12:24:56,836 INF program: 12:24:56,836 INF program: Total download size: 8.3 M 12:24:56,837 INF program: Installed size: 33 M 12:24:56,837 INF program: Downloading Packages: 12:24:56,837 INF program: (1/5): make-4.3-7.el9.x86_64.rpm 11 MB/s | 542 kB 00:00 12:24:56,837 INF program: (2/5): restraint-rhts-0.4.0-1.el9.i686.rpm 39 kB/s | 28 kB 00:00 12:24:56,837 INF program: (3/5): restraint-rhts-0.4.0-1.el9.x86_64.rpm 39 kB/s | 27 kB 00:00 12:24:56,837 INF program: (4/5): restraint-0.4.0-1.el9.i686.rpm 388 kB/s | 3.9 MB 00:10 12:24:56,837 INF program: (5/5): restraint-0.4.0-1.el9.x86_64.rpm 300 kB/s | 3.8 MB 00:13 12:24:56,838 INF program: -------------------------------------------------------------------------------- 12:24:56,838 INF program: Total 649 kB/s | 8.3 MB 00:13 12:24:56,838 INF program: Running transaction check 12:24:56,838 INF program: Transaction check succeeded. 12:24:56,838 INF program: Running transaction test 12:24:56,838 INF program: The downloaded packages were saved in cache until the next successful transaction. 12:24:56,838 INF program: You can remove cached packages by executing 'dnf clean packages'. 12:24:56,839 INF program: Error: Transaction test error: 12:24:56,839 INF program: file /usr/share/selinux/packages/restraint/restraint.pp conflicts between attempted installs of restraint-0.4.0-1.el9.i686 and restraint-0.4.0-1.el9.x86_64 12:24:56,839 INF program: file /usr/share/selinux/packages/restraint/rhts.pp conflicts between attempted installs of restraint-rhts-0.4.0-1.el9.x86_64 and restraint-rhts-0.4.0-1.el9.i686
Please refer to RH Beaker job #6966531 for additional details.
Version-Release number
restraint-rhts-0.4.0-1
To Reproduce
Steps to reproduce the behavior:
Either:
inst.multilib
on kernel command line, orActual behavior
RHEL installation fails due to conflicting files in multilib packages.
Expected behavior
No file conflicts, system installation is successful.
The system-modify command can not modify any power settings. This requires the user to modify the settings in the GUI instead.
As a note the system-create command does allow the user to set these values.
Is your feature request related to a problem? Please describe.
At this moment it is not possible to deploy Beaker in environment without x86_64 machines.
Beaker itself is completely noarch
product, however, we use dependencies that can be found only on particular architectures.
For example syslinux
. This package is packaged only to x86-64
RHEL 7.
We should get rid of dependencies like this to enable the user to install Beaker.
If dependencies enable simpler onboarding then we should mark them as prerequisites for a given environment (e.g. install syslinux on x86-64).
Describe the solution you'd like
I can install Beaker on top of PPC64.
Describe the bug
When kerberos authentication is attempted, an exception is thrown:
Traceback (most recent call last):
File "/usr/bin/bkr", line 33, in <module>
sys.exit(load_entry_point('beaker-client==28.0', 'console_scripts', 'bkr')())
File "/usr/lib/python3.9/site-packages/bkr/client/main.py", line 113, in main
return cmd.run(*cmd_args, **cmd_opts.__dict__)
File "/usr/lib/python3.9/site-packages/bkr/client/commands/cmd_whoami.py", line 57, in run
self.set_hub(**kwargs)
File "/usr/lib/python3.9/site-packages/bkr/client/__init__.py", line 84, in set_hub
self.container.set_hub(username, password, auto_login=self.requires_login,
File "/usr/lib/python3.9/site-packages/bkr/client/command.py", line 328, in set_hub
self.hub = HubProxy(conf=self.conf, auto_login=auto_login)
File "/usr/lib/python3.9/site-packages/bkr/common/hub.py", line 87, in __init__
self._login()
File "/usr/lib/python3.9/site-packages/bkr/common/hub.py", line 114, in _login
login_method()
File "/usr/lib/python3.9/site-packages/bkr/common/hub.py", line 206, in _login_krbv
req_enc = base64.encodestring(res.token)
AttributeError: module 'base64' has no attribute 'encodestring'
Version-Release number
28
To Reproduce
Steps to reproduce the behavior:
kinit
bkr
to connect to the desired hubbkr whoami
Actual behavior
Kerberos connection doesn't work.
Expected behavior
Kerberos connection should succeed and the command should complete successfully.
Additional context
base64 module of Python 3.9 doesn't support encodestring
method. It should use encodebytes
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.