New: [rhinstaller/blivet/pulls/52 f22-branch] Catch GLib.GError in places where we catch StorageError (#1202505)
by dashea
Previously, all errors that could have been raised from running storage actions
from blivet were inherited from the StorageError class. This no longer holds
with libblockdev being used because libblockdev raises exceptions through GI
introspection and thus as GLib.GError. In places we catch the all-covering
StorageError we should also catch GLib.GError and in some places we should only
catch GLib.GError if a libblockdev call is the only thing in the try-except
block.
**This is a temporary fix until libblockdev adds some better exception hierarchy into it's GI overrides.**
--
To view this pull request on github, visit https://github.com/rhinstaller/blivet/pull/52
9 years, 2 months
[PATCH] Add more kickstart-based packaging tests.
by Chris Lumens
These are from dcantrell, though I did some fixing up.
---
tests/kickstart_tests/groups-and-envs-3.ks | 36 ++++++++++++++++++++
tests/kickstart_tests/groups-and-envs-3.sh | 48 +++++++++++++++++++++++++++
tests/kickstart_tests/packages-default.ks | 29 ++++++++++++++++
tests/kickstart_tests/packages-default.sh | 48 +++++++++++++++++++++++++++
tests/kickstart_tests/packages-excludedocs.ks | 43 ++++++++++++++++++++++++
tests/kickstart_tests/packages-excludedocs.sh | 48 +++++++++++++++++++++++++++
tests/kickstart_tests/packages-multilib.ks | 36 ++++++++++++++++++++
tests/kickstart_tests/packages-multilib.sh | 48 +++++++++++++++++++++++++++
8 files changed, 336 insertions(+)
create mode 100644 tests/kickstart_tests/groups-and-envs-3.ks
create mode 100755 tests/kickstart_tests/groups-and-envs-3.sh
create mode 100644 tests/kickstart_tests/packages-default.ks
create mode 100755 tests/kickstart_tests/packages-default.sh
create mode 100644 tests/kickstart_tests/packages-excludedocs.ks
create mode 100755 tests/kickstart_tests/packages-excludedocs.sh
create mode 100644 tests/kickstart_tests/packages-multilib.ks
create mode 100755 tests/kickstart_tests/packages-multilib.sh
diff --git a/tests/kickstart_tests/groups-and-envs-3.ks b/tests/kickstart_tests/groups-and-envs-3.ks
new file mode 100644
index 0000000..cba6892
--- /dev/null
+++ b/tests/kickstart_tests/groups-and-envs-3.ks
@@ -0,0 +1,36 @@
+#version=DEVEL
+url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$bas..."
+install
+network --bootproto=dhcp --device=eth0
+
+bootloader --timeout=1
+zerombr
+clearpart --all --initlabel
+part --fstype=ext4 --size=4400 /
+part --fstype=ext4 --size=500 /boot
+part --fstype=swap --size=500 swap
+
+keyboard us
+lang en_US.UTF-8
+timezone America/New_York --utc
+rootpw testcase
+shutdown
+
+%packages
+@container-management
+@core
+@domain-client
+@hardware-support
+@headless-management
+@server-product
+@standard
+%end
+
+%post
+rpm -q fedora-release-server
+if [ $? -eq 0 ]; then
+ echo SUCCESS > /root/RESULT
+else
+ echo '*** Fedora Server default environment was not installed' > /root/RESULT
+fi
+%end
diff --git a/tests/kickstart_tests/groups-and-envs-3.sh b/tests/kickstart_tests/groups-and-envs-3.sh
new file mode 100755
index 0000000..549d07a
--- /dev/null
+++ b/tests/kickstart_tests/groups-and-envs-3.sh
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2015 Red Hat, Inc.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# the GNU General Public License v.2, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY expressed or implied, including the implied warranties of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details. You should have received a copy of the
+# GNU General Public License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
+# source code or documentation are not subject to the GNU General Public
+# License and may only be used or replicated with the express permission of
+# Red Hat, Inc.
+#
+# Red Hat Author(s): Chris Lumens <clumens(a)redhat.com>
+
+kernel_args() {
+ echo vnc
+}
+
+prepare() {
+ ks=$1
+ tmpdir=$2
+
+ echo ${ks}
+}
+
+validate() {
+ img=$1
+
+ # There should be a /root/RESULT file with results in it. Check
+ # its contents and decide whether the test finally succeeded or
+ # not.
+ result=$(virt-cat -a ${img} -m /dev/sda2 /root/RESULT)
+ if [[ $? != 0 ]]; then
+ status=1
+ echo '*** /root/RESULT does not exist in VM image.'
+ elif [[ "${result}" != "SUCCESS" ]]; then
+ status=1
+ echo "${result}"
+ fi
+
+ return ${status}
+}
+
diff --git a/tests/kickstart_tests/packages-default.ks b/tests/kickstart_tests/packages-default.ks
new file mode 100644
index 0000000..6b06cc7
--- /dev/null
+++ b/tests/kickstart_tests/packages-default.ks
@@ -0,0 +1,29 @@
+#version=DEVEL
+url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$bas..."
+install
+network --bootproto=dhcp --device=eth0
+
+bootloader --timeout=1
+zerombr
+clearpart --all --initlabel
+part --fstype=ext4 --size=4400 /
+part --fstype=ext4 --size=500 /boot
+part --fstype=swap --size=500 swap
+
+keyboard us
+lang en_US.UTF-8
+timezone America/New_York --utc
+rootpw testcase
+shutdown
+
+%packages --default
+%end
+
+%post
+rpm -q fedora-release
+if [ $? -eq 0 ]; then
+ echo SUCCESS > /root/RESULT
+else
+ echo '*** fedora-release package was not installed' > /root/RESULT
+fi
+%end
diff --git a/tests/kickstart_tests/packages-default.sh b/tests/kickstart_tests/packages-default.sh
new file mode 100755
index 0000000..549d07a
--- /dev/null
+++ b/tests/kickstart_tests/packages-default.sh
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2015 Red Hat, Inc.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# the GNU General Public License v.2, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY expressed or implied, including the implied warranties of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details. You should have received a copy of the
+# GNU General Public License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
+# source code or documentation are not subject to the GNU General Public
+# License and may only be used or replicated with the express permission of
+# Red Hat, Inc.
+#
+# Red Hat Author(s): Chris Lumens <clumens(a)redhat.com>
+
+kernel_args() {
+ echo vnc
+}
+
+prepare() {
+ ks=$1
+ tmpdir=$2
+
+ echo ${ks}
+}
+
+validate() {
+ img=$1
+
+ # There should be a /root/RESULT file with results in it. Check
+ # its contents and decide whether the test finally succeeded or
+ # not.
+ result=$(virt-cat -a ${img} -m /dev/sda2 /root/RESULT)
+ if [[ $? != 0 ]]; then
+ status=1
+ echo '*** /root/RESULT does not exist in VM image.'
+ elif [[ "${result}" != "SUCCESS" ]]; then
+ status=1
+ echo "${result}"
+ fi
+
+ return ${status}
+}
+
diff --git a/tests/kickstart_tests/packages-excludedocs.ks b/tests/kickstart_tests/packages-excludedocs.ks
new file mode 100644
index 0000000..a1ca736
--- /dev/null
+++ b/tests/kickstart_tests/packages-excludedocs.ks
@@ -0,0 +1,43 @@
+#version=DEVEL
+url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$bas..."
+install
+network --bootproto=dhcp --device=eth0
+
+bootloader --timeout=1
+zerombr
+clearpart --all --initlabel
+part --fstype=ext4 --size=4400 /
+part --fstype=ext4 --size=500 /boot
+part --fstype=swap --size=500 swap
+
+keyboard us
+lang en_US.UTF-8
+timezone America/New_York --utc
+rootpw testcase
+shutdown
+
+%packages --excludedocs
+@container-management
+@core
+@domain-client
+@hardware-support
+@headless-management
+@server-product
+@standard
+%end
+
+%post
+if [ ! -d /usr/share/doc ]; then
+ echo SUCCESS > /root/RESULT
+else
+ cd /usr/share/doc
+ count=$(find . | grep -v -E "^\.$" | wc -l)
+ if [ $count -eq 0 ]; then
+ echo "SUCCESS - but the /usr/share/doc directory still exists" > /root/RESULT
+ else
+ echo "there are files and possibly directories in /usr/share/doc" > /root/RESULT
+ echo >> /root/RESULT
+ find /usr/share/doc >> /root/RESULT
+ fi
+fi
+%end
diff --git a/tests/kickstart_tests/packages-excludedocs.sh b/tests/kickstart_tests/packages-excludedocs.sh
new file mode 100755
index 0000000..549d07a
--- /dev/null
+++ b/tests/kickstart_tests/packages-excludedocs.sh
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2015 Red Hat, Inc.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# the GNU General Public License v.2, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY expressed or implied, including the implied warranties of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details. You should have received a copy of the
+# GNU General Public License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
+# source code or documentation are not subject to the GNU General Public
+# License and may only be used or replicated with the express permission of
+# Red Hat, Inc.
+#
+# Red Hat Author(s): Chris Lumens <clumens(a)redhat.com>
+
+kernel_args() {
+ echo vnc
+}
+
+prepare() {
+ ks=$1
+ tmpdir=$2
+
+ echo ${ks}
+}
+
+validate() {
+ img=$1
+
+ # There should be a /root/RESULT file with results in it. Check
+ # its contents and decide whether the test finally succeeded or
+ # not.
+ result=$(virt-cat -a ${img} -m /dev/sda2 /root/RESULT)
+ if [[ $? != 0 ]]; then
+ status=1
+ echo '*** /root/RESULT does not exist in VM image.'
+ elif [[ "${result}" != "SUCCESS" ]]; then
+ status=1
+ echo "${result}"
+ fi
+
+ return ${status}
+}
+
diff --git a/tests/kickstart_tests/packages-multilib.ks b/tests/kickstart_tests/packages-multilib.ks
new file mode 100644
index 0000000..d816388
--- /dev/null
+++ b/tests/kickstart_tests/packages-multilib.ks
@@ -0,0 +1,36 @@
+#version=DEVEL
+url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$bas..."
+install
+network --bootproto=dhcp --device=eth0
+
+bootloader --timeout=1
+zerombr
+clearpart --all --initlabel
+part --fstype=ext4 --size=4400 /
+part --fstype=ext4 --size=500 /boot
+part --fstype=swap --size=500 swap
+
+keyboard us
+lang en_US.UTF-8
+timezone America/New_York --utc
+rootpw testcase
+shutdown
+
+%packages --multilib
+@container-management
+@core
+@domain-client
+@hardware-support
+@headless-management
+@server-product
+@standard
+%end
+
+%post
+rpm -q fedora-release
+if [ -e /usr/lib/libc.so.6 ]; then
+ echo SUCCESS > /root/RESULT
+else
+ echo '*** no 32-bit libc package installed' > /root/RESULT
+fi
+%end
diff --git a/tests/kickstart_tests/packages-multilib.sh b/tests/kickstart_tests/packages-multilib.sh
new file mode 100755
index 0000000..549d07a
--- /dev/null
+++ b/tests/kickstart_tests/packages-multilib.sh
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2015 Red Hat, Inc.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# the GNU General Public License v.2, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY expressed or implied, including the implied warranties of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details. You should have received a copy of the
+# GNU General Public License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
+# source code or documentation are not subject to the GNU General Public
+# License and may only be used or replicated with the express permission of
+# Red Hat, Inc.
+#
+# Red Hat Author(s): Chris Lumens <clumens(a)redhat.com>
+
+kernel_args() {
+ echo vnc
+}
+
+prepare() {
+ ks=$1
+ tmpdir=$2
+
+ echo ${ks}
+}
+
+validate() {
+ img=$1
+
+ # There should be a /root/RESULT file with results in it. Check
+ # its contents and decide whether the test finally succeeded or
+ # not.
+ result=$(virt-cat -a ${img} -m /dev/sda2 /root/RESULT)
+ if [[ $? != 0 ]]; then
+ status=1
+ echo '*** /root/RESULT does not exist in VM image.'
+ elif [[ "${result}" != "SUCCESS" ]]; then
+ status=1
+ echo "${result}"
+ fi
+
+ return ${status}
+}
+
--
2.2.2
9 years, 2 months
[PATCH master] rpmostreepayload: write storage config after shared var is mounted (#1203234)
by Radek Vykydal
iscsi configuratiion is written to /var/lib/iscsi so we need to have
the shared /var already mounted to deployment
---
pyanaconda/install.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/pyanaconda/install.py b/pyanaconda/install.py
index a68e793..f09c772 100644
--- a/pyanaconda/install.py
+++ b/pyanaconda/install.py
@@ -230,7 +230,6 @@ def doInstall(storage, payload, ksdata, instClass):
if iutil.getSysroot() != iutil.getTargetPhysicalRoot():
blivet.setSysroot(iutil.getTargetPhysicalRoot(),
iutil.getSysroot())
- storage.write()
# Now that we have the FS layout in the target, umount
# things that were in the legacy sysroot, and put them in
@@ -249,8 +248,7 @@ def doInstall(storage, payload, ksdata, instClass):
# since the bootloader code will expect to find /boot
# inside the chroot.
storage.mountFilesystems(skipRoot=True)
- else:
- storage.write()
+ storage.write()
# Do bootloader.
if willInstallBootloader:
--
1.9.3
9 years, 2 months