Uploaded image for project: 'FreeNAS / TrueNAS'
  1. FreeNAS / TrueNAS
  2. NAS-108263

VMs will only create up to two macvtap (vnet)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Engineering Closed (View Workflow)
    • Priority: Low
    • Resolution: Cannot Reproduce
    • Affects Version/s: Master - TrueNAS SCALE
    • Fix Version/s: N/A
    • Component/s: VM

      Description

      Hey,

      so If I start a third VM I get this error:

      Error: Traceback (most recent call last):
        File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/supervisor_base.py", line 152, in start
          if self.domain.create() < 0:
        File "/usr/lib/python3/dist-packages/libvirt.py", line 1234, in create
          if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
      libvirt.libvirtError: error creating macvtap interface macvtap0@enp1s0 (00:a0:98:29:2e:50): Device or resource busy
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "/usr/lib/python3/dist-packages/middlewared/main.py", line 137, in call_method
          result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
        File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1215, in _call
          return await methodobj(*prepared_call.args)
        File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1022, in nf
          return await f(*args, **kwargs)
        File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_lifecycle.py", line 46, in start
          await self.middleware.run_in_thread(self._start, vm['name'])
        File "/usr/lib/python3/dist-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread
          return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs))
        File "/usr/lib/python3/dist-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run
          result = self.fn(*self.args, **self.kwargs)
        File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_supervisor.py", line 61, in _start
          self.vms[vm_name].start(vm_data=self._vm_from_name(vm_name))
        File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/supervisor_base.py", line 161, in start
          raise CallError('\n'.join(errors))
      middlewared.service_exception.CallError: [EFAULT] error creating macvtap interface macvtap0@enp1s0 (00:a0:98:29:2e:50): Device or resource busy

      I have a bridge connection to my NIC and between my VMs. Otherwise, the VMs can't talk to the host and vice-versa. So all my VMs NICs are attached to the bridge. If I start a VM they will automatically create a macvtap, but only up to two. 

      Seems like the VM wants to create another "macvtap0" but this one already exists. Should be "macvtap2", in this case.

       

        Attachments

          Attachments

            JEditor

              Activity

                People

                Assignee:
                releng Release Council
                Reporter:
                AndaPlays Anda
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: