devopsgroup-io / vagrant-digitalocean

:droplet: A Vagrant provider plugin that manages DigitalOcean droplets.
Mozilla Public License 2.0
1.71k stars 182 forks source link

Cannot provision freebsd-11-0-x64-zfs image #260

Closed sumdog closed 7 years ago

sumdog commented 7 years ago

My provider block looks like the following:

  public.vm.provider :digital_ocean do |provider, override|
    override.ssh.private_key_path = '~/.ssh/id_rsa'
    override.vm.box = 'digital_ocean'
    override.vm.box_url = "https://github.com/devopsgroup-io/vagrant-digitalocean/raw/master/box/digital_ocean.box"
    provider.token = '****'
    provider.image = 'freebsd-11-0-x64-zfs image'
    provider.region = 'sfo2'
    provider.size = '2gb'
    provider.private_networking = true
    provider.ipv6 = true

Vagrant version: 1.8.7 (Gentoo)

When I try to provision a box, I get the following:

vagrant --provider=digital_ocean up public
Bringing machine 'public' up with 'digital_ocean' provider...
==> public: Using existing SSH key: Vagrant
==> public: Creating a new droplet...
==> public: Assigned IP address: x.x.x.x
==> public: Private IP address: 10.y.y.y
No host IP was given to the Vagrant core NFS helper. This is
an internal error that should be reported as a bug.

If I try a vagrant ssh boxname I get:

vagrant ssh public
Please use the freebsd@ user to access this droplet.
Connection to x.x.x.x closed.

I can SSH to the box directly, but any attempt to provision the box via Vagrant returns the No host IP was given.. error I stated above.

sumdog commented 7 years ago

I found a workaround. The following is needed for FreeBSD on Digital Ocean:

    override.ssh.shell = 'sh'
    override.ssh.username = 'freebsd'
seth-reeser commented 7 years ago

Hi @sumdog, thank you for posting your resolution.