The hardcoded value of 15 needs to be fixed, it can be replaced with 
getMaxDataVolumesSupported() just above it. Please file a bug and if possible 
raise a PR as well.

-Koushik

On 15/02/17, 11:21 PM, "Voloshanenko Igor" <igor.voloshane...@gmail.com> wrote:

    On VM we try to emulate real hardware )))
    So any device honor specification
    In this case PCI :)
    
    To be honest we can increase limits by adding multifunctional devices or
    migrate to virtio-iscsi-blk
    
    But as for me - 14 disks more than enough now
    
    
    About 3 for cdrom. I will check . I think CDROM emulated as IDE device, not
    via virtio-blk
    
    For 0 - root volume , interesting , in this case we can easily add 1 more
    DATA disk :)
    
    ср, 15 февр. 2017 г. в 19:24, Rafael Weingärtner <
    rafaelweingart...@gmail.com>:
    
    > I thought that on a VM we would not be bound by PCI limitations.
    > Interesting explanations, thanks.
    >
    >
    > On Wed, Feb 15, 2017 at 12:19 PM, Voloshanenko Igor <
    > igor.voloshane...@gmail.com> wrote:
    >
    > > I think explanation very easy.
    > > PCI itself can handle up to 32 devices.
    > >
    > > If you run lspci inside empty (fresh created) VM - you will see, that 8
    > > slots already occupied
    > > [root@test-virtio-blk ~]# lspci
    > > 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev
    > > 02)
    > > 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton
    > II]
    > > 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE 
[Natoma/Triton
    > > II]
    > > 00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB
    > [Natoma/Triton
    > > II] (rev 01)
    > > 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
    > > 00:02.0 VGA compatible controller: Cirrus Logic GD 5446
    > > 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
    > > 00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
    > >
    > > [root@test-virtio-blk ~]# lspci | wc -l
    > > 8
    > >
    > > So, 7 system devices + 1 ROOT disk
    > >
    > > in current implementation, we used virtio-blk, which can handle only 1
    > > device per instance.
    > >
    > > So, we have 32-8 == 24 free slots...
    > >
    > > As Cloudstack support more than 1 eth cards - 8 of them reserved for
    > > network cards and 16 available for virtio-blk
    > >
    > > So, practical limit equal 16 devices (for DATA disks)
    > >
    > > Why 2 devices (0 + 3) excluded - interesting question... I will try to
    > > research and post explanation
    > >
    > >
    > >
    > >
    > >
    > >
    > >
    > >
    > > 2017-02-15 18:27 GMT+02:00 Rafael Weingärtner <
    > rafaelweingart...@gmail.com
    > > >:
    > >
    > > > I hate to say this, but probably no one knows why.
    > > > I looked at the history and this method has always being like this.
    > > >
    > > > The device ID 3 seems to be something reserved, probably for Xen tools
    > > (big
    > > > guess here)?
    > > >
    > > > Also, regarding the limit; I could speculate two explanations for the
    > > > limit. A developer did not get the full specs and decided to do
    > whatever
    > > > he/she wanted. Or, maybe, at the time of coding (long, long time ago)
    > > there
    > > > was a hypervisor that limited (maybe still limits) the number of
    > devices
    > > > that could be plugged to a VM and the first developers decided to 
level
    > > > everything by that spec.
    > > >
    > > > It may be worth checking with KVM, XenServer, Hyper-V, and VMware if
    > they
    > > > have such limitation on disks that can be attached to a VM. If they do
    > > not
    > > > have, we could remove that, or at least externalize the limit in a
    > > > parameter.
    > > >
    > > > On Wed, Feb 15, 2017 at 5:54 AM, Friðvin Logi Oddbjörnsson <
    > > > frid...@greenqloud.com> wrote:
    > > >
    > > > > CloudStack is currently limiting the number of data volumes, that 
can
    > > be
    > > > > attached to an instance, to 14.
    > > > > More specifically, this limitation relates to the device ids that
    > > > > CloudStack considers valid for data volumes.
    > > > > In method VolumeApiServiceImpl.getDeviceId(long, Long), only device
    > > ids
    > > > 1,
    > > > > 2, and 4-15 are considered valid.
    > > > > What I would like to know is: is there a reason for this limitation?
    > > (of
    > > > > not going higher than device id 15)
    > > > >
    > > > > Note that the current number of attached data volumes is already
    > being
    > > > > checked against the maximum number of data volumes per instance, as
    > > > > specified by the relevant hypervisor’s capabilities.
    > > > > E.g. if the relevant hypervisor’s capabilities specify that it only
    > > > > supports 6 data volumes per instance, CloudStack rejects attaching a
    > > > > seventh data volume.
    > > > >
    > > > >
    > > > > Friðvin Logi Oddbjörnsson
    > > > >
    > > > > Senior Developer
    > > > >
    > > > > Tel: (+354) 415 0200 | frid...@greenqloud.com <
    > jaros...@greenqloud.com
    > > >
    > > > >
    > > > > Mobile: (+354) 696 6528 | PGP Key: 57CA1B00
    > > > > <https://sks-keyservers.net/pks/lookup?op=vindex&search=
    > > > > frid...@greenqloud.com>
    > > > >
    > > > > Twitter: @greenqloud <https://twitter.com/greenqloud> | @qstackcloud
    > > > > <https://twitter.com/qstackcloud>
    > > > >
    > > > > www.greenqloud.com | www.qstack.com
    > > > >
    > > > > [image: qstack_blue_landscape_byqreenqloud-01.png]
    > > > >
    > > >
    > > >
    > > >
    > > > --
    > > > Rafael Weingärtner
    > > >
    > >
    >
    >
    >
    > --
    > Rafael Weingärtner
    >
    




DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the 
property of Accelerite, a Persistent Systems business. It is intended only for 
the use of the individual or entity to which it is addressed. If you are not 
the intended recipient, you are not authorized to read, retain, copy, print, 
distribute or use this message. If you have received this communication in 
error, please notify the sender and delete all copies of this message. 
Accelerite, a Persistent Systems business does not accept any liability for 
virus infected mails.

Reply via email to