Giter Club home page Giter Club logo

vagrant-dns's Introduction

vagrant-dns

vagrant-dns allows you to configure a dns-server managing a development subdomain. It works much like pow, but manages Vagrant machines.

Installation

$ vagrant plugin install vagrant-dns

Attention: As of v2.0.0, vagrant-dns requires vagrant >= 1.9.6 (because it ships with a more modern version of ruby)
If you get an error like rubydns requires Ruby version >= 2.2.6. while installing, you probably need to upgrade vagrant.
Alternatively, you can install an older version of vagrant-dns like this: vagrant plugin install --plugin-version="<2" vagrant-dns

Usage

In addition to your networking config, configure a top-level domain and a hostname for your machine. Optionally, configure a set of free matching patterns. Global configuration options can be given through the VagrantDNS::Config object:

Vagrant.configure("2") do |config|
  # ...

  config.dns.tld = "test"

  config.vm.hostname = "machine"

  config.dns.patterns = [/^(\w+\.)*mysite\.test$/, /^(\w+\.)*myothersite\.test$/]

  config.vm.network :private_network, ip: "33.33.33.60"
end

# optional
VagrantDNS::Config.logger = Logger.new("dns.log")

Then, register the DNS server as a resolver:

$ vagrant dns --install

This command will write out a configuration file that tells the operating system to resolve the .test TLD via the vagrant-dns DNS server. On OS X, this config file is located at /etc/resolver/test while on Linux it's at /etc/systemd/resolved.conf.d/vagrant-dns.conf.

You will have to rerun --install every time a tld is added.

You can delete this file by running:

$ vagrant dns --uninstall

To also delete the created config file for this TLD (~/.vagrant.d/tmp/dns/resolver/test or ~/.vagrant.d/tmp/dns/resolver/vagrant-dns.conf in our example) run:

$ vagrant dns --purge

Then, run the DNS server:

$ vagrant dns --start

And test it:

OS X:

$ scutil --dns
[ … ]
resolver #8
  domain   : test
  nameserver[0] : 127.0.0.1
  port     : 5300
[ … ]

$ dscacheutil -q host -a name test.machine.test
name: test.machine.test
ip_address: 33.33.33.10

Linux:

$ resolvectl status
Global
       Protocols: LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
      DNS Domain: ~test
[ … ]

$ resolvectl query test.machine.test
test.machine.test: 33.33.33.10

-- Information acquired via protocol DNS in 10.1420s.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no

Note: Mac OS X is quite different from Linux regarding DNS resolution. As a result, do not use dig or nslookup, but dscacheutil instead. Read this article for more information.

You can now reach the server under the given domain.

$ vagrant dns --stop

The DNS server will start automatically once the first VM is started.

You can list the currently configured dns patterns using:

$ vagrant dns --list

(Keep in mind, that it's not guaranteed that the running server uses exactly this configuration - for example, when manually editing it.)
The output looks somewhat like this:

/^.*mysite.test$/ => 33.33.33.60
/^.*myothersite.test$/ => 33.33.33.60

Where the first part of each line is a regular expression and the second part is the mapped IPv4. (=> is just a separator)

Multi VM config

We can use multivm configuration and have dns names for host.

  • Use below given vagrant config
    BOX_IMAGE = "ubuntu/xenial64"
    WORKER_COUNT = 2
    Vagrant.configure("2") do |config|
      (1..WORKER_COUNT).each do |i|
        config.vm.define "worker#{i}" do |subconfig|
          subconfig.dns.tld = "test"
          subconfig.vm.hostname = "vagrant"
          subconfig.dns.patterns = "worker#{i}.mysite.test"
          subconfig.vm.box = BOX_IMAGE
          subconfig.vm.network "private_network", ip: "10.240.0.#{i+15}"
        end
      end
    end
  • vagrant up
  • Execute : vagrant dns --install
  • Test via: ping worker2.mysite.box or worker1.mysite.box

VM options

  • vm.dns.tld: Set the tld for the given virtual machine. No default.
  • vm.dns.tlds: Set multiple TLDs. Default: [tld]
  • vm.dns.patterns: A list of domain patterns to match. Defaults to [/^.*{host_name}.{tld}$/]
  • vm.dns.ip: Optional, overwrite of the default static IP detection. Valid values are:
    • Proc: A Proc which return value will get used as IP. Eg: proc { |vm, opts| } (See DHCP section for full sample)
    • Symbol: Forces the use of the named static network:
      • :private_network: Use static ip of a configured private network (config.vm.network "private_network", ip: "192.168.50.4")
      • :public_network: Use static ip of a configured public network (config.vm.network "public_network", ip: "192.168.0.17")
      • :dynamic, :dhcp: Force reading the guest IP using vagrants build-in read_ip_address capability.
    • Default: If there is no network with a statically defined IP, and no ip override is given, use the build-in read_ip_address capability. Else, check :private_network, if none found check :public_network

Global Options

  • VagrantDNS::Config.listen: an Array of Arrays describing interfaces to bind to. Defaults to [[:udp, "127.0.0.1", 5300]].
  • VagrantDNS::Config.ttl: The time-to-live in seconds for all resources. Defaults to 300 (5 minutes).
  • VagrantDNS::Config.auto_run: (re)start and reconfigure the server every time a machine is started. On by default.
  • VagrantDNS::Config.check_public_suffix: Check if you are going to configure a Public Suffix (like a Top Level Domain) in a VMs tld(s) config, which could mess up your local dev machines DNS config. Possible configuration values are:
    • false: Disables the feature.
    • "warn": Check and print a warning. (Still creates a resolver config and potentially messes up your DNS) At the moment, this is the default because lots of projects used to use "dev" as a TLD, but this got registered by google and is now a public suffix.
    • "error": Check and prevent the box from starting. (Does not create the resolver config, it will also prevent the box from starting.)
  • VagrantDNS::Config.passthrough: Configure how to deal with non-matching DNS queries. Will be set to false if no passthrough_resolver could be detected, or none is set.
    • true: (default) Every non-matching query is passed through to the upstream DNS server (see passthrough_resolver)
    • false: Disable passthrough. Every non-A-query to a matching pattern fails with NotImp. Every other query fails with NXDomain.
    • :unknown: Only forward queries for which there's no matching pattern. Every non-A-query to a matching pattern fails with NotImp. Every other query will be passed through.
  • VagrantDNS::Config.passthrough_resolver: By default, DNS queries not matching any patterns will be passed to an upstream DNS server.
    • :system: (Default) pass through to the system configured default DNS server
    • [[:udp, "1.1.1.1", 53], [:tcp, "1.1.1.1", 53]]: an Array of Arrays describing the DNS server(s) to use. (Protocol, IP, Port)

Using custom domains from inside the VM (VirtualBox only)

If you need to be able to resolve custom domains managed by this plugin from inside your virtual machine (and you're using VirtualBox), add the following setting to your Vagrantfile:

Vagrant.configure(2) do |config|
  # ...
  config.vm.provider "virtualbox" do |vm_config, override|
    vm_config.customize [
      "modifyvm", :id,
      "--natdnshostresolver1", "on",
      # some systems also need this:
      # "--natdnshostresolver2", "on"
    ]
  end
end

By default, the Virtualbox NAT engine offers the same DNS servers to the guest that are configured on the host. With the above setting, however, the NAT engine will act as a DNS proxy (see Virtualbox docs). That way, queries for your custom domains from inside the guest will also be handled by the DNS server run by the plugin.

DHCP / Dynamic IP

When configuring your VM with a DHCP network, vagrant-dns tries to identify the guest IP using vagrants build-in read_ip_address capability.

For more fine-grained control use the ip config. Here is an example using the VM's default way of communication and using the hostname command on it:

Vagrant.configure("2") do |config|
  # ...

  # - `vm` is the vagrant virtual machine instance and can be used to communicate with it
  # - `opts` is the vagrant-dns options hash (everything configured via `config.dns.*`)
  config.dns.ip = -> (vm, opts) do
    # note: the block handed to `execute` might get called multiple times, hence this closure
    ip = nil
    vm.communicate.execute("hostname -I | cut -d ' ' -f 1") do |type, data|
      ip = data.strip if type == :stdout
    end
    ip
  end
end

NOTES: In order to obtain the IP in this way, the vagrant box needs to be up and running. You will get a log output (Postponing running user provided IP script until box has started.) when you try to run vagrant dns on a non-running box.

Issues

  • macOS and systemd-resolved enabled Linux only (please read: Platform Support before ranting about this).
  • A records only
  • No IPv6 support
  • Not automatically visible inside the box (special configuration of your guest system or provider needed)

vagrant-dns's People

Contributors

ciastek avatar fnordfish avatar ioquatix avatar lox avatar mattiasb avatar mpdude avatar murarisumit avatar njam avatar philandstuff avatar sandstrom avatar sheerun avatar skade avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vagrant-dns's Issues

RubyDNS 2.0.0-rc1

This update is a big improvement to stability, if you have time to try it out and report any issues that would be great.

It removes celluloid/celluloid-dns as a dependency, and adds async/async-dns instead. I wrote these because I was disappointed with the direction of celluloid, the many bugs, and design problems it has, which have not been fixed in over 2 years.

Compatible with Vagrant 1.0.5 ?

I've tried installing vagrant-dns command in Vagrant 1.0.5 and it's not parsing the config.dns.* entries in the Vagrantfile config.

/Vagrant/embedded/gems/gems/vagrant-1.0.5/lib/vagrant/config/top.rb:29:in method_missing': undefined methoddns' for #Vagrant::Config::Top:0x00000102002dc0 (NoMethodError)

Is anyone running vagrant-dns with the latest version of Vagrant ?

multi-machine support

It would be very useful if this plugin could support multi machines enviroments
At the time it seems not possible

Linux support (?)

There is an explanation by @heftig on how to add additional name services in Linux.

codemancers/invoker#22 (comment)

I am not sure whether I like the solution, though. It involves registering a complete new name service with libc, which - in contrast to the OS X variant - potentially impacts the whole system.

Accessing VMs from another device in the same network

For testing and developing on mobile devices it would be great if we could access vagrant boxes from devices on the same network (let's call them "iPhone").

Our idea to accomplish this is something like this:

  • Allow vagrant-dns to bind on port 53, therefore becoming the default DNS server on the Mac (#32)
  • Connect to an "Internet Sharing" interface from the iPhone to the Mac. This will make the iPhone use the Mac's DNS server (vagrant-dns). To accomplish that the iPhone can actually access the VM we would need to use vagrant bridged networking. This would require vagrant-dns to retrieve the IP address from within the box after booting and use it for resolving.

@kris-lab @fnordfish what do you think?

Answer NOTIMPL on AAAA instead of dropping

TL;DR

Saying that we don't support AAAA queries by returning NOTIMPL on such queries will make interoperability with other software (notably systemd-resolved) work better. :)

The longer story

When looking for AAAA records from the DNS server in vagrant-dns I get this:

$ dig AAAA mgmt.test @127.0.0.153 -p 5300
;; communications error to 127.0.0.153#5300: timed out
;; communications error to 127.0.0.153#5300: timed out
;; communications error to 127.0.0.153#5300: timed out

; <<>> DiG 9.18.13 <<>> AAAA mgmt.test @127.0.0.153 -p 5300
;; global options: +cmd
;; no servers could be reached

NOTE: I've set VagrantDNS::Config.listen = [[:udp, '127.0.0.153', 5300]] in my Vagrantfile.

Since systemd-resolved (and hence also nss-resolve¹) queries both A and AAAA when resolving a name each name resolution to the vagrant-dns server ends in a timeout on Linux. It usually takes around 10s to resolve a domain name from vagrant-dns for me. I've been ignoring this for a while since I've been so happy to just have something working (and we had the same issues with landrush as well).

Example session with resolvectl query and ping:

$ resolvectl query mgmt.test
mgmt.test: 192.168.122.46

-- Information acquired via protocol DNS in 10.0308s.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network

$ time ping -c 1 mgmt.test
PING mgmt.test (192.168.122.46) 56(84) bytes of data.
64 bytes from 192.168.122.46 (192.168.122.46): icmp_seq=1 ttl=64 time=0.302 ms

--- mgmt.test ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.302/0.302/0.302/0.000 ms

real	0m10,106s
user	0m0,000s
sys	0m0,002s

From reading issue #22575 of systemd and specifically this comment it seems that a nicer way to handle not supporting AAAA records would be to return a NOTIMPL return code. That would in turn make the name resolution take milliseconds and just return the A answer.

My guess is that one might need to do work upstream in rubydns to get this working.

NOTE: I'm not suggesting adding support for AAAA (and hence IPv6) btw. :) Just to respond a little bit nicer! :)

1: nss-resolve is the resolved backend for nss that is in turn used by glibc for getaddrinfo etc.

Installation fails with vagrant 1.4.3

So I thought hey, lets upgrade to vagrant 1.4.3, what can possibly go wrong?

It then complained that vagrant-dns was installed for an earlier version and needs to be upgraded, so I did a plugin reinstall, and while thinking what could possibly go wrong I was greeted with this friendly stacktrace:

$ vagrant plugin install vagrant-dns
Installing the 'vagrant-dns' plugin. This can take a few minutes...
/Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/ext/builder.rb:62:in `run': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

    /Applications/Vagrant/embedded/bin/ruby extconf.rb
/Applications/Vagrant/embedded/bin/ruby: invalid switch in RUBYOPT: -S (RuntimeError)

Gem files will remain installed in /Users/msteinhoff/.vagrant.d/gems/gems/eventmachine-1.0.3 for inspection.
Results logged to /Users/msteinhoff/.vagrant.d/gems/gems/eventmachine-1.0.3/ext/gem_make.out
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/ext/ext_conf_builder.rb:39:in `block in build'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/tempfile.rb:324:in `open'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/ext/ext_conf_builder.rb:19:in `build'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:689:in `block (3 levels) in build_extensions'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:688:in `chdir'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:688:in `block (2 levels) in build_extensions'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:687:in `synchronize'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:687:in `block in build_extensions'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:662:in `each'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:662:in `build_extensions'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/installer.rb:227:in `install'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/dependency_installer.rb:379:in `block in install'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/dependency_installer.rb:339:in `each'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/dependency_installer.rb:339:in `each_with_index'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/dependency_installer.rb:339:in `install'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/action/install_gem.rb:65:in `block in call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
    from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/user_interaction.rb:40:in `use_ui'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/action/install_gem.rb:52:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builder.rb:116:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `block in run'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/util/busy.rb:19:in `busy'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `run'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/command/base.rb:17:in `action'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/command/install.rb:27:in `execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/plugins/commands/plugin/command/root.rb:56:in `execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/cli.rb:38:in `execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/environment.rb:484:in `cli'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.3/bin/vagrant:127:in `<top (required)>'
    from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
    from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'

I'm not a rubyist and don't have any idea what exactly went wrong but I will gladly help doing any troubleshooting steps.

Install fails with devkit LoadError

Installation of vagrant-dns fails on a fresh vagrant setup on Windows 10.

vagrant version

Installed Version: 2.2.19
Latest Version: 2.2.19

vagrant plugin install vagrant-dns

Fetching nio4r-2.5.8.gem
Vagrant failed to properly resolve required dependencies. These
errors can commonly be caused by misconfigured plugin installations
or transient network issues. The reported error is:

ERROR: Failed to build gem native extension.

current directory: C:/Users/uwe/.vagrant.d/gems/2.7.4/gems/nio4r-2.5.8/ext/nio4r

C:/HashiCorp/Vagrant/embedded/mingw64/bin/ruby.exe -I C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0 -r ./siteconf20220107-14964-uxuw0.rb extconf.rb
ch file -- devkit (LoadError)
from C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in 'require'
from extconf.rb:7:in main

extconf failed, exit code 1

I've also compiled the gem (2.2.0) from the current git tip and get the same error.

More than 2 vm dns config

Vagrant: Vagrant 2.1.1

BOX_IMAGE = "ubuntu/xenial64"
NODE_COUNT = 2

Vagrant.configure("2") do |config|
  config.dns.tld = "dev"
  config.vm.hostname = "vagrant2"
  config.dns.patterns = [/^.*mysite.dev$/, /^.*myothersite.dev$/]

  (1..NODE_COUNT).each do |i|
    config.vm.define "node#{i}" do |subconfig|

      subconfig.vm.box_check_update = false
      subconfig.vm.box = BOX_IMAGE
      subconfig.vm.network "private_network", ip: "33.33.33.#{i+10}"
      subconfig.vm.provider "virtualbox" do |vb|
          vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
        end
    end
  end
end
$ > vagrant dns -l
/^.*vagrant.dev$/ => 33.33.33.12

Is there any way to resolve dns for multi-vms.

10 second ping times, maybe related to RARP not working

I have a very simple setup, and it does correctly resolve names. At first looking up names was very slow, but I discovered the passthrough = .unknown trick. Now nslookup is fast, but ping is still slow.

vagrant@machine:~$ date -Iseconds ; ping -c1 machine.test ; date -Iseconds
2024-01-06T16:26:37+00:00
PING machine.test (192.168.56.10) 56(84) bytes of data.
64 bytes from 192.168.56.10: icmp_seq=1 ttl=64 time=0.033 ms

--- machine.test ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.033/0.033/0.033/0.000 ms
2024-01-06T16:26:47+00:00
vagrant@machine:~$ date -Iseconds ; nslookup machine.test ; date -Iseconds
2024-01-06T16:28:38+00:00
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	machine.test
Address: 192.168.56.10
** server can't find machine.test: NOTIMP

2024-01-06T16:28:38+00:00

This is just one ping, but with repeated pings each individual request is slow. And yet, the times reported are fast, suggesting it's the DNS lookups that are slow not the ping itself.

I'm running Ubuntu 22.04 on both the host and the guest. Vagrant is 2.2.19, Virtualbox is 6.1.38. Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"
  config.vm.network "private_network", ip: "192.168.56.10"
  config.dns.tld = "test"
  config.vm.hostname = "machine"
end

VagrantDNS::Config.logger = Logger.new("dns.log")
VagrantDNS::Config.passthrough = :unknown

I turned up the resolver logging. I can see the initial A and AAAA requests return quickly. But then I see RARP requests every 5s until it gives up after 2min. I suspect that this is related. Hypothesis is that ping wants to do RARP lookups for some reason, this doesn't work immediately, and after 10s it gives up. Meanwhile the resolver keeps retrying for 2min. I don't know enough about ping to know why it would do that. But in any case, this sounds similar to the AAAA timeout problems I saw earlier: if RARP won't work it should say so immediately rather than waiting for a two-minute timeout.

I ruled out some possible causes. I noticed that my guests' clocks were two minutes out of sync, so I installed NTP. That didn't help. I also suspected it might be due to having wifi and ethernet both connected to the same network at the same time, but switching off ethernet didn't help. And I thought maybe all the continual requests from the rest of the system might be slowing it down, but I stripped away everything except Ubuntu's connectivity check and it didn't help.

Allow for static IP entries

First of all, thanks for the great plugin.

Maybe I am missing something, but I cannot find a way how to add a static IP entry not belonging to any managed VM.

My use-case: 3 managed VMs are configured with keepalived to create a virtual IP in the same network. I'd like to assign a name to this IP using this plugin.

Here's my shortened Vagrant file:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = false
    vb.default_nic_type = "virtio"
    vb.linked_clone = true
    vb.memory = "#{1024 * 6}"
    vb.cpus = 3
  end

  NET = "192.168.56"
  GW = "#{NET}.1"       # localhost IP on the VM network
  API_VIP = "#{NET}.9"

  config.dns.tld = "vdev"
  config.dns.patterns = [/^(?:\w+\.)?k0s.vdev$/]

  N = 3  # number of schedulable control-plane nodes
  (1..N).each do |machine_id|
    config.vm.define ("ctrl-%02d" % [machine_id]) do |machine|

      machine.vm.hostname = "ctrl-%02d" % [machine_id]

      machine.vm.network "private_network",
        ip: "#{NET}.#{10+machine_id}"

      machine.dns.patterns = "#{machine.vm.hostname}.k0s.vdev"
      
      machine.vm.provision "shell",
        run: 'always',
        inline: <<-EOF
        set -euo pipefail
        if ip route | grep -q '^default via #{GW} dev.*'; then
          echo "replacing default GW ..."
          ip route replace default via #{GW} metric 10
        else
          echo "adding default GW ..."
          ip route add default via #{GW} metric 10
        fi
        EOF

      if machine_id == N
        machine.vm.provision :ansible do |ansible|
          ...

          ansible.groups = {
            "masters"                             => ["ctrl-[01:%02d]" % [N]],
            "masters:vars"                        => {
              "k8s_master_keepalived_vip_address" => "#{API_VIP}/24",
              # TODO: allow to add custom DNS entries without adding more VMs
              #"k0s_api_url"                       => "https://api.k0s.vdev:6443",
              "k0s_api_url"                       => "https://#{API_VIP}:6443",
              ...
            }
          }
        end
    end
  end
end

I wonder if in addition to config.dns.patterns = [/^(?:\w+\.)?k0s.vdev$/], one could add something like:

config.dns.hosts = {
    "api.k0s.vdev"    => "192.168.56.09",
    "*.apps.k0s.vdev" => "192.168.56.10",
}

Your help would be appreciated.

DNS names not visible inside box

In your README file you state "Not visible inside the box", which at least for Virtualbox you can easily fix by adding the provisioning flag --natdnshostresolver1=on. So below virtualbox provisioner configuration would switch this on for you and then you can DNS resolve against RubyDNS from within this and any other box you may start with this configuration switch.

config.vm.provider "virtualbox" do |vb|
  vb.gui = false
  vb.name = "mybox"
  vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
end

Checking

[vagrant@mybox ~]$ ping -c 1 mybox.vagrant.dev
PING mybox.vagrant.dev (192.168.34.188) 56(84) bytes of data.
64 bytes from 192.168.34.188: icmp_seq=1 ttl=64 time=0.015 ms

--- mybox.vagrant.dev ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.015/0.015/0.015/0.000 ms

Find a more elegant way to create system files

Creating the resolvers symlink (/etc/resolver/tld) to our temp file (~/vagrant.d/tmp/dns/resolver/tld) requires root permissions. Prior vagrant-dns 0.4.0 you needed to run the installation process using sudo or alike. As a ancillary side effect, this also created some files in your user space with root permission, which made those files inaccessible when running as "normal user".

The solution merged into from pull request #12 uses backticks to spawn a "sudo" process when needed.
This certainly gets the job done, but isn't quite elegant and also makes a lot of assumptions of how your user land is configured.

However, I can't think of any really good solution at the moment.

Is this project still kicking? :)

Howdy. I have been using this plugin for some months, with good success. 🥇 I have some minor bugs to file, but it looks like there's been no movement here since 2018. Is this project still maintained, or was it forked, or it's functions been subsumed by another plugin? Cheers, and thanks for this useful Vagrant plugin.

Windows support

Hi

I know it's quite unlikely you'ld do it, but please add Windows support

Best regards,

vagrant-dns hangs on restart

I configured vagrant-dns according to instructions, but when bringing my machine up, the boot process hangs (the machine comes up successfully however, and DNS queries to it resolve).

This hang started happening only when I installed vagrant-dns, so I am thinking it is the culprit. Here's the behavior I've seen:

If I have a vagrant-dns server already running, the "vagrant up" process tries to kill it (I see messages from vagrant-dns to that effect). Then, I see in my process list that a new vagrant-dns is up. Then, everything hangs. If I press Ctrl-C, this is what I get:

^C/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/ui.rb:184:in `synchronize': can't be called from trap context (ThreadError)
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/ui.rb:184:in `say'
from (eval):3:in `warn'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/ui.rb:215:in `block (2 levels) in <class:BasicScope>'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:62:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:49:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:49:in `block in fire_callbacks'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:49:in `each'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:49:in `fire_callbacks'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:33:in `block (2 levels) in register'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/batch_action.rb:76:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/batch_action.rb:76:in `join'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/batch_action.rb:76:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/batch_action.rb:53:in `each'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/batch_action.rb:53:in `run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:213:in `block (2 levels) in batch'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:208:in `tap'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:208:in `block in batch'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:207:in `synchronize'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:207:in `batch'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/commands/up/command.rb:55:in `execute'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/cli.rb:38:in `execute'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/environment.rb:484:in `cli'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/bin/vagrant:127:in `<top (required)>'
from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'

DNS does not work inside the box

Just as the README says: Name resolution does not work inside the guest VM.

Is that an open bug, a systematic problem, something we could work around?

Can't install vagrant-dns despite latest vagrant and ruby

I'm failing to install vagrant-dns although I'm on the latest vagrant version (as per instructions in Readme.md) and installed ruby 3.1.0 via frum. It seems vagrant still sees the default old ruby version that comes with MacOS.

~> frum versions

  • 3.1.0
    ~> ruby -v
    ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin20]
    ~> vagrant -v
    Vagrant 2.2.19
    ~> vagrant plugin install vagrant-dns
    Installing the 'vagrant-dns' plugin. This can take a few minutes...
    Vagrant failed to properly resolve required dependencies. These
    errors can commonly be caused by misconfigured plugin installations
    or transient network issues. The reported error is:

io-event requires Ruby version >= 3.0. The current ruby version is 2.7.4.191.

Any ideas how I can convince vagrant to use the right ruby version?

RubyDNS 0.6.0 Changes

Hi,

RubyDNS 0.6.0 has ONE backwards incompatible change. The order of arguments for pattern based rules has changed.

Previously:

match(/pattern/, ...) do |match_data, transaction|
end

Now:

match(/pattern/, ...) do |transaction, match_data|
end

The motivation for this change is that match_data is often not needed, so now can be dropped from the argument list all together:

match(/pattern/, ...) do |transaction|
end

Let me know if you have any questions.

possible to use with public bridged network?

I have my vagrant-configured VMs using "public" networking through a network bridge, so they are in the same 192.168.1.0 network. I would love to be able to access these VMs by name from the host system (my laptop) using vagrant-dns:

scp foo.dat vm1.dev:.
ssh vm2.dev

My Vagrantfile look like this:

  config.dns.tld = "dev"
  config.vm.hostname = "cathy"
  config.vm.network :public_network, :bridge => 'en1: USB Ethernet', :mac => "00000C00000C", :ip => "192.168.1.32"
  config.vm.box = "precise64"

TIA for any suggestions how to cope with this!

huge log file in `tmp/dns/daemon/vagrant-dns.output`

I just realised that I had a log file with a size of 229.8 GB at tmp/dns/daemon/vagrant-dns.output

Its content looked like this:

Passthrough response: #<Resolv::DNS::Message:0x00007f216e950808 @id=50173, @qr=1, @opcode=0, @aa=0, @tc=0, @rd=1, @ra=1, @rcode=0, @question=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, Resolv::DNS::Resource::IN::A]], @answer=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, 550, #<Resolv::DNS::Resource::IN::CNAME:0x00007f216e956190 @name=#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, @ttl=550>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e954f98 @address=#<Resolv::IPv4 44.240.238.241>, @ttl=10>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e954020 @address=#<Resolv::IPv4 34.209.58.21>, @ttl=10>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e95b500 @address=#<Resolv::IPv4 44.237.196.225>, @ttl=10>]], @authority=[], @additional=[]>
Passthrough response: #<Resolv::DNS::Message:0x00007f216e963570 @id=34436, @qr=1, @opcode=0, @aa=0, @tc=0, @rd=1, @ra=1, @rcode=0, @question=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, Resolv::DNS::Resource::IN::A]], @answer=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, 550, #<Resolv::DNS::Resource::IN::CNAME:0x00007f216e960e60 @name=#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, @ttl=550>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e966db0 @address=#<Resolv::IPv4 44.240.238.241>, @ttl=10>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e964f10 @address=#<Resolv::IPv4 34.209.58.21>, @ttl=10>], [#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, 10, #<Resolv::DNS::Resource::IN::A:0x00007f216e96ad48 @address=#<Resolv::IPv4 44.237.196.225>, @ttl=10>]], @authority=[], @additional=[]>
Passthrough response: #<Resolv::DNS::Message:0x00007f216e919bc8 @id=4129, @qr=1, @opcode=0, @aa=0, @tc=0, @rd=1, @ra=1, @rcode=0, @question=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, Resolv::DNS::Resource::IN::AAAA]], @answer=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, 484, #<Resolv::DNS::Resource::IN::CNAME:0x00007f216e91fb18 @name=#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, @ttl=484>]], @authority=[[#<Resolv::DNS::Name: prod.mozaws.net.>, 184, #<Resolv::DNS::Resource::IN::SOA:0x00007f216e91e0d8 @mname=#<Resolv::DNS::Name: ns-1260.awsdns-29.org.>, @rname=#<Resolv::DNS::Name: awsdns-hostmaster.amazon.com.>, @serial=1, @refresh=7200, @retry=900, @expire=1209600, @minimum=86400, @ttl=184>]], @additional=[]>
Passthrough response: #<Resolv::DNS::Message:0x00007f216e921b98 @id=40200, @qr=1, @opcode=0, @aa=0, @tc=0, @rd=1, @ra=1, @rcode=0, @question=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, Resolv::DNS::Resource::IN::AAAA]], @answer=[[#<Resolv::DNS::Name: location.services.mozilla.com.>, 484, #<Resolv::DNS::Resource::IN::CNAME:0x00007f216e927660 @name=#<Resolv::DNS::Name: locprod2-elb-us-west-2.prod.mozaws.net.>, @ttl=484>]], @authority=[[#<Resolv::DNS::Name: prod.mozaws.net.>, 184, #<Resolv::DNS::Resource::IN::SOA:0x00007f216e924848 @mname=#<Resolv::DNS::Name: ns-1260.awsdns-29.org.>, @rname=#<Resolv::DNS::Name: awsdns-hostmaster.amazon.com.>, @serial=1, @refresh=7200, @retry=900, @expire=1209600, @minimum=86400, @ttl=184>]], @additional=[]>

It grows super-fast too.

Any idea what could be wrong? 🤔

It seems to come from here.

Getting dynamic IP fails when starting multiple hosts

Hey!

With the latest 2.4.0 release vagrant-dns works really great compared to Landrush on Fedora and Ubuntu. Thanks for that!

One issue a colleague saw today was that given three VMs (kub01.test – kub03.test) the following:

$ vagrant up /kub/ # Or: vagrant up kub0{1..3}.test

... gets the correct IP for only one of the machines. Which one that is, seems to be a race condition.

For now we just do either:

$ for i in 1 2 3; do vagrant up kub0${i}.test; done

... or ...

$ vagrant up /kub/ && vagrant dns -r

I tried to understand where the issue comes from but failed unfortunately.

Ignoring {hitimes,nio4r} because its extensions are not built

I'm getting the following message because of vagrant-dns.

Ignoring hitimes-1.2.4 because its extensions are not built.  Try: gem pristine hitimes --version 1.2.4
Ignoring nio4r-1.2.1 because its extensions are not built.  Try: gem pristine nio4r --version 1.2.1

If I uninstall vagrant-dns, the messages disappear. Is there any way to fix these warnings?

Vagrant version is: 1.9.1

$ vagrant plugin list
vagrant-dns (1.0.0)
vagrant-share (1.1.6, system)
vagrant-vmware-fusion (4.0.15)

Exception when no TLDS are configured

I followed the tutorial on http://vagrantup.com/docs/getting-started/index.html and got the exception below.

In order to make it run, I put the .each loop under an if tlds statement.

I can send a pull request if you want.

rmetzler-macbook:vag richard$ vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
[vagrant] Downloading with Vagrant::Downloaders::HTTP...
[vagrant] Downloading box: http://files.vagrantup.com/lucid32.box
[vagrant] Extracting box...
[vagrant] Verifying box...
[vagrant] Cleaning up downloaded box...
rmetzler-macbook:vag richard$ vagrant init lucid32
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
rmetzler-macbook:vag richard$ vagrant up
[default] Importing base box 'lucid32'...
[default] Matching MAC address for NAT networking...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Destroying VM and associated drives...
/Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-dns-0.2.2/lib/vagrant-dns/configurator.rb:26:in `regenerate_resolvers!': undefined method `each' for nil:NilClass (NoMethodError)
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-dns-0.2.2/lib/vagrant-dns/configurator.rb:14:in `run!'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-dns-0.2.2/lib/vagrant-dns/restart_middleware.rb:11:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/sane_defaults.rb:60:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/network.rb:62:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/clear_network_interfaces.rb:26:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/host_name.rb:10:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/share_folders.rb:20:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/clear_shared_folders.rb:13:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/nfs.rb:41:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/prune_nfs_exports.rb:15:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/provision.rb:27:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/forward_ports.rb:24:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_port_collisions.rb:42:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/env/set.rb:16:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/clear_forwarded_ports.rb:13:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/clean_machine_folder.rb:17:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_accessible.rb:18:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/general/validate.rb:13:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/general/check_virtualbox.rb:23:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/match_mac_address.rb:16:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/default_name.rb:17:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_guest_additions.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/import.rb:31:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_box.rb:28:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_accessible.rb:18:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/general/validate.rb:13:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/general/check_virtualbox.rb:23:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/builder.rb:92:in `call'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/runner.rb:49:in `run'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/util/busy.rb:19:in `busy'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/action/runner.rb:49:in `run'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/vm.rb:192:in `run_action'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/vm.rb:145:in `up'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/command/up.rb:31:in `execute'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:116:in `with_target_vms'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:111:in `each'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:111:in `with_target_vms'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/command/up.rb:24:in `execute'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/cli.rb:42:in `execute'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/lib/vagrant/environment.rb:167:in `cli'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/gems/vagrant-1.0.3/bin/vagrant:43
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/bin/vagrant:19:in `load'
    from /Users/richard/.rvm/gems/ruby-1.8.7-p334/bin/vagrant:19

macOS 13.x Ventura, daemon crashes on start

When starting the daemon on macOS 13.0 Beta Ventura the daemon appears to crash on startup,

The following log lines are output:

objc[15801]: +[NSPlaceholderMutableString initialize] may have been in progress in another thread when fork() was called. objc[15801]: +[NSPlaceholderMutableString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.

Running the service in the foreground with:
vagrant dns --start --ontop
Runs fine as a workaround, no errors logged.

List dns entries in RubyDNS

After landrush is dead and buried, I am looking for a new dns solution.

Is it possible for this plugin to somehow list the DNS entries in the RubDNS? Also where are these records stored, are they just held in memory or written to disk to survive restarts? Last but not least, I noticed that the DNS server is restarted every time I do a vagrant reload, if I run a vagrant file with multiple machines will any old configuration be flushed?

Error: configurator.rb:45:in `register_patterns!': undefined method `last' for {}:Hash

I get the following error...

/Users/matthias/.vagrant.d/gems/gems/vagrant-dns-0.4.0/lib/vagrant-dns/configurator.rb:45:in `register_patterns!': undefined method `last' for {}:Hash (NoMethodError)
    from /Users/matthias/.vagrant.d/gems/gems/vagrant-dns-0.4.0/lib/vagrant-dns/configurator.rb:16:in `run!'
    from /Users/matthias/.vagrant.d/gems/gems/vagrant-dns-0.4.0/lib/vagrant-dns/restart_middleware.rb:13:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/warden.rb:34:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/builtin/call.rb:57:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/warden.rb:34:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/warden.rb:34:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/builder.rb:116:in `call'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/runner.rb:61:in `block in run'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/util/busy.rb:19:in `busy'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/action/runner.rb:61:in `run'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/machine.rb:147:in `action'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commands/reload/command.rb:29:in `block in execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/plugin/v2/command.rb:182:in `block in with_target_vms'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/plugin/v2/command.rb:180:in `each'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/plugin/v2/command.rb:180:in `with_target_vms'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commands/reload/command.rb:28:in `execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/cli.rb:46:in `execute'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/environment.rb:467:in `cli'
    from /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/bin/vagrant:84:in `<top (required)>'
    from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
    from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'
$ vagrant -v
Vagrant version 1.2.2

$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.3.0]

"Restarted DNS Service" interesting looping

Howdy. Here's my setup:

  • Mac OS X "Catalina"
  • Homebrew-managed Vagrant
  • Virtualbox 6.1.16
  • Vagrant Plugins:
❯ vagrant plugin list
vagrant-disksize (0.1.3, global)
  - Version Constraint: > 0
vagrant-dns (2.2.0, global)
  - Version Constraint: > 0
vagrant-vsphere (1.13.4, global)
  - Version Constraint: > 0
  • Vagrant version
❯ vagrant --version
Vagrant 2.2.14

I'm attaching a log file with the output from this code:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The '2' in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure('2') do |config|
  config.vm.box = 'bento/ubuntu-18.04'
  config.vm.network 'private_network', ip: '192.168.50.11'
  config.vm.provider 'virtualbox' do |vb|
    vb.gui = false
    vb.memory = '2048'
    vb.cpus = '2'
  end
  config.vm.provision 'shell', inline: <<-SHELL
     apt-get update
     apt-get upgrade -y
  SHELL
end

Result: Everything works as expected, but the output is a sea of "Restarted DNS Service". And, as you'll note, I don't have a host_name given, but I do set the TLD. Bad practice? Yep. But, not sure this is the expected behavior from that bad practice? ;)

And here's the log (happy to send a 'debug' log, but hopefully you can replicate my experience locally):

Bringing machine 'default' up with 'virtualbox' provider...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 39198...
vagrant-dns: process with pid 39198 successfully stopped.
vagrant-dns: process with pid 89030 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89030...
vagrant-dns: process with pid 89030 successfully stopped.
vagrant-dns: process with pid 89032 started.
==> default: Restarted DNS Service
==> default: Importing base box 'bento/ubuntu-18.04'...

==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'bento/ubuntu-18.04' version '202010.24.0' is up to date...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89032...
vagrant-dns: process with pid 89032 successfully stopped.
vagrant-dns: process with pid 89112 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89112...
vagrant-dns: process with pid 89112 successfully stopped.
vagrant-dns: process with pid 89115 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89115...
vagrant-dns: process with pid 89115 successfully stopped.
vagrant-dns: process with pid 89118 started.
==> default: Restarted DNS Service
==> default: Setting the name of the VM: bionic64_default_1608662841966_29248
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89118...
vagrant-dns: process with pid 89118 successfully stopped.
vagrant-dns: process with pid 89214 started.
==> default: Restarted DNS Service
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89214...
vagrant-dns: process with pid 89214 successfully stopped.
vagrant-dns: process with pid 89316 started.
==> default: Restarted DNS Service
==> default: Checking for guest additions in VM...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89316...
vagrant-dns: process with pid 89316 successfully stopped.
vagrant-dns: process with pid 89388 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89388...
vagrant-dns: process with pid 89388 successfully stopped.
vagrant-dns: process with pid 89450 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89450...
vagrant-dns: process with pid 89450 successfully stopped.
vagrant-dns: process with pid 89572 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89572...
vagrant-dns: process with pid 89572 successfully stopped.
vagrant-dns: process with pid 89694 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89694...
vagrant-dns: process with pid 89694 successfully stopped.
vagrant-dns: process with pid 89952 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 89952...
vagrant-dns: process with pid 89952 successfully stopped.
vagrant-dns: process with pid 90074 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90074...
vagrant-dns: process with pid 90074 successfully stopped.
vagrant-dns: process with pid 90196 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90196...
vagrant-dns: process with pid 90196 successfully stopped.
vagrant-dns: process with pid 90249 started.
==> default: Restarted DNS Service
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/jesseadelman/vagrant/os/ubuntu/bionic64
==> default: Running provisioner: shell...
    default: Running: inline script
    default: Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
    default: Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
    default: Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
    default: Get:4 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [1,453 kB]
    default: Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
    default: Get:6 http://archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [1,172 kB]
    default: Get:7 http://security.ubuntu.com/ubuntu bionic-security/main i386 Packages [870 kB]
    default: Get:8 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [284 kB]
    default: Get:9 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [185 kB]
    default: Get:10 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1,790 kB]
    default: Get:11 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [24.3 kB]
    default: Get:12 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1,094 kB]
    default: Get:13 http://security.ubuntu.com/ubuntu bionic-security/universe i386 Packages [968 kB]
    default: Get:14 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [244 kB]
    default: Get:15 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [12.8 kB]
    default: Get:16 http://security.ubuntu.com/ubuntu bionic-security/multiverse i386 Packages [4,812 B]
    default: Get:17 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2,872 B]
    default: Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [376 kB]
    default: Get:19 http://archive.ubuntu.com/ubuntu bionic-updates/restricted i386 Packages [17.3 kB]
    default: Get:20 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [206 kB]
    default: Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [27.9 kB]
    default: Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1,697 kB]
    default: Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages [1,549 kB]
    default: Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [357 kB]
    default: Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse i386 Packages [14.4 kB]
    default: Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [35.6 kB]
    default: Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [7,180 B]
    default: Fetched 12.6 MB in 3s (4,058 kB/s)
    default: Reading package lists...
    default: Reading package lists...
    default: Building dependency tree...
    default: 
    default: Reading state information...
    default: Calculating upgrade...
    default: The following packages have been kept back:
    default:   linux-image-generic
    default: The following packages will be upgraded:
    default:   accountsservice apport apt apt-utils ca-certificates curl distro-info-data
    default:   grub-common grub-pc grub-pc-bin grub2-common intel-microcode krb5-locales
    default:   libaccountsservice0 libapt-inst2.0 libapt-pkg5.0 libc-bin libc6
    default:   libcurl3-gnutls libcurl4 libgssapi-krb5-2 libk5crypto3 libkrb5-3
    default:   libkrb5support0 libldap-2.4-2 libldap-common libnss-systemd libpam-systemd
    default:   libperl5.26 libssl1.0.0 libssl1.1 libsystemd0 libudev1 libwbclient0 locales
    default:   multiarch-support openssl perl perl-base perl-modules-5.26 python-apt-common
    default:   python-samba python3-apport python3-apt python3-cryptography
    default:   python3-distupgrade python3-problem-report samba-common samba-common-bin
    default:   samba-libs snapd sudo systemd systemd-sysv tzdata udev wireless-regdb
    default: 57 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
    default: Need to get 62.6 MB of archives.
    default: After this operation, 4,149 kB of additional disk space will be used.
    default: Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libperl5.26 amd64 5.26.1-6ubuntu0.5 [3,534 kB]
    default: Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 perl amd64 5.26.1-6ubuntu0.5 [201 kB]
    default: Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 perl-base amd64 5.26.1-6ubuntu0.5 [1,391 kB]
    default: Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 perl-modules-5.26 all 5.26.1-6ubuntu0.5 [2,762 kB]
    default: Get:5 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libc6 amd64 2.27-3ubuntu1.4 [2,832 kB]
    default: Get:6 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 locales all 2.27-3ubuntu1.4 [3,611 kB]
    default: Get:7 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libc-bin amd64 2.27-3ubuntu1.4 [643 kB]
    default: Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libnss-systemd amd64 237-3ubuntu10.43 [105 kB]
    default: Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsystemd0 amd64 237-3ubuntu10.43 [208 kB]
    default: Get:10 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 snapd amd64 2.48+18.04 [21.0 MB]
    default: Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpam-systemd amd64 237-3ubuntu10.43 [107 kB]
    default: Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 systemd amd64 237-3ubuntu10.43 [2,913 kB]
    default: Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 udev amd64 237-3ubuntu10.43 [1,102 kB]
    default: Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libudev1 amd64 237-3ubuntu10.43 [57.8 kB]
    default: Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.1 amd64 1.1.1-1ubuntu2.1~18.04.7 [1,301 kB]
    default: Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 openssl amd64 1.1.1-1ubuntu2.1~18.04.7 [614 kB]
    default: Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 ca-certificates all 20201027ubuntu0.18.04.1 [153 kB]
    default: Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 systemd-sysv amd64 237-3ubuntu10.43 [15.7 kB]
    default: Get:19 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libapt-pkg5.0 amd64 1.6.12ubuntu0.2 [806 kB]
    default: Get:20 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libapt-inst2.0 amd64 1.6.12ubuntu0.2 [54.7 kB]
    default: Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 apt amd64 1.6.12ubuntu0.2 [1,201 kB]
    default: Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 apt-utils amd64 1.6.12ubuntu0.2 [207 kB]
    default: Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python-samba amd64 2:4.7.6+dfsg~ubuntu-0ubuntu2.21 [1,925 kB]
    default: Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 samba-common-bin amd64 2:4.7.6+dfsg~ubuntu-0ubuntu2.21 [521 kB]
    default: Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 samba-common all 2:4.7.6+dfsg~ubuntu-0ubuntu2.21 [72.6 kB]
    default: Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-common all 2.4.45+dfsg-1ubuntu1.8 [17.0 kB]
    default: Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-2.4-2 amd64 2.4.45+dfsg-1ubuntu1.8 [155 kB]
    default: Get:28 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 samba-libs amd64 2:4.7.6+dfsg~ubuntu-0ubuntu2.21 [5,256 kB]
    default: Get:29 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libwbclient0 amd64 2:4.7.6+dfsg~ubuntu-0ubuntu2.21 [34.4 kB]
    default: Get:30 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 distro-info-data all 0.37ubuntu0.9 [4,708 B]
    default: Get:31 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 sudo amd64 1.8.21p2-3ubuntu1.3 [428 kB]
    default: Get:32 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 tzdata all 2020d-0ubuntu0.18.04 [190 kB]
    default: Get:33 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 accountsservice amd64 0.6.45-1ubuntu1.3 [62.4 kB]
    default: Get:34 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libaccountsservice0 amd64 0.6.45-1ubuntu1.3 [72.7 kB]
    default: Get:35 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 krb5-locales all 1.16-2ubuntu0.2 [13.4 kB]
    default: Get:36 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgssapi-krb5-2 amd64 1.16-2ubuntu0.2 [122 kB]
    default: Get:37 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5-3 amd64 1.16-2ubuntu0.2 [279 kB]
    default: Get:38 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5support0 amd64 1.16-2ubuntu0.2 [30.8 kB]
    default: Get:39 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libk5crypto3 amd64 1.16-2ubuntu0.2 [85.5 kB]
    default: Get:40 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.0.0 amd64 1.0.2n-1ubuntu5.5 [1,088 kB]
    default: Get:41 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 multiarch-support amd64 2.27-3ubuntu1.4 [6,944 B]
    default: Get:42 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python-apt-common all 1.6.5ubuntu0.4 [17.1 kB]
    default: Get:43 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-apt amd64 1.6.5ubuntu0.4 [150 kB]
    default: Get:44 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-distupgrade all 1:18.04.41 [106 kB]
    default: Get:45 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 grub-pc amd64 2.02-2ubuntu8.20 [138 kB]
    default: Get:46 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 grub2-common amd64 2.02-2ubuntu8.20 [532 kB]
    default: Get:47 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 grub-pc-bin amd64 2.02-2ubuntu8.20 [901 kB]
    default: Get:48 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 grub-common amd64 2.02-2ubuntu8.20 [1,774 kB]
    default: Get:49 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-problem-report all 2.20.9-0ubuntu7.21 [10.3 kB]
    default: Get:50 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-apport all 2.20.9-0ubuntu7.21 [82.3 kB]
    default: Get:51 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 apport all 2.20.9-0ubuntu7.21 [125 kB]
    default: Get:52 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 curl amd64 7.58.0-2ubuntu3.12 [159 kB]
    default: Get:53 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl4 amd64 7.58.0-2ubuntu3.12 [214 kB]
    default: Get:54 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl3-gnutls amd64 7.58.0-2ubuntu3.12 [212 kB]
    default: Get:55 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-cryptography amd64 2.1.4-1ubuntu1.4 [220 kB]
    default: Get:56 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 wireless-regdb all 2020.11.20-0ubuntu1~18.04.1 [10.3 kB]
    default: Get:57 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 intel-microcode amd64 3.20201110.0ubuntu0.18.04.2 [2,742 kB]
    default: dpkg-preconfigure: unable to re-open stdin: No such file or directory
    default: Fetched 62.6 MB in 11s (5,681 kB/s)
    default: (Reading database ... 
    default: (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
    default: (Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39592 files and directories currently installed.)
    default: Preparing to unpack .../libperl5.26_5.26.1-6ubuntu0.5_amd64.deb ...
    default: Unpacking libperl5.26:amd64 (5.26.1-6ubuntu0.5) over (5.26.1-6ubuntu0.3) ...
    default: Preparing to unpack .../perl_5.26.1-6ubuntu0.5_amd64.deb ...
    default: Unpacking perl (5.26.1-6ubuntu0.5) over (5.26.1-6ubuntu0.3) ...
    default: Preparing to unpack .../perl-base_5.26.1-6ubuntu0.5_amd64.deb ...
    default: Unpacking perl-base (5.26.1-6ubuntu0.5) over (5.26.1-6ubuntu0.3) ...
    default: Setting up perl-base (5.26.1-6ubuntu0.5) ...
    default: (Reading database ... 
    default: (Reading database ... 5%
    default: (Reading database ... 10%
    default: (Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
    default: (Reading database ... 40%
    default: (Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39592 files and directories currently installed.)
    default: Preparing to unpack .../perl-modules-5.26_5.26.1-6ubuntu0.5_all.deb ...
    default: Unpacking perl-modules-5.26 (5.26.1-6ubuntu0.5) over (5.26.1-6ubuntu0.3) ...
    default: Preparing to unpack .../libc6_2.27-3ubuntu1.4_amd64.deb ...
    default: Unpacking libc6:amd64 (2.27-3ubuntu1.4) over (2.27-3ubuntu1.2) ...
    default: Setting up libc6:amd64 (2.27-3ubuntu1.4) ...
    default: (Reading database ... 
    default: (Reading database ... 5%
    default: (Reading database ... 10%
    default: (Reading database ... 15%
    default: (Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39592 files and directories currently installed.)
    default: Preparing to unpack .../locales_2.27-3ubuntu1.4_all.deb ...
    default: Unpacking locales (2.27-3ubuntu1.4) over (2.27-3ubuntu1.2) ...
    default: Preparing to unpack .../libc-bin_2.27-3ubuntu1.4_amd64.deb ...
    default: Unpacking libc-bin (2.27-3ubuntu1.4) over (2.27-3ubuntu1.2) ...
    default: Setting up libc-bin (2.27-3ubuntu1.4) ...
    default: (Reading database ... 
(Reading database ... 5%
    default: (Reading database ... 10%
    default: (Reading database ... 15%
    default: (Reading database ... 20%
(Reading database ... 25%
    default: (Reading database ... 30%
    default: (Reading database ... 35%
(Reading database ... 40%
    default: (Reading database ... 45%
(Reading database ... 50%
    default: (Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39592 files and directories currently installed.)
    default: Preparing to unpack .../libnss-systemd_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking libnss-systemd:amd64 (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Preparing to unpack .../libsystemd0_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking libsystemd0:amd64 (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Setting up libsystemd0:amd64 (237-3ubuntu10.43) ...
    default: (Reading database ... 
    default: (Reading database ... 5%
    default: (Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
    default: (Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39592 files and directories currently installed.)
    default: Preparing to unpack .../snapd_2.48+18.04_amd64.deb ...
    default: Unpacking snapd (2.48+18.04) over (2.46.1+18.04) ...
    default: Preparing to unpack .../libpam-systemd_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking libpam-systemd:amd64 (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Preparing to unpack .../systemd_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking systemd (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Preparing to unpack .../udev_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking udev (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Preparing to unpack .../libudev1_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking libudev1:amd64 (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Setting up libudev1:amd64 (237-3ubuntu10.43) ...
    default: (Reading database ... 
    default: (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
    default: (Reading database ... 20%
    default: (Reading database ... 25%
(Reading database ... 30%
    default: (Reading database ... 35%
    default: (Reading database ... 40%
    default: (Reading database ... 45%
    default: (Reading database ... 50%
    default: (Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 
    default: 39592 files and directories currently installed.)
    default: Preparing to unpack .../libssl1.1_1.1.1-1ubuntu2.1~18.04.7_amd64.deb ...
    default: Unpacking libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.7) over (1.1.1-1ubuntu2.1~18.04.6) ...
    default: Preparing to unpack .../openssl_1.1.1-1ubuntu2.1~18.04.7_amd64.deb ...
    default: Unpacking openssl (1.1.1-1ubuntu2.1~18.04.7) over (1.1.1-1ubuntu2.1~18.04.6) ...
    default: Preparing to unpack .../ca-certificates_20201027ubuntu0.18.04.1_all.deb ...
    default: Unpacking ca-certificates (20201027ubuntu0.18.04.1) over (20190110~18.04.1) ...
    default: Setting up systemd (237-3ubuntu10.43) ...
    default: (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
(Reading database ... 39603 files and directories currently installed.)
    default: Preparing to unpack .../systemd-sysv_237-3ubuntu10.43_amd64.deb ...
    default: Unpacking systemd-sysv (237-3ubuntu10.43) over (237-3ubuntu10.42) ...
    default: Preparing to unpack .../libapt-pkg5.0_1.6.12ubuntu0.2_amd64.deb ...
    default: Unpacking libapt-pkg5.0:amd64 (1.6.12ubuntu0.2) over (1.6.12ubuntu0.1) ...
    default: Setting up libapt-pkg5.0:amd64 (1.6.12ubuntu0.2) ...
    default: (Reading database ... 
    default: (Reading database ... 5%
    default: (Reading database ... 10%
    default: (Reading database ... 15%
    default: (Reading database ... 20%
    default: (Reading database ... 25%
    default: (Reading database ... 30%
    default: (Reading database ... 35%
    default: (Reading database ... 40%
    default: (Reading database ... 45%
    default: (Reading database ... 50%
    default: (Reading database ... 55%
    default: (Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
    default: (Reading database ... 
    default: 39603 files and directories currently installed.)
    default: Preparing to unpack .../libapt-inst2.0_1.6.12ubuntu0.2_amd64.deb ...
    default: Unpacking libapt-inst2.0:amd64 (1.6.12ubuntu0.2) over (1.6.12ubuntu0.1) ...
    default: Preparing to unpack .../apt_1.6.12ubuntu0.2_amd64.deb ...
    default: Unpacking apt (1.6.12ubuntu0.2) over (1.6.12ubuntu0.1) ...
    default: Setting up apt (1.6.12ubuntu0.2) ...
    default: apt-daily-upgrade.timer is a disabled or a static unit not running, not starting it.
    default: apt-daily.timer is a disabled or a static unit not running, not starting it.
    default: (Reading database ... 
    default: (Reading database ... 5%
    default: (Reading database ... 10%
    default: (Reading database ... 15%
    default: (Reading database ... 20%
    default: (Reading database ... 25%
    default: (Reading database ... 30%
    default: (Reading database ... 35%
    default: (Reading database ... 40%
    default: (Reading database ... 45%
    default: (Reading database ... 50%
    default: (Reading database ... 55%
    default: (Reading database ... 60%
    default: (Reading database ... 65%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
    default: (Reading database ... 100%
    default: (Reading database ... 
    default: 39603 files and directories currently installed.)
    default: Preparing to unpack .../00-apt-utils_1.6.12ubuntu0.2_amd64.deb ...
    default: Unpacking apt-utils (1.6.12ubuntu0.2) over (1.6.12ubuntu0.1) ...
    default: Preparing to unpack .../01-python-samba_2%3a4.7.6+dfsg~ubuntu-0ubuntu2.21_amd64.deb ...
    default: Unpacking python-samba (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) over (2:4.7.6+dfsg~ubuntu-0ubuntu2.20) ...
    default: Preparing to unpack .../02-samba-common-bin_2%3a4.7.6+dfsg~ubuntu-0ubuntu2.21_amd64.deb ...
    default: Unpacking samba-common-bin (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) over (2:4.7.6+dfsg~ubuntu-0ubuntu2.20) ...
    default: Preparing to unpack .../03-samba-common_2%3a4.7.6+dfsg~ubuntu-0ubuntu2.21_all.deb ...
    default: Unpacking samba-common (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) over (2:4.7.6+dfsg~ubuntu-0ubuntu2.20) ...
    default: Preparing to unpack .../04-libldap-common_2.4.45+dfsg-1ubuntu1.8_all.deb ...
    default: Unpacking libldap-common (2.4.45+dfsg-1ubuntu1.8) over (2.4.45+dfsg-1ubuntu1.6) ...
    default: Preparing to unpack .../05-libldap-2.4-2_2.4.45+dfsg-1ubuntu1.8_amd64.deb ...
    default: Unpacking libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.8) over (2.4.45+dfsg-1ubuntu1.6) ...
    default: Preparing to unpack .../06-samba-libs_2%3a4.7.6+dfsg~ubuntu-0ubuntu2.21_amd64.deb ...
    default: Unpacking samba-libs:amd64 (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) over (2:4.7.6+dfsg~ubuntu-0ubuntu2.20) ...
    default: Preparing to unpack .../07-libwbclient0_2%3a4.7.6+dfsg~ubuntu-0ubuntu2.21_amd64.deb ...
    default: Unpacking libwbclient0:amd64 (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) over (2:4.7.6+dfsg~ubuntu-0ubuntu2.20) ...
    default: Preparing to unpack .../08-distro-info-data_0.37ubuntu0.9_all.deb ...
    default: Unpacking distro-info-data (0.37ubuntu0.9) over (0.37ubuntu0.7) ...
    default: Preparing to unpack .../09-sudo_1.8.21p2-3ubuntu1.3_amd64.deb ...
    default: Unpacking sudo (1.8.21p2-3ubuntu1.3) over (1.8.21p2-3ubuntu1.2) ...
    default: Preparing to unpack .../10-tzdata_2020d-0ubuntu0.18.04_all.deb ...
    default: Unpacking tzdata (2020d-0ubuntu0.18.04) over (2020a-0ubuntu0.18.04) ...
    default: Preparing to unpack .../11-accountsservice_0.6.45-1ubuntu1.3_amd64.deb ...
    default: Unpacking accountsservice (0.6.45-1ubuntu1.3) over (0.6.45-1ubuntu1) ...
    default: Preparing to unpack .../12-libaccountsservice0_0.6.45-1ubuntu1.3_amd64.deb ...
    default: Unpacking libaccountsservice0:amd64 (0.6.45-1ubuntu1.3) over (0.6.45-1ubuntu1) ...
    default: Preparing to unpack .../13-krb5-locales_1.16-2ubuntu0.2_all.deb ...
    default: Unpacking krb5-locales (1.16-2ubuntu0.2) over (1.16-2ubuntu0.1) ...
    default: Preparing to unpack .../14-libgssapi-krb5-2_1.16-2ubuntu0.2_amd64.deb ...
    default: Unpacking libgssapi-krb5-2:amd64 (1.16-2ubuntu0.2) over (1.16-2ubuntu0.1) ...
    default: Preparing to unpack .../15-libkrb5-3_1.16-2ubuntu0.2_amd64.deb ...
    default: Unpacking libkrb5-3:amd64 (1.16-2ubuntu0.2) over (1.16-2ubuntu0.1) ...
    default: Preparing to unpack .../16-libkrb5support0_1.16-2ubuntu0.2_amd64.deb ...
    default: Unpacking libkrb5support0:amd64 (1.16-2ubuntu0.2) over (1.16-2ubuntu0.1) ...
    default: Preparing to unpack .../17-libk5crypto3_1.16-2ubuntu0.2_amd64.deb ...
    default: Unpacking libk5crypto3:amd64 (1.16-2ubuntu0.2) over (1.16-2ubuntu0.1) ...
    default: Preparing to unpack .../18-libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb ...
    default: Unpacking libssl1.0.0:amd64 (1.0.2n-1ubuntu5.5) over (1.0.2n-1ubuntu5.4) ...
    default: Preparing to unpack .../19-multiarch-support_2.27-3ubuntu1.4_amd64.deb ...
    default: Unpacking multiarch-support (2.27-3ubuntu1.4) over (2.27-3ubuntu1.2) ...
    default: Preparing to unpack .../20-python-apt-common_1.6.5ubuntu0.4_all.deb ...
    default: Unpacking python-apt-common (1.6.5ubuntu0.4) over (1.6.5ubuntu0.3) ...
    default: Preparing to unpack .../21-python3-apt_1.6.5ubuntu0.4_amd64.deb ...
    default: Unpacking python3-apt (1.6.5ubuntu0.4) over (1.6.5ubuntu0.3) ...
    default: Preparing to unpack .../22-python3-distupgrade_1%3a18.04.41_all.deb ...
    default: Unpacking python3-distupgrade (1:18.04.41) over (1:18.04.40) ...
    default: Preparing to unpack .../23-grub-pc_2.02-2ubuntu8.20_amd64.deb ...
    default: Unpacking grub-pc (2.02-2ubuntu8.20) over (2.02-2ubuntu8.18) ...
    default: Preparing to unpack .../24-grub2-common_2.02-2ubuntu8.20_amd64.deb ...
    default: Unpacking grub2-common (2.02-2ubuntu8.20) over (2.02-2ubuntu8.18) ...
    default: Preparing to unpack .../25-grub-pc-bin_2.02-2ubuntu8.20_amd64.deb ...
    default: Unpacking grub-pc-bin (2.02-2ubuntu8.20) over (2.02-2ubuntu8.18) ...
    default: Preparing to unpack .../26-grub-common_2.02-2ubuntu8.20_amd64.deb ...
    default: Unpacking grub-common (2.02-2ubuntu8.20) over (2.02-2ubuntu8.18) ...
    default: Preparing to unpack .../27-python3-problem-report_2.20.9-0ubuntu7.21_all.deb ...
    default: Unpacking python3-problem-report (2.20.9-0ubuntu7.21) over (2.20.9-0ubuntu7.18) ...
    default: Preparing to unpack .../28-python3-apport_2.20.9-0ubuntu7.21_all.deb ...
    default: Unpacking python3-apport (2.20.9-0ubuntu7.21) over (2.20.9-0ubuntu7.18) ...
    default: Preparing to unpack .../29-apport_2.20.9-0ubuntu7.21_all.deb ...
    default: Unpacking apport (2.20.9-0ubuntu7.21) over (2.20.9-0ubuntu7.18) ...
    default: Preparing to unpack .../30-curl_7.58.0-2ubuntu3.12_amd64.deb ...
    default: Unpacking curl (7.58.0-2ubuntu3.12) over (7.58.0-2ubuntu3.10) ...
    default: Preparing to unpack .../31-libcurl4_7.58.0-2ubuntu3.12_amd64.deb ...
    default: Unpacking libcurl4:amd64 (7.58.0-2ubuntu3.12) over (7.58.0-2ubuntu3.10) ...
    default: Preparing to unpack .../32-libcurl3-gnutls_7.58.0-2ubuntu3.12_amd64.deb ...
    default: Unpacking libcurl3-gnutls:amd64 (7.58.0-2ubuntu3.12) over (7.58.0-2ubuntu3.10) ...
    default: Preparing to unpack .../33-python3-cryptography_2.1.4-1ubuntu1.4_amd64.deb ...
    default: Unpacking python3-cryptography (2.1.4-1ubuntu1.4) over (2.1.4-1ubuntu1.3) ...
    default: Preparing to unpack .../34-wireless-regdb_2020.11.20-0ubuntu1~18.04.1_all.deb ...
    default: Unpacking wireless-regdb (2020.11.20-0ubuntu1~18.04.1) over (2018.05.09-0ubuntu1~18.04.1) ...
    default: Preparing to unpack .../35-intel-microcode_3.20201110.0ubuntu0.18.04.2_amd64.deb ...
    default: Unpacking intel-microcode (3.20201110.0ubuntu0.18.04.2) over (3.20200609.0ubuntu0.18.04.1) ...
    default: Setting up python-apt-common (1.6.5ubuntu0.4) ...
    default: Setting up intel-microcode (3.20201110.0ubuntu0.18.04.2) ...
    default: update-initramfs: deferring update (trigger activated)
    default: intel-microcode: microcode will be updated at next boot
    default: Setting up libapt-inst2.0:amd64 (1.6.12ubuntu0.2) ...
    default: Setting up libnss-systemd:amd64 (237-3ubuntu10.43) ...
    default: Setting up libwbclient0:amd64 (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) ...
    default: Setting up python3-apt (1.6.5ubuntu0.4) ...
    default: Setting up libssl1.0.0:amd64 (1.0.2n-1ubuntu5.5) ...
    default: Setting up sudo (1.8.21p2-3ubuntu1.3) ...
    default: Setting up libldap-common (2.4.45+dfsg-1ubuntu1.8) ...
    default: Setting up apt-utils (1.6.12ubuntu0.2) ...
    default: Setting up multiarch-support (2.27-3ubuntu1.4) ...
    default: Setting up tzdata (2020d-0ubuntu0.18.04) ...
    default: 
    default: Current default time zone: 'Etc/UTC'
    default: Local time is now:      Tue Dec 22 18:49:08 UTC 2020.
    default: Universal Time is now:  Tue Dec 22 18:49:08 UTC 2020.
    default: Run 'dpkg-reconfigure tzdata' if you wish to change it.
    default: Setting up systemd-sysv (237-3ubuntu10.43) ...
    default: Setting up samba-common (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) ...
    default: Setting up distro-info-data (0.37ubuntu0.9) ...
    default: Setting up wireless-regdb (2020.11.20-0ubuntu1~18.04.1) ...
    default: Setting up perl-modules-5.26 (5.26.1-6ubuntu0.5) ...
    default: Setting up libkrb5support0:amd64 (1.16-2ubuntu0.2) ...
    default: Setting up libaccountsservice0:amd64 (0.6.45-1ubuntu1.3) ...
    default: Setting up python3-problem-report (2.20.9-0ubuntu7.21) ...
    default: Setting up krb5-locales (1.16-2ubuntu0.2) ...
    default: Setting up libperl5.26:amd64 (5.26.1-6ubuntu0.5) ...
    default: Setting up udev (237-3ubuntu10.43) ...
    default: update-initramfs: deferring update (trigger activated)
    default: Setting up libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.8) ...
    default: Setting up grub-common (2.02-2ubuntu8.20) ...
    default: update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
    default: Setting up libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.7) ...
    default: Setting up openssl (1.1.1-1ubuntu2.1~18.04.7) ...
    default: Setting up accountsservice (0.6.45-1ubuntu1.3) ...
    default: Setting up ca-certificates (20201027ubuntu0.18.04.1) ...
    default: Updating certificates in /etc/ssl/certs...
    default: 20 added, 9 removed; done.
    default: Setting up locales (2.27-3ubuntu1.4) ...
    default: Generating locales (this might take a while)...
    default:   en_AG.UTF-8
    default: ...
    default:  done
    default:   en_AU.UTF-8
    default: ...
    default:  done
    default:   en_BW.UTF-8
    default: ...
    default:  done
    default:   en_CA.UTF-8
    default: ...
    default:  done
    default:   en_DK.UTF-8
    default: ...
    default:  done
    default:   en_GB.UTF-8
    default: ...
    default:  done
    default:   en_HK.UTF-8
    default: ...
    default:  done
    default:   en_IE.UTF-8
    default: ...
    default:  done
    default:   en_IL.UTF-8
    default: ...
    default:  done
    default:   en_IN.UTF-8
    default: ...
    default:  done
    default:   en_NG.UTF-8
    default: ...
    default:  done
    default:   en_NZ.UTF-8
    default: ...
    default:  done
    default:   en_PH.UTF-8
    default: ...
    default:  done
    default:   en_SG.UTF-8
    default: ...
    default:  done
    default:   en_US.UTF-8
    default: ...
    default:  done
    default:   en_ZA.UTF-8
    default: ...
    default:  done
    default:   en_ZM.UTF-8
    default: ...
    default:  done
    default:   en_ZW.UTF-8
    default: ...
    default:  done
    default: Generation complete.
    default: Setting up python3-distupgrade (1:18.04.41) ...
    default: Setting up python3-cryptography (2.1.4-1ubuntu1.4) ...
    default: Setting up libk5crypto3:amd64 (1.16-2ubuntu0.2) ...
    default: Setting up samba-libs:amd64 (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) ...
    default: Setting up libpam-systemd:amd64 (237-3ubuntu10.43) ...
    default: Setting up grub-pc-bin (2.02-2ubuntu8.20) ...
    default: Setting up python-samba (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) ...
    default: Setting up grub2-common (2.02-2ubuntu8.20) ...
    default: Setting up python3-apport (2.20.9-0ubuntu7.21) ...
    default: Setting up perl (5.26.1-6ubuntu0.5) ...
    default: Setting up snapd (2.48+18.04) ...
    default: Installing new version of config file /etc/apparmor.d/usr.lib.snapd.snap-confine.real ...
    default: snapd.failure.service is a disabled or a static unit, not starting it.
    default: snapd.snap-repair.service is a disabled or a static unit, not starting it.
    default: Setting up apport (2.20.9-0ubuntu7.21) ...
    default: apport-autoreport.service is a disabled or a static unit, not starting it.
    default: Setting up libkrb5-3:amd64 (1.16-2ubuntu0.2) ...
    default: Setting up samba-common-bin (2:4.7.6+dfsg~ubuntu-0ubuntu2.21) ...
    default: Setting up grub-pc (2.02-2ubuntu8.20) ...
    default: Sourcing file `/etc/default/grub'
    default: Generating grub configuration file ...
    default: Found linux image: /boot/vmlinuz-4.15.0-122-generic
    default: Found initrd image: /boot/initrd.img-4.15.0-122-generic
    default: done
    default: Setting up libgssapi-krb5-2:amd64 (1.16-2ubuntu0.2) ...
    default: Setting up libcurl3-gnutls:amd64 (7.58.0-2ubuntu3.12) ...
    default: Setting up libcurl4:amd64 (7.58.0-2ubuntu3.12) ...
    default: Setting up curl (7.58.0-2ubuntu3.12) ...
    default: Processing triggers for libc-bin (2.27-3ubuntu1.4) ...
    default: Processing triggers for systemd (237-3ubuntu10.43) ...
    default: Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
    default: Processing triggers for dbus (1.12.2-1ubuntu1.2) ...
    default: Processing triggers for mime-support (3.60ubuntu1) ...
    default: Processing triggers for ureadahead (0.100.0-21) ...
    default: Processing triggers for install-info (6.5.0.dfsg.1-2) ...
    default: Processing triggers for initramfs-tools (0.130ubuntu3.11) ...
    default: update-initramfs: Generating /boot/initrd.img-4.15.0-122-generic
    default: Processing triggers for ca-certificates (20201027ubuntu0.18.04.1) ...
    default: Updating certificates in /etc/ssl/certs...
    default: 0 added, 0 removed; done.
    default: Running hooks in /etc/ca-certificates/update.d...
    default: done.
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 90249...
vagrant-dns: process with pid 90249 successfully stopped.
vagrant-dns: process with pid 91155 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91155...
vagrant-dns: process with pid 91155 successfully stopped.
vagrant-dns: process with pid 91482 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91482...
vagrant-dns: process with pid 91482 successfully stopped.
vagrant-dns: process with pid 91605 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91605...
vagrant-dns: process with pid 91605 successfully stopped.
vagrant-dns: process with pid 91660 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91660...
vagrant-dns: process with pid 91660 successfully stopped.
vagrant-dns: process with pid 91777 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91777...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91777...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91777...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91777...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91777...
vagrant-dns: process with pid 91777 successfully stopped.
vagrant-dns: process with pid 91791 started.
==> default: Restarted DNS Service
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: trying to stop process with pid 91791...
vagrant-dns: process with pid 91791 successfully stopped.
vagrant-dns: process with pid 91793 started.
==> default: Restarted DNS Service

Happy to send more info, or a vagrant --debug --debug-timestanmps --no-tty --no-colors log if you like. Thanks for this project! :) Happy Holidays!

VM powers off and is removed during "vagrant up" for multimachine configuration when vagrant-dns is installed

Issue

When attempting to execute vagrant up, guest VM suddenly powers off and disappears. After some investigation, determined this occurs when vagrant-dns is installed. I've prepared a sample Vagrantfile to illustrate the issue.

System

  1. Ubuntu 16.10
  2. nfs-kernel-server, nfs-common, and rpcbind are installed
  3. Virtualbox 5.1.6
  4. Vagrant 1.8.6
  5. Plugins
    vagrant plugin install \
        inifile \
        vagrant-aws \
        vagrant-bindfs \
        vagrant-dns \
        vagrant-vbguest \
        vagrant-s3auth \
        net-ping
    
  6. Also employing vagrant-bindfs (though error proceeds its invocation)
  7. Using centos/7 box.

Vagrantfile

VAGRANTFILE_API_VERSION = '2'

hostname = 'bug-02.correlate.dev'

Vagrant.configure VAGRANTFILE_API_VERSION do | config |

      config.vm.define hostname do | server |

            server.vm.box = 'centos/7'
            server.vm.hostname = hostname
            server.vm.network :private_network, type: "dhcp"

            server.vm.provider 'virtualbox' do | vb, override |
                  vb.name = hostname
            end
      end

end

Relevant output

Guest VM disappears from Virtualbox list approximate when VAGRANT_LOG=info vagrant up reaches this point of execution:

# Restart network
service network restart
 (sudo=true)
 INFO ssh: SSH connection unexpected closed. Assuming reboot or something.
 INFO warden: Calling OUT action: #<Vagrant::Action::Builtin::SetHostname:0x00000002a8c490>
 INFO warden: Calling OUT action: #<VagrantPlugins::ProviderVirtualBox::Action::ForwardPorts:0x00000002a8c4b8>
 INFO warden: Calling OUT action: #<VagrantPlugins::ProviderVirtualBox::Action::NetworkFixIPv6:0x0000000175c898>
 INFO subprocess: Starting process: ["/usr/bin/VBoxManage", "showvminfo", "efd4a325-70aa-455d-b15b-5762d60ba8e9", "--machinereadable"]
 INFO subprocess: Command not in installer, restoring original environment...
 INFO interface: info: Configuring and enabling network interfaces...
 INFO interface: info: ==> nfs-bug.correlate.dev: Configuring and enabling network interfaces...
==> nfs-bug.correlate.dev: Configuring and enabling network interfaces...
 INFO subprocess: Starting process: ["/usr/bin/VBoxManage", "showvminfo", "efd4a325-70aa-455d-b15b-5762d60ba8e9", "--machinereadable"]
 INFO subprocess: Command not in installer, restoring original environment...
 INFO ssh: SSH not up: #<Vagrant::Errors::SSHNotReady: The provider for this Vagrant-managed machine is reporting that it
is not yet ready for SSH. Depending on your provider this can carry
different meanings. Make sure your machine is created and running and
try again. Additionally, check the output of `vagrant status` to verify
that the machine is in the state that you expect. If you continue to
get this error message, please view the documentation for the provider
you're using.>
ERROR warden: Error occurred: Guest-specific operations were attempted on a machine that is not
ready for guest communication. This should not happen and a bug
should be reported.

Continues to fail with each recovery attempt, clearly because there's no guest around with which to communicate.

Celluloid error when installing with Vagrant 1.9.0

I've been having trouble installing vagrant-dns against Vagrant 1.9.0. When I run the command vagrant plugin install vagrant-dns, I see the error:

Installing the 'vagrant-dns' plugin. This can take a few minutes...
/opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'celluloid' (>= 0.16.0) among 45 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/opt/vagrant/embedded/gems', execute `gem env` for more information
	from /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/specification.rb:1311:in `block in activate_dependencies'
	from /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/specification.rb:1300:in `each'
	from /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/specification.rb:1300:in `activate_dependencies'
	from /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/specification.rb:1282:in `activate'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/bundler.rb:319:in `block in activate_solution'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/bundler.rb:316:in `each'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/bundler.rb:316:in `activate_solution'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/bundler.rb:244:in `internal_install'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/bundler.rb:97:in `install'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/plugin/manager.rb:62:in `block in install_plugin'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/plugin/manager.rb:72:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/plugin/manager.rb:72:in `install_plugin'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/action/install_gem.rb:37:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/action/runner.rb:66:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/action/runner.rb:66:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/command/base.rb:14:in `action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/command/install.rb:32:in `block in execute'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/command/install.rb:31:in `each'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/command/install.rb:31:in `execute'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/plugins/commands/plugin/command/root.rb:66:in `execute'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/cli.rb:42:in `execute'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/lib/vagrant/environment.rb:308:in `cli'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.9.0/bin/vagrant:123:in `<main>'

If I uninstall Vagrant 1.9.0 and install 1.8.6, vagrant plugin install vagrant-dns runs successfully. I haven't tried 1.8.7.

I'm running Vagrant on Mac OS Sierra 10.12.1.

Is this a known issue? I'm pretty new to Vagrant, so I don't know if it's possible to install the celluloid gem in a way that makes it available to vagrant-dns.

Vagrant VMs are destroyed during `vagrant up`

Vagrant VM is destroyed right after it's being started with vagrant up. It took me awhile to figure out what exactly is causing it, and reproduce steps to confirm, that this issue occurs when vagrant-dns is installed.

Software versions:

  • MacOS v10.13.4 (17E199)
  • VirtualBox v5.2.8
  • Vagrant v2.0.3
  • brew update returns Already up-to-date. and brew doctor returns Your system is ready to brew.

Following commands were run with the freshly installed (after using uninstall.tool and running rm -rf ~/vagrant.d) Vagrant.

Steps to reproduce (lines started with are the input):

  1. First run is to demonstrate, that basic installation, without vagrant-dns is working fine.
➜ vagrant -v
Vagrant 2.0.3
➜ vagrant plugin list
No plugins installed.
➜ vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Fetching: micromachine-2.0.0.gem (100%)
Fetching: vagrant-vbguest-0.15.1.gem (100%)
Installed the plugin 'vagrant-vbguest (0.15.1)'!
➜ vagrant plugin list
vagrant-vbguest (0.15.1)
➜ vagrant init ubuntu/xenial64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
➜ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
...
➜ vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64)
...
vagrant@ubuntu-xenial:~$ exit
➜ vagrant destroy -f
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
  1. Installing vagrant-dns, and running vagrant up again. This time machine will be removed in the process.
➜ vagrant plugin install vagrant-dns 
Installing the 'vagrant-dns' plugin. This can take a few minutes...
Fetching: daemons-1.2.6.gem (100%)
Fetching: nio4r-2.3.0.gem (100%)
Building native extensions.  This could take a while...
Fetching: hitimes-1.2.6.gem (100%)
Building native extensions.  This could take a while...
Fetching: timers-4.1.2.gem (100%)
Fetching: async-1.5.0.gem (100%)
Fetching: async-io-1.7.0.gem (100%)
Fetching: async-dns-1.1.0.gem (100%)
Fetching: rubydns-2.0.1.gem (100%)
Fetching: vagrant-dns-2.1.0.gem (100%)
Installed the plugin 'vagrant-dns (2.1.0)'!
➜ vagrant up                                               
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
...
==> default: Checking for guest additions in VM...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
vagrant-dns: process with pid 58848 started.
==> default: Restarted DNS Service
==> default: Mounting shared folders...
    default: /vagrant => /Users/amikheychik/Vagrant/vagrant
➜ vagrant ssh
VM must be created before running this command. Run `vagrant up` first.
  1. Removing vagrant-dns to install previous version
➜ vagrant plugin uninstall vagrant-dns
Uninstalling the 'vagrant-dns' plugin...
Successfully uninstalled async-1.5.0
Successfully uninstalled vagrant-dns-2.1.0
Successfully uninstalled hitimes-1.2.6
Successfully uninstalled daemons-1.2.6
Successfully uninstalled timers-4.1.2
Successfully uninstalled async-io-1.7.0
Successfully uninstalled async-dns-1.1.0
Successfully uninstalled nio4r-2.3.0
Removing rubydns-check
Successfully uninstalled rubydns-2.0.1
➜ vagrant plugin install vagrant-dns --plugin-version 1.1.0
Installing the 'vagrant-dns --version '1.1.0'' plugin. This can take a few minutes...
Fetching: daemons-1.2.6.gem (100%)
Fetching: hitimes-1.2.6.gem (100%)
Building native extensions.  This could take a while...
Fetching: timers-4.0.4.gem (100%)
Fetching: celluloid-0.16.0.gem (100%)
Fetching: nio4r-2.3.0.gem (100%)
Building native extensions.  This could take a while...
Fetching: celluloid-io-0.16.2.gem (100%)
Fetching: rubydns-1.0.3.gem (100%)
Fetching: vagrant-dns-1.1.0.gem (100%)
Installed the plugin 'vagrant-dns (1.1.0)'!
➜ vagrant up                                               
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
...
==> default: Checking for guest additions in VM...
==> default: [vagrant-dns] TLD but no host_name given. No patterns will be configured.
pid-file for killed process 75986 found (/Users/amikheychik/.vagrant.d/tmp/dns/daemon/vagrant-dns.pid), deleting.
vagrant-dns: process with pid 78619 started.
==> default: Restarted DNS Service
==> default: Mounting shared folders...
    default: /vagrant => /Users/amikheychik/Vagrant/vagrant
  1. The most bizarre part: if plugin was not installed during vagrant up and after machine is running, it was installed, machine can be stopped and started again without a problem.

  2. If plugin is installed, but stopped by vagrant dns --stop the problems remains. Only if it's removed vagrant up works fine.

Finally, good news is that once the steps are taken in the right order:

vagrant up && \
vagrant plugin install vagrant-dns && \
vagrant reload && \
vagrant dns --install

everything works fine.

DHCP support?

Does this also work if the private_network is set to type: dhcp?

Doesn't load correctly with vagrant 1.2.1

Does vagrant-dns only work with older versions of vagrant?

I am using vagrant 1.2.1. I installed the vagrant-dns plugin using:

vagrant plugin install vagrant-dns

When I try to run vagrant like so:

VAGRANT_LOG=INFO vagrant

I get the following output:

 INFO global: Vagrant version: 1.2.1
 INFO manager: Registered plugin: ssh communicator
 INFO manager: Registered plugin: BSD host
 INFO manager: Registered plugin: FreeBSD host
 INFO manager: Registered plugin: Fedora host
 INFO manager: Registered plugin: Windows host
 INFO manager: Registered plugin: OpenSUSE host
 INFO manager: Registered plugin: Gentoo host
 INFO manager: Registered plugin: Arch host
 INFO manager: Registered plugin: Linux host
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: SUSE guest
 INFO manager: Registered plugin: Ubuntu guest
 INFO manager: Registered plugin: FreeBSD guest
 INFO manager: Registered plugin: RedHat guest
 INFO manager: Registered plugin: Debian guest
 INFO manager: Registered plugin: OpenBSD guest
 INFO manager: Registered plugin: Fedora guest
 INFO manager: Registered plugin: Gentoo guest
 INFO manager: Registered plugin: Arch guest
 INFO manager: Registered plugin: Solaris guest.
 INFO manager: Registered plugin: Linux guest.
 INFO manager: Registered plugin: PLD Linux guest
 INFO manager: Registered plugin: CFEngine Provisioner
 INFO manager: Registered plugin: chef
 INFO manager: Registered plugin: puppet
 INFO manager: Registered plugin: ansible
 INFO manager: Registered plugin: shell
 INFO manager: Registered plugin: kernel
 INFO manager: Registered plugin: resume command
 INFO manager: Registered plugin: ssh command
 INFO manager: Registered plugin: ssh-config command
 INFO manager: Registered plugin: plugin command
 INFO manager: Registered plugin: box command
 INFO manager: Registered plugin: reload command
 INFO manager: Registered plugin: init command
 INFO manager: Registered plugin: provision command
 INFO manager: Registered plugin: suspend command
 INFO manager: Registered plugin: package command
 INFO manager: Registered plugin: up command
 INFO manager: Registered plugin: destroy command
 INFO manager: Registered plugin: status command
 INFO manager: Registered plugin: halt command
 INFO manager: Registered plugin: VirtualBox provider
 INFO vagrant: `vagrant` invoked: []
 INFO environment: Environment initialized (#<Vagrant::Environment:0x000000015c9030>)
 INFO environment:   - cwd: /home/bxm/Projects/vagrant/cluster-test
 INFO environment: Home path: /home/bxm/.vagrant.d
 INFO environment: Local data path: /home/bxm/Projects/vagrant/cluster-test/.vagrant
 INFO environment: Loading plugin from JSON: vagrant-dns
ERROR root: Failed to load plugin: vagrant-dns
ERROR root:  -- Error: #<LoadError: cannot load such file -- vagrant/command>
ERROR root:  -- Backtrace:
ERROR root: /home/bxm/.vagrant.d/gems/gems/vagrant-dns-0.3.0/lib/vagrant-dns/command.rb:7:in `<module:VagrantDNS>'
/home/bxm/.vagrant.d/gems/gems/vagrant-dns-0.3.0/lib/vagrant-dns/command.rb:5:in `<top (required)>'
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/bxm/.vagrant.d/gems/gems/vagrant-dns-0.3.0/lib/vagrant-dns.rb:2:in `<top (required)>'
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/lib/vagrant.rb:186:in `require_plugin'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/lib/vagrant/environment.rb:728:in `block in load_plugins'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/lib/vagrant/environment.rb:725:in `each'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/lib/vagrant/environment.rb:725:in `load_plugins'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/lib/vagrant/environment.rb:132:in `initialize'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/bin/vagrant:62:in `new'
/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/bin/vagrant:62:in `<top (required)>'
/opt/vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
/opt/vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'
 INFO interface: error: Failed to load the "vagrant-dns" plugin. View logs for more details.

Failed to load the "vagrant-dns" plugin. View logs for more details.

 INFO environment: Running hook: environment_load
 INFO environment: Initializing config...
 INFO loader: Set :default = "/opt/vagrant/embedded/gems/gems/vagrant-1.2.1/config/default.rb"
 INFO loader: Set :root = #<Pathname:/home/bxm/Projects/vagrant/cluster-test/Vagrantfile>
 INFO loader: Loading configuration in order: [:default, :home, :root]
 INFO hosts: Host class: VagrantPlugins::HostLinux::Host
 INFO runner: Running action: #<Vagrant::Action::Builder:0x000000021feee0>
 INFO cli: CLI: [] nil []
 INFO interface: info: Usage: vagrant [-v] [-h] command [<args>]

    -v, --version                    Print the version and exit.
    -h, --help                       Print this help.

Available subcommands:
     box
     destroy
     halt
     init
     package
     plugin
     provision
     reload
     resume
     ssh
     ssh-config
     status
     suspend
     up

For help on any individual command run `vagrant COMMAND -h`

Usage: vagrant [-v] [-h] command [<args>]

    -v, --version                    Print the version and exit.
    -h, --help                       Print this help.

Available subcommands:
     box
     destroy
     halt
     init
     package
     plugin
     provision
     reload
     resume
     ssh
     ssh-config
     status
     suspend
     up

For help on any individual command run `vagrant COMMAND -h`
 INFO environment: Running hook: environment_unload
 INFO runner: Running action: #<Vagrant::Action::Builder:0x00000001c72530>

Broken on Vagrant 1.7.4?

Hello, have you tested this with vagrant 1.7.4? It appears to be broken and consistently attempts to start dns on port 53, regardless of the configuration:

5030 I, [2015-08-12T12:57:05.656941 #39031] INFO -- : Starting RubyDNS server (v0.9.4)...
5031 I, [2015-08-12T12:57:05.657133 #39031] INFO -- : <> Listening on udp:0.0.0.0:53
5032 E, [2015-08-12T12:57:05.658072 #39031] ERROR -- : Actor crashed!
5033 Errno::EACCES: Permission denied - bind(2)
5034 /Users/jlondon/.vagrant.d/gems/gems/rubydns-0.9.4/lib/rubydns/handler.rb:130:in initialize' 5035 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:inpublic_send'
5036 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:in dispatch' 5037 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:79:indispatch'
5038 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:60:in block in invoke' 5039 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:71:inblock in task'
5040 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/actor.rb:357:in block in task' 5041 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks.rb:57:inblock in initialize'
5042 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks/task_fiber.rb:14:in block in create' 5043 E, [2015-08-12T12:57:05.658471 #39031] ERROR -- : Actor crashed! 5044 Errno::EACCES: Permission denied - bind(2) 5045 /Users/jlondon/.vagrant.d/gems/gems/rubydns-0.9.4/lib/rubydns/handler.rb:130:ininitialize'
5046 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:in public_send' 5047 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:indispatch'
5048 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:79:in dispatch' 5049 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:60:inblock in invoke'
5050 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:71:in block in task' 5051 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/actor.rb:357:inblock in task'
5052 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks.rb:57:in block in initialize' 5053 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks/task_fiber.rb:14:inblock in create'
5054 (celluloid):0:in remote procedure call' 5055 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:108:invalue'
5056 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/proxies/sync_proxy.rb:33:in method_missing' 5057 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/proxies/cell_proxy.rb:17:insend'
5058 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid.rb:173:in new' 5059 /Users/jlondon/.vagrant.d/gems/gems/rubydns-0.9.4/lib/rubydns/server.rb:166:inblock in run'
5060 /Users/jlondon/.vagrant.d/gems/gems/rubydns-0.9.4/lib/rubydns/server.rb:147:in each' 5061 /Users/jlondon/.vagrant.d/gems/gems/rubydns-0.9.4/lib/rubydns/server.rb:147:inrun'
5062 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:in public_send' 5063 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:26:indispatch'
5064 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/calls.rb:79:in dispatch' 5065 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:60:inblock in invoke'
5066 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/cell.rb:71:in block in task' 5067 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/actor.rb:357:inblock in task'
5068 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks.rb:57:in block in initialize' 5069 /Users/jlondon/.vagrant.d/gems/gems/celluloid-0.16.1/lib/celluloid/tasks/task_fiber.rb:14:inblock in create'

Docs on proper dns cache clearing

Seems that the rules sometimes stick around, even we explicitly refresh our browser. Not particularly harmful at the moment, but might make people anxious as their system is getting into a state that they're unsure how to revert.

Wildcard subdomain with vagrant Version 5.0.16 r105871 not seems to be working

I am in need to support wildcard subdomains. Suppose example.dev is my domain name. And I wanna any.example.dev should also be working. I tried below. Some months ago it worked may be. But now its not working may be because of the latest vagrant?

  config.dns.tld = "dev"
  config.vm.hostname = "example"
  config.dns.patterns = [/^.*example.dev$/]

Faild to load the "vagrant-dns"

Hi,
I have the following log error on every vagrant command :

INFO environment: Loading plugin from JSON: vagrant-dns
ERROR root: Failed to load plugin: vagrant-dns
ERROR root: -- Error: #<SyntaxError: /home//.vagrant.d/gems/gems/vagrant-dns-1.0.0/lib/vagrant-dns/installers/mac.rb:4: unknown type of %string
EXEC_STYLES = %i{osa sudo}
^
/home//.vagrant.d/gems/gems/vagrant-dns-1.0.0/lib/vagrant-dns/installers/mac.rb:4: syntax error, unexpected $end
EXEC_STYLES = %i{osa sudo}
^>
ERROR root: -- Backtrace:
ERROR root: /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in require' /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire'
/home//.vagrant.d/gems/gems/vagrant-dns-1.0.0/lib/vagrant-dns.rb:5:in <top (required)>' /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:inrequire'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in rescue in require' /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:inrequire'
/usr/lib/ruby/vendor_ruby/vagrant.rb:204:in require_plugin' /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:760:inblock in load_plugins'
/usr/lib/ruby/vendor_ruby/vagrant/environment.rb:751:in each' /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:751:inload_plugins'
/usr/lib/ruby/vendor_ruby/vagrant/environment.rb:132:in initialize' /usr/bin/vagrant:105:innew'
/usr/bin/vagrant:105:in `

'
INFO interface: error: Failed to load the "vagrant-dns" plugin. View logs for more details.

Version of Vagrant 1.4.3
OS : Linux karnel : 3.16.0-59-generic - Elementary OS 0.3.2 Freya (64-bit)
VBox : 4.3

Thanks

Vagrant errors when `~/.vagrant.d/tmp/dns` created with sudo

At least in my case, the first command run is:

$ rvmsudo bundle exec vagrant dns --install

This leads to the tmp dir being owned by root, and so subsequent vagrant ups fail when ~/.vagrant.d/tmp/dns/resolver/dev is not accessbile.

Running vagrant dns --restart first seems to avoid it, but may be worth investigating this pain point.

Cheers and thanks again!

Docs for "reseting"

I got into a weird limbo state that I couldn't get out of even after clearing every cache I could think of, uninstalling the vagrant-dns server, etc.

In the end, I fixed it by removing ~/.vagrant.d/tmp/dns and restarting my vagrant env with the dns server installed. Not sure if you think that belongs in the README, but the experience almost made me bail on the gem, and so perhaps it's worth saving the next person the hassle.

Might it even make sense to remove the dns directory when we run rvmsudo vagrant dns --uninstall? It feels as if that command should "reset" the experience, if that makes sense
Thanks for the awesome plugin by the way! :)

Problems with async-io ^1.3?

I just upgraded to Vagrant 2.0.3 and since then had issues starting VMs and/or resolving DNS names provided by vagrant-dns. From skimming Vagrant debug output, I am under the impression that this plugin might have something to do with it. But I am not a Ruby developer, so I might be entirely wrong.

So, in order to fix it, I first tried vagrant plugin expunge, which re-installed all plugins and dependencies as follows:

Fetching: vagrant-bindfs-1.1.0.gem (100%)
Fetching: vagrant-disksize-0.1.2.gem (100%)
Fetching: daemons-1.2.6.gem (100%)
Fetching: nio4r-2.3.0.gem (100%)
Building native extensions.  This could take a while...
Fetching: hitimes-1.2.6.gem (100%)
Building native extensions.  This could take a while...
Fetching: timers-4.1.2.gem (100%)
Fetching: async-1.3.0.gem (100%)
Fetching: async-io-1.4.0.gem (100%)
Fetching: async-dns-1.0.0.gem (100%)
Fetching: rubydns-2.0.1.gem (100%)
Fetching: vagrant-dns-2.1.0.gem (100%)
Fetching: vagrant-hostsupdater-1.0.2.gem (100%)
Fetching: bundler-1.16.1.gem (100%)
Fetching: vagrant-triggers-0.5.3.gem (100%)
Installed the plugin 'vagrant-bindfs (1.1.0)'!
Installing the 'vagrant-disksize' plugin. This can take a few minutes...
Installed the plugin 'vagrant-disksize (0.1.2)'!
Installing the 'vagrant-dns' plugin. This can take a few minutes...

Installed the plugin 'vagrant-dns (2.1.0)'!
Installing the 'vagrant-hostsupdater' plugin. This can take a few minutes...
Installed the plugin 'vagrant-hostsupdater (1.0.2)'!
Installing the 'vagrant-triggers' plugin. This can take a few minutes...
Installed the plugin 'vagrant-triggers (0.5.3)'!

Then, vagrant dns --start --ontop gives me:

/Users/mp/.vagrant.d/gems/2.4.3/gems/async-dns-1.0.0/lib/async/dns/server.rb:128:in `block in setup_handlers': undefined method `socket_type' for #<Async::IO::HostEndpoint:0x0000000102870f70> (NoMethodError)
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/async-io-1.4.0/lib/async/io/endpoint.rb:66:in `block in each'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/async-io-1.4.0/lib/async/io/endpoint.rb:62:in `each'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/async-io-1.4.0/lib/async/io/endpoint.rb:62:in `each'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/async-dns-1.0.0/lib/async/dns/server.rb:127:in `setup_handlers'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/async-dns-1.0.0/lib/async/dns/server.rb:109:in `run'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/rubydns-2.0.1/lib/rubydns.rb:39:in `run_server'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/vagrant-dns-2.1.0/lib/vagrant-dns/service.rb:38:in `block in run!'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons/application.rb:270:in `block in start_proc'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons/application.rb:279:in `start_proc'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons/application.rb:300:in `start'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons/controller.rb:56:in `run'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons.rb:197:in `block in run_proc'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons/cmdline.rb:92:in `catch_exceptions'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/daemons-1.2.6/lib/daemons.rb:196:in `run_proc'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/vagrant-dns-2.1.0/lib/vagrant-dns/service.rb:31:in `run!'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/vagrant-dns-2.1.0/lib/vagrant-dns/service.rb:17:in `start!'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/vagrant-dns-2.1.0/lib/vagrant-dns/command.rb:105:in `manage_service'
	from /Users/mp/.vagrant.d/gems/2.4.3/gems/vagrant-dns-2.1.0/lib/vagrant-dns/command.rb:77:in `execute'
	from /opt/vagrant/embedded/gems/2.0.3/gems/vagrant-2.0.3/lib/vagrant/cli.rb:46:in `execute'
	from /opt/vagrant/embedded/gems/2.0.3/gems/vagrant-2.0.3/lib/vagrant/environment.rb:269:in `cli'
	from /opt/vagrant/embedded/gems/2.0.3/gems/vagrant-2.0.3/bin/vagrant:151:in `<main>'

This leads us to async-dns, where I found socketry/async-dns#6.

So – I am dropping this here to 1) let you know and 2) kindly as whether there is anything you can to to quickly work around this, for example by forcing the async-dns dependency < 1.3?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.