hashicorp/vagrant · error · Vagrant::Errors::NetworkManagerNotInstalled

Vagrant was instructed to configure the %{device} network de

Error message

Vagrant was instructed to configure the %{device} network device to
be managed by NetworkManager. However, the configured guest VM does
not have NetworkManager installed. To fix this error please remove
the `nm_controlled` setting from local Vagrantfile. If NetworkManager
is required to manage the network devices, please use a box with
NetworkManager installed.

What it means

Error "Vagrant was instructed to configure the %{device} network device to be managed by NetworkManager. However, the configured guest VM does not have NetworkManager installed. To fix this error please remove the `nm_controlled` setting from local Vagrantfile. If NetworkManager is required to manage the network devices, please use a box with NetworkManager installed." thrown in hashicorp/vagrant.

Source

Thrown at plugins/guests/redhat/cap/configure_networks.rb:71

              # Now check if the device is actively being managed by NetworkManager
              nm_controlled = nm_controlled?(comm, network[:device])
            end

            if !extra_opts.key?(:nm_controlled)
              extra_opts[:nm_controlled] = !!nm_controlled
            end

            extra_opts[:nm_controlled] = case extra_opts[:nm_controlled]
                                      when true
                                        "yes"
                                      when false, nil
                                        "no"
                                      else
                                        extra_opts[:nm_controlled].to_s
                                      end

            if extra_opts[:nm_controlled] == "yes" && !nmcli_installed
              raise Vagrant::Errors::NetworkManagerNotInstalled, device: network[:device]
            end

            # Render a new configuration
            entry = TemplateRenderer.render("guests/redhat/network_#{network[:type]}",
              options: extra_opts.merge(network),
            )

            # Upload the new configuration
            remote_path = "/tmp/vagrant-network-entry-#{network[:device]}-#{Time.now.to_i}-#{i}"
            Tempfile.open("vagrant-redhat-configure-networks") do |f|
              f.binmode
              f.write(entry)
              f.fsync
              f.close
              machine.communicate.upload(f.path, remote_path)
            end

            # Add the new interface and bring it back up

View on GitHub (pinned to 35f3160f4a)

When it happens

Trigger: Thrown at plugins/guests/redhat/cap/configure_networks.rb:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21). Data as JSON: /api/errors/67febc9e11f9a13a. Report an issue: GitHub.