diff options
Diffstat (limited to 'scripts/lib/mic/kickstart/custom_commands/installerfw.py')
| -rw-r--r-- | scripts/lib/mic/kickstart/custom_commands/installerfw.py | 63 |
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 @@ | |||
| 1 | #!/usr/bin/python -tt | ||
| 2 | # | ||
| 3 | # Copyright (c) 2013 Intel, Inc. | ||
| 4 | # | ||
| 5 | # This program is free software; you can redistribute it and/or modify it | ||
| 6 | # under the terms of the GNU General Public License as published by the Free | ||
| 7 | # Software Foundation; version 2 of the License | ||
| 8 | # | ||
| 9 | # This program is distributed in the hope that it will be useful, but | ||
| 10 | # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
| 11 | # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
| 12 | # for more details. | ||
| 13 | # | ||
| 14 | # You should have received a copy of the GNU General Public License along | ||
| 15 | # with this program; if not, write to the Free Software Foundation, Inc., 59 | ||
| 16 | # Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 17 | |||
| 18 | from pykickstart.base import * | ||
| 19 | from pykickstart.options import * | ||
| 20 | |||
| 21 | class Mic_installerfw(KickstartCommand): | ||
| 22 | """ This class implements the "installerfw" KS option. The argument | ||
| 23 | of the option is a comman-separated list of MIC features which have to be | ||
| 24 | disabled and instead, will be done in the installer. For example, | ||
| 25 | "installerfw=extlinux" disables all the MIC code which installs extlinux to | ||
| 26 | the target images, and instead, the extlinux or whatever boot-loader will | ||
| 27 | be installed by the installer instead. | ||
| 28 | |||
| 29 | The installer is a tool which is external to MIC, it comes from the | ||
| 30 | installation repositories and can be executed by MIC in order to perform | ||
| 31 | various configuration actions. The main point here is to make sure MIC has | ||
| 32 | no hard-wired knoledge about the target OS configuration. """ | ||
| 33 | |||
| 34 | removedKeywords = KickstartCommand.removedKeywords | ||
| 35 | removedAttrs = KickstartCommand.removedAttrs | ||
| 36 | |||
| 37 | def __init__(self, *args, **kwargs): | ||
| 38 | KickstartCommand.__init__(self, *args, **kwargs) | ||
| 39 | self.op = self._getParser() | ||
| 40 | self.features = kwargs.get("installerfw", None) | ||
| 41 | |||
| 42 | def __str__(self): | ||
| 43 | retval = KickstartCommand.__str__(self) | ||
| 44 | |||
| 45 | if self.features: | ||
| 46 | retval += "# Enable installer framework features\ninstallerfw\n" | ||
| 47 | |||
| 48 | return retval | ||
| 49 | |||
| 50 | def _getParser(self): | ||
| 51 | op = KSOptionParser() | ||
| 52 | return op | ||
| 53 | |||
| 54 | def parse(self, args): | ||
| 55 | (_, extra) = self.op.parse_args(args=args, lineno=self.lineno) | ||
| 56 | |||
| 57 | if len(extra) != 1: | ||
| 58 | msg = "Kickstart command \"installerfw\" requires one " \ | ||
| 59 | "argumet - a list of legacy features to disable" | ||
| 60 | raise KickstartValueError, formatErrorMsg(self.lineno, msg = msg) | ||
| 61 | |||
| 62 | self.features = extra[0].split(",") | ||
| 63 | return self | ||
