Revision acd65a16 lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
9100 | 9100 |
_CheckNodeNotDrained(self, self.dst_node.name) |
9101 | 9101 |
|
9102 | 9102 |
self._cds = None |
9103 |
self.dest_disk_info = None |
|
9103 | 9104 |
self.dest_x509_ca = None |
9104 | 9105 |
|
9105 | 9106 |
elif self.export_mode == constants.EXPORT_MODE_REMOTE: |
... | ... | |
9139 | 9140 |
self.dest_x509_ca = cert |
9140 | 9141 |
|
9141 | 9142 |
# Verify target information |
9143 |
disk_info = [] |
|
9142 | 9144 |
for idx, disk_data in enumerate(self.op.target_node): |
9143 | 9145 |
try: |
9144 |
masterd.instance.CheckRemoteExportDiskInfo(cds, idx, disk_data) |
|
9146 |
(host, port) = masterd.instance.CheckRemoteExportDiskInfo(cds, idx, |
|
9147 |
disk_data) |
|
9145 | 9148 |
except errors.GenericError, err: |
9146 | 9149 |
raise errors.OpPrereqError("Target info for disk %s: %s" % (idx, err), |
9147 | 9150 |
errors.ECODE_INVAL) |
9148 | 9151 |
|
9152 |
disk_info.append((host, port)) |
|
9153 |
|
|
9154 |
assert len(disk_info) == len(self.op.target_node) |
|
9155 |
self.dest_disk_info = disk_info |
|
9156 |
|
|
9149 | 9157 |
else: |
9150 | 9158 |
raise errors.ProgrammerError("Unhandled export mode %r" % |
9151 | 9159 |
self.export_mode) |
... | ... | |
9236 | 9244 |
opts = objects.ImportExportOptions(key_name=key_name, |
9237 | 9245 |
ca_pem=dest_ca_pem) |
9238 | 9246 |
|
9239 |
(fin_resu, dresults) = helper.RemoteExport(opts, self.op.target_node,
|
|
9247 |
(fin_resu, dresults) = helper.RemoteExport(opts, self.dest_disk_info,
|
|
9240 | 9248 |
timeouts) |
9241 | 9249 |
finally: |
9242 | 9250 |
helper.Cleanup() |
Also available in: Unified diff