Not able to attach more than 25 volumes using virtio-scsi

Bug #1773941 reported by Purandhar Sairam Mannidi on 2018-05-29
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)

Bug Description

Not able to attach more than 25 volumes using virtio-scsi

In nova/virt/libvirt/,

def get_dev_count_for_disk_bus(disk_bus):
    """Determine the number disks supported.

       Determine how many disks can be supported in
       a single VM for a particular disk bus.

       Returns the number of disks supported.

    if disk_bus == "ide":
        return 4
        return 26 <=== we're just responding with 26 devices that we can use.


def find_disk_dev_for_disk_bus(mapping, bus,
    """Identify a free disk dev name for a bus.

       Determines the possible disk dev names for
       the bus, and then checks them in order until
       it identifies one that is not yet used in the
       disk mapping. If 'last_device' is set, it will
       only consider the last available disk dev name.

       Returns the chosen disk_dev name, or raises an
       exception if none is available.

    dev_prefix = get_dev_prefix_for_disk_bus(bus)
    if dev_prefix is None:
        return None

    if assigned_devices is None:
        assigned_devices = []

    max_dev = get_dev_count_for_disk_bus(bus)
    if last_device:
        devs = [max_dev - 1]
        devs = range(max_dev)

    for idx in devs:
        disk_dev = dev_prefix + chr(ord('a') + idx) <====== need to correct naming of devices
        if not has_disk_dev(mapping, disk_dev):
            if disk_dev not in assigned_devices:
                return disk_dev

    raise exception.NovaException(
        _("No free disk device names for prefix '%s'") %

Matt Riedemann (mriedem) wrote :

This isn't really a bug, and there is a blueprint for this with some discussion:

Changed in nova:
status: New → Incomplete
status: Incomplete → Opinion
importance: Undecided → Wishlist

@Matt , the core idea behind virtio-scsi is to be able to use more than 26 disks or 32 devices as a whole limit. This should have been done as part of implementation of virtio-scsi support. I still feel it as a bug without which virtio-scsi feature is incomplete.

In any case, since there is a blueprint, i suppose it's better continuing the discussion there.

After looking at the blueprint, seems like they are extending default count of virtio devices which i think needs a discussion. I'd suggest using virtio-scsi rather than increasing default count of virtio-blk devices and increase the default count for virtio-scsi.

melanie witt (melwitt) wrote :

Note: the blueprint name has been changed to match the name of the nova spec:

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers