From: John Dilley Date: Tue, 17 Nov 2015 12:48:25 +0000 (+0000) Subject: Convert disk IDs to legacy SATA X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b374fb33ff44fd6a6dd9acdd5c5585f188bd6423;p=xenrt-citrix%2Fxenrt.git Convert disk IDs to legacy SATA --- diff --git a/exec/xenrt/objects.py b/exec/xenrt/objects.py index 18f3ac0ed..fc3075cbf 100755 --- a/exec/xenrt/objects.py +++ b/exec/xenrt/objects.py @@ -6874,7 +6874,10 @@ chain tftp://${next-server}/%s if not disks: return [] else: - return string.split(disks)[:count] + ret = string.split(disks)[:count] + if legacySATA: + ret = [xenrt.convertToLegacySATA(x) for x in ret] + return ret def _getMainDisks(self, count, ccissIfAvailable, legacySATA, overrideBoot): return self._getDisks("OPTION_CARBON_DISKS", True, count=count, ccissIfAvailable=ccissIfAvailable, legacySATA=legacySATA, overrideBoot=overrideBoot) diff --git a/exec/xenrt/util.py b/exec/xenrt/util.py index 96d62aa4b..21c221b8b 100755 --- a/exec/xenrt/util.py +++ b/exec/xenrt/util.py @@ -98,7 +98,8 @@ __all__ = ["timenow", "checkXMLDomSubset", "getUpdateDistro", "getLinuxRepo", - "getURLContent" + "getURLContent", + "convertToLegacySATA" ] def sleep(secs, log=True): @@ -1685,3 +1686,21 @@ def getURLContent(url): resp = sock.read() sock.close() return resp + +def convertToLegacySATA(diskId): + if "/" in diskId: + (prefix, diskId) = diskId.rsplit("/", 1) + prefix += "/" + else: + prefix = "" + + m = re.match("^ata-(ST.*?-..)....(_.*)$", diskId) + if m: + diskId = "scsi-SATA_%s%s" % (m.group(1), m.group(2)) + + m = re.match("^ata-(WDC_WD.*?-).*?(_.*)$", diskId) + if m: + diskId = "scsi-SATA_%s%s" % (m.group(1), m.group(2)) + + return "%s%s" % (prefix, diskId) +