diff options
| author | Johannes Erdfelt <johannes.erdfelt@rackspace.com> | 2011-05-20 06:18:50 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-05-20 06:18:50 +0000 |
| commit | cbaefce5bc8285fbe8af33e9e4ea2358601f02ad (patch) | |
| tree | 55598e8c9705416831069552fe7b9d2c5a0e6787 | |
| parent | 7eda6968748b26b60a0949fcdc8b92b495f6e319 (diff) | |
| parent | d96699bd2fe1bd98f7d81639acab734c225c82ed (diff) | |
| download | nova-cbaefce5bc8285fbe8af33e9e4ea2358601f02ad.tar.gz nova-cbaefce5bc8285fbe8af33e9e4ea2358601f02ad.tar.xz nova-cbaefce5bc8285fbe8af33e9e4ea2358601f02ad.zip | |
Add new flag 'max_kernel_ramdisk_size' to specify a maximum size of kernel or ramdisk so we don't copy large files to dom0 and fill up /boot/guest
| -rw-r--r-- | nova/virt/xenapi/vm_utils.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index c8f342aa8..9f6cd608c 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -48,6 +48,8 @@ FLAGS = flags.FLAGS flags.DEFINE_string('default_os_type', 'linux', 'Default OS type') flags.DEFINE_integer('block_device_creation_timeout', 10, 'time to wait for a block device to be created') +flags.DEFINE_integer('max_kernel_ramdisk_size', 16 * 1024 * 1024, + 'maximum size in bytes of kernel or ramdisk images') XENAPI_POWER_STATE = { 'Halted': power_state.SHUTDOWN, @@ -444,6 +446,12 @@ class VMHelper(HelperBase): if image_type == ImageType.DISK: # Make room for MBR. vdi_size += MBR_SIZE_BYTES + elif image_type == ImageType.KERNEL_RAMDISK and \ + vdi_size > FLAGS.max_kernel_ramdisk_size: + max_size = FLAGS.max_kernel_ramdisk_size + raise exception.Error( + _("Kernel/Ramdisk image is too large: %(vdi_size)d bytes, " + "max %(max_size)d bytes") % locals()) name_label = get_name_label_for_image(image) vdi_ref = cls.create_vdi(session, sr_ref, name_label, vdi_size, False) |
