On Mon, Dec 5, 2016 at 11:29 AM, Laurentiu Pancescu <lpancescu@gmail.com> wrote:
Hello Marcin,

On 04/12/16 04:52, Marcin Dulak wrote:
it looks to me that the reason for 'IDE Controller' missing may be actually
in the box.ovf file,

 
perhaps I wasn't clear enough in my previous reply: there is no guarantee that a Vagrant box will have an IDE controller named "IDE Controller", and there never was.  There is no mention of IDE in the Vagrant documentation[1], and, if I may quote from the VirtualBox User Manual, chapter 5, section 5.1, the last paragraph[2]:


| In general, you should avoid IDE unless it is the only controller
| supported by your guest. Whether you use SATA, SCSI or SAS does not
| make any real difference.

 
Just imagine how many people may be affected by 'IDE Controller' suddenly missing and applying the workaround by changing the name to 'IDE'.
Over the years the name has changed several times in some setups https://github.com/xdissent/ievms/issues/204 and one may expect
that sooner or later the 'IDE Controller' will reappear causing troubles again.

I'm saying that box.ovf provided by centos vagrant boxes may be possibly incorrect, as the configuration is not read.
Please verify this. The box.ovf contains 'IDE Controller' - maybe correcting box.ovf is enough to bring the 'IDE Controller' back.

Using SATA has concrete performance benefits, both in disk performance on the guest, as well as in CPU and memory usage on the host.  I'm already using SATA instead of IDE for my own experimental Vagrant boxes for VirtualBox, and switching our official boxes away from IDE is something I'm considering for the future.  Such boxes wouldn't have any IDE controller at all.

My advice would be to change your Vagrantfile to find the storage controller used by the VirtualBox VM (you can write normal Ruby code inside a Vagrantfile); if that's too complex, an alternative would be to add an additional storage controller with a name of your choosing and attach you disk image there.

adding a custom controller presupposes that there is no other controller of the same type already present,
so for example one cannot add 'IDE Controller' if an 'IDE' of type ide is already present.
Moreover testing for the presence of the controller is not elegant as it involves overriding vagrant methods: https://gist.github.com/leifg/4713995
and it would need to be worked out for all possible workflows like reloading the VM https://github.com/mitchellh/vagrant/issues/6682
with disks shareable between different VMs in a multi-machine environment.

Best regards,

Marcin
 

Best regards,
Laurențiu


[1] https://www.vagrantup.com/docs/virtualbox/boxes.html
[2] https://www.virtualbox.org/manual/ch05.html#harddiskcontrollers

_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
https://lists.centos.org/mailman/listinfo/centos-devel