aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lib/mic/kickstart/custom_commands/installerfw.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/mic/kickstart/custom_commands/installerfw.py')
-rw-r--r--scripts/lib/mic/kickstart/custom_commands/installerfw.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/scripts/lib/mic/kickstart/custom_commands/installerfw.py b/scripts/lib/mic/kickstart/custom_commands/installerfw.py
new file mode 100644
index 0000000000..2466f1dc07
--- /dev/null
+++ b/scripts/lib/mic/kickstart/custom_commands/installerfw.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python -tt
+#
+# Copyright (c) 2013 Intel, Inc.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; version 2 of the License
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty 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., 59
+# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+from pykickstart.base import *
+from pykickstart.options import *
+
+class Mic_installerfw(KickstartCommand):
+ """ This class implements the "installerfw" KS option. The argument
+ of the option is a comman-separated list of MIC features which have to be
+ disabled and instead, will be done in the installer. For example,
+ "installerfw=extlinux" disables all the MIC code which installs extlinux to
+ the target images, and instead, the extlinux or whatever boot-loader will
+ be installed by the installer instead.
+
+ The installer is a tool which is external to MIC, it comes from the
+ installation repositories and can be executed by MIC in order to perform
+ various configuration actions. The main point here is to make sure MIC has
+ no hard-wired knoledge about the target OS configuration. """
+
+ removedKeywords = KickstartCommand.removedKeywords
+ removedAttrs = KickstartCommand.removedAttrs
+
+ def __init__(self, *args, **kwargs):
+ KickstartCommand.__init__(self, *args, **kwargs)
+ self.op = self._getParser()
+ self.features = kwargs.get("installerfw", None)
+
+ def __str__(self):
+ retval = KickstartCommand.__str__(self)
+
+ if self.features:
+ retval += "# Enable installer framework features\ninstallerfw\n"
+
+ return retval
+
+ def _getParser(self):
+ op = KSOptionParser()
+ return op
+
+ def parse(self, args):
+ (_, extra) = self.op.parse_args(args=args, lineno=self.lineno)
+
+ if len(extra) != 1:
+ msg = "Kickstart command \"installerfw\" requires one " \
+ "argumet - a list of legacy features to disable"
+ raise KickstartValueError, formatErrorMsg(self.lineno, msg = msg)
+
+ self.features = extra[0].split(",")
+ return self