Revision e2800fca lib/hypervisor/hv_kvm.py
b/lib/hypervisor/hv_kvm.py | ||
---|---|---|
188 | 188 |
return found[0] |
189 | 189 |
|
190 | 190 |
|
191 |
def _AnalyzeSerializedRuntime(serialized_runtime): |
|
192 |
"""Return runtime entries for a serialized runtime file |
|
191 |
def _UpgradeSerializedRuntime(serialized_runtime): |
|
192 |
"""Upgrade runtime data |
|
193 |
|
|
194 |
Remove any deprecated fields or change the format of the data. |
|
195 |
The runtime files are not upgraded when Ganeti is upgraded, so the required |
|
196 |
modification have to be performed here. |
|
193 | 197 |
|
194 | 198 |
@type serialized_runtime: string |
195 | 199 |
@param serialized_runtime: raw text data read from actual runtime file |
196 |
@return: (cmd, nics, hvparams, bdevs)
|
|
197 |
@rtype: list
|
|
200 |
@return: (cmd, nic dicts, hvparams, bdev dicts)
|
|
201 |
@rtype: tuple
|
|
198 | 202 |
|
199 | 203 |
""" |
200 | 204 |
loaded_runtime = serializer.Load(serialized_runtime) |
201 |
if len(loaded_runtime) == 3:
|
|
202 |
serialized_disks = []
|
|
203 |
kvm_cmd, serialized_nics, hvparams = loaded_runtime
|
|
205 |
kvm_cmd, serialized_nics, hvparams = loaded_runtime[:3]
|
|
206 |
if len(loaded_runtime) >= 4:
|
|
207 |
serialized_disks = loaded_runtime[3]
|
|
204 | 208 |
else: |
205 |
kvm_cmd, serialized_nics, hvparams, serialized_disks = loaded_runtime |
|
209 |
serialized_disks = [] |
|
210 |
|
|
211 |
for nic in serialized_nics: |
|
212 |
# Add a dummy uuid slot if an pre-2.8 NIC is found |
|
213 |
if "uuid" not in nic: |
|
214 |
nic["uuid"] = utils.NewUUID() |
|
215 |
|
|
216 |
return kvm_cmd, serialized_nics, hvparams, serialized_disks |
|
217 |
|
|
206 | 218 |
|
219 |
def _AnalyzeSerializedRuntime(serialized_runtime): |
|
220 |
"""Return runtime entries for a serialized runtime file |
|
221 |
|
|
222 |
@type serialized_runtime: string |
|
223 |
@param serialized_runtime: raw text data read from actual runtime file |
|
224 |
@return: (cmd, nics, hvparams, bdevs) |
|
225 |
@rtype: tuple |
|
226 |
|
|
227 |
""" |
|
228 |
kvm_cmd, serialized_nics, hvparams, serialized_disks = \ |
|
229 |
_UpgradeSerializedRuntime(serialized_runtime) |
|
207 | 230 |
kvm_nics = [objects.NIC.FromDict(snic) for snic in serialized_nics] |
208 | 231 |
kvm_disks = [(objects.Disk.FromDict(sdisk), link) |
209 | 232 |
for sdisk, link in serialized_disks] |
Also available in: Unified diff