diff --git a/answerfile.py b/answerfile.py index 490b49ec..2dd5360e 100644 --- a/answerfile.py +++ b/answerfile.py @@ -133,6 +133,7 @@ def parseFreshInstall(self): results['preserve-settings'] = False results['backup-existing-installation'] = False + results.update(self.parseAssembleRaid()) results.update(self.parseDisks()) results.update(self.parseInterface()) results.update(self.parseRootPassword()) @@ -170,6 +171,7 @@ def parseRestore(self): results['install-type'] = INSTALL_TYPE_RESTORE + results.update(self.parseAssembleRaid()) backups = product.findXenSourceBackups() if len(backups) == 0: raise AnswerfileException("Could not locate exsisting backup.") @@ -227,6 +229,7 @@ def parseCommon(self): def parseExistingInstallation(self): results = {} + results.update(self.parseAssembleRaid()) inst = getElementsByTagName(self.top_node, ['existing-installation'], mandatory=True) disk = normalize_disk(getText(inst[0])) @@ -293,6 +296,15 @@ def parseDriverSource(self): results['extra-repos'].append((rtype, address)) return results + def parseAssembleRaid(self): + results = {} + nodes = getElementsByTagName(self.top_node, ['assemble-raid']) + if nodes: + results['assemble-raid'] = True # possibly useless + logger.log("Assembling any RAID volumes") + rv = util.runCmd2([ 'mdadm', '--assemble', "--scan" ]) + return results + def parseDisks(self): results = {} diff --git a/doc/answerfile.txt b/doc/answerfile.txt index 76221624..a4093b62 100644 --- a/doc/answerfile.txt +++ b/doc/answerfile.txt @@ -129,6 +129,15 @@ Common Elements Discovery on. + ? + + Run `mdadm --assemble --scan` before looking for the device + specified in , , or + . + + Used to be the default behavior. + + (Re)Install Elements --------------------