← Back to team overview

openstack team mailing list archive

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