cloudstack-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Riepl, Gregor (SWISS TXT)" <Gregor.Ri...@swisstxt.ch>
Subject Re: KVM vm template with nicadapter vmxnet3
Date Thu, 16 Jul 2020 15:21:29 GMT
I think you should report this as a bug on Github and attach some output from cloudmonkey when
you try to set the adapter type.
Relevant management server logs too, if that's possible.

The adapter type is obviously supported by KVM/Qemu 1.5+ and CloudStack has it in the code
base, so I see no reason why it shouldn't work.
________________________________
From: El Nino <lintik2313@gmail.com>
Sent: 15 July 2020 20:57
To: users@cloudstack.apache.org <users@cloudstack.apache.org>
Subject: Re: KVM vm template with nicadapter vmxnet3

Hi Riepl Gregor,

Yes, my problem is from Cloudstack side and what i’am looking for is how to change the setting
for the NicModel. Like we can do on VMware hypervisor template on upload or after upload (you
can see this http://docs.cloudstack.apache.org/en/latest/_images/template-upload-from-local.PNG
<http://docs.cloudstack.apache.org/en/latest/_images/template-upload-from-local.PNG>
or http://docs.cloudstack.apache.org/en/4.13.0.0/_images/vm-settings-values1-dropdown-list.PNG
<http://docs.cloudstack.apache.org/en/4.13.0.0/_images/vm-settings-values1-dropdown-list.PNG>)
maybe we can do this directly by editing the KVM template on DB.

Today, I’am on 4.13 and libvirt already support the vmxnet3. https://github.com/apache/cloudstack/blob/4.13/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java#L980
<https://github.com/apache/cloudstack/blob/4.13/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java#L980>

Regards,

> On 15 Jul 2020, at 12:00, Riepl, Gregor (SWISS TXT) <Gregor.Riepl@swisstxt.ch>
wrote:
>
> Hi El Nino,
>
> Wow, you are actually correct.
> QEMU (the hardware emulation layer KVM uses) does have vmxnet3 emulation: https://wiki.qemu.org/ChangeLog/1.5#Network_cards
> I didn't know...
>
> Looks like they added this for converted virtual machines (for example, appliances) where
the NIC cannot be changed easily.
>
> Although: I wouldn't use it if I have a choice. virtio is better tested and probably
much faster and more stable.
>
> So I guess that your problem is on the CloudStack side. The hardware lists are hard-coded
by hypervisor, so the supported interfaces must be listed there or CloudStack won't recognize
them. CS 4.14 should supprt vmxnet3 on libvirt though: https://github.com/apache/cloudstack/blob/4.14/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java#L1113
>
> Which CloudStack version are you using?
>
> Regards,
> Gregor
> ________________________________
> From: El Nino <lintik2313@gmail.com>
> Sent: 13 July 2020 16:16
> To: users@cloudstack.apache.org <users@cloudstack.apache.org>
> Subject: Re: KVM vm template with nicadapter vmxnet3
>
> Hi Riepl Gregor,
>
> Thank you for you message.
>
> Maybe you are right,  I don’t know. But today i have the application running on a qemu/kvm
host with vmxnet3 device for networking.
>
> Here an output of all network devices available on my cloudstack kvm host.
>
> #qemu-system-x86_64 -device help
> Network devices:
> name "e1000", bus PCI, alias "e1000-82540em", desc "Intel Gigabit Ethernet"
> name "e1000-82544gc", bus PCI, desc "Intel Gigabit Ethernet"
> name "e1000-82545em", bus PCI, desc "Intel Gigabit Ethernet"
> name "e1000e", bus PCI, desc "Intel 82574L GbE Controller"
> name "i82550", bus PCI, desc "Intel i82550 Ethernet"
> name "i82551", bus PCI, desc "Intel i82551 Ethernet"
> name "i82557a", bus PCI, desc "Intel i82557A Ethernet"
> name "i82557b", bus PCI, desc "Intel i82557B Ethernet"
> name "i82557c", bus PCI, desc "Intel i82557C Ethernet"
> name "i82558a", bus PCI, desc "Intel i82558A Ethernet"
> name "i82558b", bus PCI, desc "Intel i82558B Ethernet"
> name "i82559a", bus PCI, desc "Intel i82559A Ethernet"
> name "i82559b", bus PCI, desc "Intel i82559B Ethernet"
> name "i82559c", bus PCI, desc "Intel i82559C Ethernet"
> name "i82559er", bus PCI, desc "Intel i82559ER Ethernet"
> name "i82562", bus PCI, desc "Intel i82562 Ethernet"
> name "i82801", bus PCI, desc "Intel i82801 Ethernet"
> name "ne2k_isa", bus ISA
> name "ne2k_pci", bus PCI
> name "pcnet", bus PCI
> name "rocker", bus PCI, desc "Rocker Switch"
> name "rtl8139", bus PCI
> name "usb-bt-dongle", bus usb-bus
> name "usb-net", bus usb-bus
> name "virtio-net-device", bus virtio-bus
> name "virtio-net-pci", bus PCI, alias "virtio-net"
> name "vmxnet3", bus PCI, desc "VMWare Paravirtualized Ethernet v3”
>
> After deploying the instance from cloudstack GUI, and do a virsh edit on the kvm host
to change e1000 by vmxnet3 and reboot the instance. I can see the vmxnet3 adapter on guest
OS.
> #virsh edit 23
>    <interface type='bridge'>
>      <mac address='02:00:27:b9:00:04'/>
>      <source bridge='brens20-3951'/>
>      <bandwidth>
>        <inbound average='25600' peak='25600'/>
>        <outbound average='25600' peak='25600'/>
>      </bandwidth>
>      <model type='vmxnet3'/>
>      <link state='up'/>
>      <alias name='net0'/>
>      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>    </interface>
>
> Where i’am wrong ?
>
> Regards,
>
>
>> On 13 Jul 2020, at 15:07, Riepl, Gregor (SWISS TXT) <Gregor.Riepl@swisstxt.ch>
wrote:
>>
>> Hi El Nino,
>>
>> I think there is a bit of a misconception here: vmxnet3 is a specific, proprietary,
paravirtualized network interface provided by VMware (ESX).
>>
>> There is no vmxnet3 support in KVM. KVM provides its own paravirtualized network
interface, called virtio_network: https://www.linux-kvm.org/page/Paravirtualized_networking
>>
>> If you have an application that requires paravirtualized networking, you should use
this.
>> If your application doesn't support anything besides vmxnet3, you should ask your
application vendor to provide a version that doesn't depend on VMware.
>>
>> Regards,
>> Gregor
>> ________________________________
>> From: El Nino <lintik2313@gmail.com>
>> Sent: 13 July 2020 10:47
>> To: users@cloudstack.apache.org <users@cloudstack.apache.org>
>> Subject: Re: KVM vm template with nicadapter vmxnet3
>>
>> Hi,
>>
>> Thank you for you answer, but what i’am looking for is to use the vmxnet3 adapter
with kvm vm and avoid to use the default e1000.
>>
>> I have some applications that only work with vmxnet3 and not e1000 or RTL8139.
>>
>> Kvm is compatible with vmxnet3 and on the LibVirtVMDef.java we have the vmxnet3 on
NicModel function.
>>
>> With this, i want to know if we can edit the template on cloudstack by api or editing
the database to change this parameter.
>>
>> Regards,
>>
>>
>>> Hi.
>>>
>>>> Am 12.07.20 um 20:27 schrieb El Nino:
>>>> I need to create a kvm vm template with vmxnet3 nic adapter but I'm not
>>>> able to do this. I know this is possible for VMware clusters but the option
>>>> is not available for kvm template.
>>>
>>> vmxnet3 is the name of a VMWare adapter.
>>> KVM NIC names differ.
>>> Have a look at http://docs.cloudstack.apache.org/en/latest/quickinstallationguide/qig.html#kvm-setup-and-installation
>>> http://docs.cloudstack.apache.org/en/latest/installguide/hypervisor/kvm.html#configuring-the-networking
>>>
>>> Best
>>> Michael
>>>
>>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message