[rhel6-branch] use udev_resolve_devspec to resolve raid onpart members (#809641)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
--onpart may be used with /dev/disk/by-* so first try to resolve it with udev
Resolves: rhbz#809641
---
kickstart.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kickstart.py b/kickstart.py
index 05803ab..bac6ab0 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -975,7 +975,8 @@ class RaidData(commands.raid.F12_RaidData):
for member in self.members:
# if member is using --onpart, use original device
member = anaconda.id.ksdata.onPart.get(member, member)
- dev = devicetree.getDeviceByName(member)
+ dev_name = udev_resolve_devspec(member) or member
+ dev = devicetree.getDeviceByName(dev_name)
if dev and dev.format.type == "luks":
try:
dev = devicetree.getChildren(dev)[0]
--
1.7.11.4
11 years, 7 months
[rhel6-branch] fix duplicate raid error message on unsupported arch (#811197)
by Brian C. Lane
From: Kamalesh Babulal <kamalesh(a)linux.vnet.ibm.com>
This patch moves the raid runlevel check, dependent on if
arch supports raid bootable devices.
Resolves: rhbz#811197
Signed-off-by: Brian C. Lane <bcl(a)redhat.com>
---
platform.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/platform.py b/platform.py
index 31552ab..8c1f603 100644
--- a/platform.py
+++ b/platform.py
@@ -114,16 +114,16 @@ class Platform(object):
if not req:
return [_("You have not created a bootable partition.")]
- if req.type == "mdarray" and req.level != 1:
- errors.append(_("Bootable partitions can only be on RAID1 devices."))
-
# most arches can't have boot on a logical volume
if req.type == "lvmlv" and not self.supportsLvmBoot:
errors.append(_("Bootable partitions cannot be on a logical volume."))
# most arches can't have boot on RAID
- if req.type == "mdarray" and not self.supportsMdRaidBoot:
- errors.append(_("Bootable partitions cannot be on a RAID device."))
+ if req.type == "mdarray":
+ if not self.supportsMdRaidBoot:
+ errors.append(_("Bootable partitions cannot be on a RAID device."))
+ elif req.level != 1:
+ errors.append(_("Bootable partitions can only be on RAID1 devices."))
# Make sure /boot is on a supported FS type. This prevents crazy
# things like boot on vfat.
--
1.7.11.4
11 years, 7 months
[PATCH] KEYTABLE is now vconsole.keymap (#859298)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
---
pyanaconda/keyboard.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py
index 3180502..fb3f7ef 100755
--- a/pyanaconda/keyboard.py
+++ b/pyanaconda/keyboard.py
@@ -132,7 +132,7 @@ def write_layouts_config(keyboard, root):
fobj.write(get_layouts_xorg_conf(keyboard))
with open(os.path.join(sysconf_dir, sysconf_file), "w") as fobj:
- fobj.write('KEYTABLE="%s"\n' % keyboard.keyboard)
+ fobj.write('vconsole.keymap="%s"\n' % keyboard.keyboard)
except IOError as ioerr:
raise KeyboardConfigError("Cannot write keyboard configuration files")
--
1.7.11.4
11 years, 7 months
[rhel6-branch] add unsupported_hardware kickstart command (#824963)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
If unsupported_hardware is included in the kickstart file skip the
interactive dialog warning and log that it is installing on
unsupported hardware.
Resolves: rhbz#824963
---
anaconda.spec.in | 2 +-
loader/kickstart.c | 10 ++++++++++
loader/kickstart.h | 1 +
loader/loader.c | 18 +++++++++++-------
loader/loader.h | 2 ++
5 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index ff40ccb..f5ffe0d 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -27,7 +27,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define intltoolver 0.31.2-3
%define libnlver 1.0
%define libselinuxver 1.6
-%define pykickstartver 1.74.11
+%define pykickstartver 1.74.12
%define rpmpythonver 4.2-0.61
%define slangver 2.0.6-2
%define yumver 2.9.2
diff --git a/loader/kickstart.c b/loader/kickstart.c
index 0429d9d..27f5f66 100644
--- a/loader/kickstart.c
+++ b/loader/kickstart.c
@@ -89,6 +89,8 @@ static void setUpdates(struct loaderData_s * loaderData, int argc,
char ** argv);
static void setVnc(struct loaderData_s * loaderData, int argc,
char ** argv);
+static void setUnsupportedHw(struct loaderData_s * loaderData, int argc,
+ char ** argv);
struct ksCommandNames ksTable[] = {
{ KS_CMD_NFS, "nfs", setKickstartNfs },
@@ -110,6 +112,7 @@ struct ksCommandNames ksTable[] = {
{ KS_CMD_MEDIACHECK, "mediacheck", setMediaCheck },
{ KS_CMD_UPDATES, "updates", setUpdates },
{ KS_CMD_VNC, "vnc", setVnc },
+ { KS_CMD_UNSUPPORTED_HW, "unsupported_hardware", setUnsupportedHw },
{ KS_CMD_NONE, NULL, NULL }
};
@@ -435,6 +438,13 @@ void getKickstartFile(struct loaderData_s *loaderData) {
return;
}
+static void setUnsupportedHw(struct loaderData_s * loaderData, int argc,
+ char ** argv) {
+ logMessage(INFO, "kickstart setting unsupported_hardware");
+ flags |= LOADER_FLAGS_UNSUPPORTED_HW;
+ return;
+}
+
static void setVnc(struct loaderData_s * loaderData, int argc,
char ** argv) {
logMessage(INFO, "kickstart forcing graphical mode over vnc");
diff --git a/loader/kickstart.h b/loader/kickstart.h
index 24612cf..4a67940 100644
--- a/loader/kickstart.h
+++ b/loader/kickstart.h
@@ -41,6 +41,7 @@
#define KS_CMD_MEDIACHECK 17
#define KS_CMD_UPDATES 18
#define KS_CMD_VNC 19
+#define KS_CMD_UNSUPPORTED_HW 20
int ksReadCommands(char * cmdFile);
int ksGetCommand(int cmd, char ** last, int * argc, char *** argv);
diff --git a/loader/loader.c b/loader/loader.c
index 52ddc5d..8c967be 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1276,13 +1276,17 @@ static void checkTaintFlag(void) {
}
if (l & (1 << 28)) {
- startNewt();
- newtWinMessage(_("Unsupported Hardware Detected"), _("OK"),
- _("This hardware (or a combination thereof) is not "
- "supported by Red Hat. For more information on "
- "supported hardware, please refer to "
- "http://www.redhat.com/hardware."));
- stopNewt();
+ if(!FL_UNSUPPORTED_HW(flags)) {
+ startNewt();
+ newtWinMessage(_("Unsupported Hardware Detected"), _("OK"),
+ _("This hardware (or a combination thereof) is not "
+ "supported by Red Hat. For more information on "
+ "supported hardware, please refer to "
+ "http://www.redhat.com/hardware."));
+ stopNewt();
+ } else {
+ logMessage(WARNING, "Installing on Unsupported Hardware.");
+ }
}
g_free(contents);
diff --git a/loader/loader.h b/loader/loader.h
index 6df95f9..564dc6c 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -73,6 +73,7 @@
#define LOADER_FLAGS_AUTOMODDISK (((uint64_t) 1) << 40)
#define LOADER_FLAGS_NOEJECT (((uint64_t) 1) << 41)
#define LOADER_FLAGS_NOVERIFYSSL (((uint64_t) 1) << 42)
+#define LOADER_FLAGS_UNSUPPORTED_HW (((uint64_t) 1) << 43)
#define FL_TEXT(a) ((a) & LOADER_FLAGS_TEXT)
#define FL_RESCUE(a) ((a) & LOADER_FLAGS_RESCUE)
@@ -112,6 +113,7 @@
#define FL_AUTOMODDISK(a) ((a) & LOADER_FLAGS_AUTOMODDISK)
#define FL_NOEJECT(a) ((a) & LOADER_FLAGS_NOEJECT)
#define FL_NOVERIFYSSL(a) ((a) & LOADER_FLAGS_NOVERIFYSSL)
+#define FL_UNSUPPORTED_HW(a) ((a) & LOADER_FLAGS_UNSUPPORTED_HW)
void startNewt(void);
void stopNewt(void);
--
1.7.11.4
11 years, 7 months