openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #06741
Is m1.tiny instance type supported for Xen?
Hi!
OpenStack Nova allows to run instances with local_gb = 0 for m1.tiny
instance type if libvirt is used. As I see, m1.tiny is not supported
when using Xen. Am I right?
I think it would be better to unify behavior for different backends.
Here are code examples.
Generic code allows local_gb == 0 (nova/compute/manager.py):
# NOTE(jk0): Since libvirt uses local_gb as a secondary
drive, we
# need to handle potential situations where local_gb is 0.
This is
# the default for m1.tiny.
if allowed_size_gb == 0:
Libvirt backend handles m1.tiny in special way
(nova/virt/libvirt/connection.py):
if inst_type['name'] == 'm1.tiny' or suffix == '.rescue':
size = None
Xen backend just checks the size (nova/virt/xenapi/vm_utils.py)
@classmethod
def _check_vdi_size(cls, context, session, instance, vdi_uuid):
size_bytes = cls._get_vdi_chain_size(context, session, vdi_uuid)
# FIXME(jk0): this was copied directly from compute.manager.py,
let's
# refactor this to a common area
instance_type_id = instance['instance_type_id']
instance_type = db.instance_type_get(context,
instance_type_id)
allowed_size_gb = instance_type['local_gb']
allowed_size_bytes = allowed_size_gb * 1024 * 1024 * 1024
LOG.debug(_("image_size_bytes=%(size_bytes)d, allowed_size_bytes="
"%(allowed_size_bytes)d") % locals())
if size_bytes > allowed_size_bytes:
LOG.info(_("Image size %(size_bytes)d exceeded"
" instance_type allowed size "
"%(allowed_size_bytes)d")
% locals())
raise exception.ImageTooLarge()
--
Alessio Ababilov
Software Engineer
Grid Dynamics
Follow ups