Revision a21dda8b lib/hypervisor/hv_xen.py
b/lib/hypervisor/hv_xen.py | ||
---|---|---|
357 | 357 |
config.write("memory = %d\n" % instance.memory) |
358 | 358 |
config.write("vcpus = %d\n" % instance.vcpus) |
359 | 359 |
config.write("name = '%s'\n" % instance.name) |
360 |
config.write("pae = 1\n") |
|
361 |
config.write("acpi = 1\n") |
|
360 |
if instance.hvm_pae: |
|
361 |
config.write("pae = 1\n") |
|
362 |
else: |
|
363 |
config.write("pae = 0\n") |
|
364 |
if instance.hvm_acpi: |
|
365 |
config.write("acpi = 1\n") |
|
366 |
else: |
|
367 |
config.write("acpi = 0\n") |
|
362 | 368 |
config.write("apic = 1\n") |
363 | 369 |
arch = os.uname()[4] |
364 | 370 |
if '64' in arch: |
... | ... | |
373 | 379 |
config.write("usb = 1\n"); |
374 | 380 |
config.write("usbdevice = 'tablet'\n"); |
375 | 381 |
config.write("vnc = 1\n") |
376 |
config.write("vnclisten = '0.0.0.0'\n")
|
|
382 |
config.write("vnclisten = '%s'\n" % instance.vnc_bind_address)
|
|
377 | 383 |
|
378 | 384 |
if instance.network_port > constants.HT_HVM_VNC_BASE_PORT: |
379 | 385 |
display = instance.network_port - constants.HT_HVM_VNC_BASE_PORT |
... | ... | |
407 | 413 |
vif_data.append("'%s'" % nic_str) |
408 | 414 |
|
409 | 415 |
config.write("vif = [%s]\n" % ",".join(vif_data)) |
410 |
iso = "'file:/srv/ganeti/iso/hvm-install.iso,hdc:cdrom,r'" |
|
411 |
config.write("disk = [%s, %s]\n" % (",".join( |
|
412 |
cls._GetConfigFileDiskData(instance.disk_template, |
|
413 |
block_devices)), iso)) |
|
416 |
disk_data = cls._GetConfigFileDiskData(instance.disk_template, |
|
417 |
block_devices) |
|
418 |
disk_data = [line.replace(",sd", ",ioemu:hd") for line in disk_data] |
|
419 |
if instance.hvm_cdrom_image_path is not None: |
|
420 |
iso = "'file:%s,hdc:cdrom,r'" % (instance.hvm_cdrom_image_path) |
|
421 |
disk_data.append(iso) |
|
422 |
|
|
423 |
config.write("disk = [%s]\n" % (",".join(disk_data))) |
|
424 |
|
|
414 | 425 |
config.write("on_poweroff = 'destroy'\n") |
415 | 426 |
config.write("on_reboot = 'restart'\n") |
416 | 427 |
config.write("on_crash = 'restart'\n") |
... | ... | |
437 | 448 |
if instance.network_port is None: |
438 | 449 |
raise errors.OpExecError("no console port defined for %s" |
439 | 450 |
% instance.name) |
440 |
else:
|
|
451 |
elif instance.vnc_bind_address == constants.BIND_ADDRESS_GLOBAL:
|
|
441 | 452 |
raise errors.OpExecError("no PTY console, connect to %s:%s via VNC" |
442 | 453 |
% (instance.primary_node, |
443 | 454 |
instance.network_port)) |
455 |
else: |
|
456 |
raise errors.OpExecError("no PTY console, connect to %s:%s via VNC" |
|
457 |
% (instance.vnc_bind_address, |
|
458 |
instance.network_port)) |
Also available in: Unified diff