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
--------------------