print d.name,
print
+def vscsi_sort(devs):
+ def sort_hctl(ds, l):
+ s = []
+ for d1 in ds:
+ for d2 in d1:
+ v_dev = sxp.child_value(d2, 'v-dev')
+ n = int(v_dev.split(':')[l])
+ try:
+ j = s[n]
+ except IndexError:
+ j = []
+ s.extend([ [] for _ in range(len(s), n+1) ])
+ j.append(d2)
+ s[n] = j
+ return s
+
+ for i in range(len(devs)):
+ ds1 = [ devs[i][1][0][1] ]
+ ds1 = sort_hctl(ds1, 3)
+ ds1 = sort_hctl(ds1, 2)
+ ds1 = sort_hctl(ds1, 1)
+ ds2 = []
+ for d in ds1:
+ ds2.extend(d)
+ devs[i][1][0][1] = ds2
+ return devs
+
def vscsi_convert_sxp_to_dict(dev_sxp):
dev_dict = {}
for opt_val in dev_sxp[1:]:
else:
devs = server.xend.domain.getDeviceSxprs(dom, 'vscsi')
+ # Sort devs by virtual HCTL.
+ devs = vscsi_sort(devs)
+
if use_long:
map(PrettyPrint.prettyprint, devs)
else: