Parallels/vagrant-parallels

Cannot configure "config.vm.define private" network

yarikdevcom opened this issue · 3 comments

Works only for root statement config.vm.network "private_network", not per vm statement

May be here is problem

def network_adapter(slot, type, **opts)

For example:

config.vm.define "dev-backend-django-1" do |app|
        app.vm.box = "generic/debian11"
        app.vm.network "private_network", ip: "10.5.5.11"
        app.vm.hostname = "dev-backend-django-1"

        app.vm.provider "virtualbox" do |v|
            v.name = "dev-backend-django-1"
            v.cpus = 1
            v.memory = 768
            v.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
            v.customize ["modifyvm", :id, "--vram", "16"]
        end

        app.vm.provider "parallels" do |v|
            v.name = "dev-backend-django-1"
            v.cpus = "1"
            v.memory = 768
        end
    end
    
    config.vm.define "dev-backend-django-2" do |app|
        app.vm.box = "generic/debian11"
        app.vm.network "private_network", ip: "10.5.5.12"
        app.vm.hostname = "dev-backend-django-2"

        app.vm.provider "virtualbox" do |v|
            v.name = "dev-backend-django-2"
            v.cpus = 1
            v.memory = 768
            v.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
            v.customize ["modifyvm", :id, "--vram", "16"]
        end

        app.vm.provider "parallels" do |v|
            v.name = "dev-backend-django-2"
            v.cpus = "1"
            v.memory = 768
        end
    end
    ```

Hi @mortyspace ,
Could you please elaborate what exactly does not work in your case?

In the example you have provided everything works fine:

  1. Vagrantfile:
Vagrant.configure("2") do |config|
  config.vm.define "dev-backend-django-1" do |app|
    app.vm.box = "generic/debian11"
    app.vm.network "private_network", ip: "10.5.5.11"
    app.vm.hostname = "dev-backend-django-1"

    app.vm.provider "virtualbox" do |v|
        v.name = "dev-backend-django-1"
        v.cpus = 1
        v.memory = 768
        v.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
        v.customize ["modifyvm", :id, "--vram", "16"]
    end

    app.vm.provider "parallels" do |v|
        v.name = "dev-backend-django-1"
        v.cpus = "1"
        v.memory = 768
    end
  end

  config.vm.define "dev-backend-django-2" do |app|
      app.vm.box = "generic/debian11"
      app.vm.network "private_network", ip: "10.5.5.12"
      app.vm.hostname = "dev-backend-django-2"

      app.vm.provider "virtualbox" do |v|
          v.name = "dev-backend-django-2"
          v.cpus = 1
          v.memory = 768
          v.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
          v.customize ["modifyvm", :id, "--vram", "16"]
      end

      app.vm.provider "parallels" do |v|
          v.name = "dev-backend-django-2"
          v.cpus = "1"
          v.memory = 768
      end
  end
end
  1. Create VMs:
$ vagrant up --provider parallels
==> vagrant: A new version of Vagrant is available: 2.2.18 (installed version: 2.2.17)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Bringing machine 'dev-backend-django-1' up with 'parallels' provider...
Bringing machine 'dev-backend-django-2' up with 'parallels' provider...
==> dev-backend-django-2: Box 'generic/debian11' could not be found. Attempting to find and install...
    dev-backend-django-2: Box Provider: parallels
    dev-backend-django-2: Box Version: >= 0
==> dev-backend-django-2: Loading metadata for box 'generic/debian11'
    dev-backend-django-2: URL: https://vagrantcloud.com/generic/debian11
==> dev-backend-django-2: Adding box 'generic/debian11' (v3.4.2) for provider: parallels
    dev-backend-django-2: Downloading: https://vagrantcloud.com/generic/boxes/debian11/versions/3.4.2/providers/parallels.box
    dev-backend-django-2: Calculating and comparing box checksum...
==> dev-backend-django-2: Successfully added box 'generic/debian11' (v3.4.2) for 'parallels'!
==> dev-backend-django-1: Box 'generic/debian11' could not be found. Attempting to find and install...
    dev-backend-django-1: Box Provider: parallels
    dev-backend-django-1: Box Version: >= 0
==> dev-backend-django-1: Loading metadata for box 'generic/debian11'
    dev-backend-django-1: URL: https://vagrantcloud.com/generic/debian11
==> dev-backend-django-2: Registering VM image from the base box 'generic/debian11'...
==> dev-backend-django-1: Adding box 'generic/debian11' (v3.4.2) for provider: parallels
==> dev-backend-django-2: Creating new virtual machine as a linked clone of the box image...
==> dev-backend-django-2: Setting the default configuration for VM...
==> dev-backend-django-1: Creating new virtual machine as a linked clone of the box image...
==> dev-backend-django-1: Unregistering the box VM image...
==> dev-backend-django-1: Setting the default configuration for VM...
==> dev-backend-django-2: Checking if box 'generic/debian11' version '3.4.2' is up to date...
==> dev-backend-django-1: Checking if box 'generic/debian11' version '3.4.2' is up to date...
==> dev-backend-django-2: Setting the name of the VM: dev-backend-django-2
==> dev-backend-django-1: Setting the name of the VM: dev-backend-django-1
==> dev-backend-django-1: Fixed port collision for 22 => 2222. Now on port 2200.
==> dev-backend-django-2: Preparing network interfaces based on configuration...
    dev-backend-django-2: Adapter 0: shared
    dev-backend-django-2: Adapter 1: hostonly
==> dev-backend-django-1: Preparing network interfaces based on configuration...
    dev-backend-django-1: Adapter 0: shared
    dev-backend-django-1: Adapter 1: hostonly
==> dev-backend-django-2: Clearing any previously set network interfaces...
==> dev-backend-django-2: Running 'pre-boot' VM customizations...
==> dev-backend-django-1: Clearing any previously set network interfaces...
==> dev-backend-django-1: Running 'pre-boot' VM customizations...
==> dev-backend-django-2: Booting VM...
==> dev-backend-django-1: Booting VM...
==> dev-backend-django-2: Waiting for machine to boot. This may take a few minutes...
==> dev-backend-django-1: Waiting for machine to boot. This may take a few minutes...
    dev-backend-django-2: SSH address: :22
    dev-backend-django-1: SSH address: :22
    dev-backend-django-2: SSH username: vagrant
    dev-backend-django-1: SSH username: vagrant
    dev-backend-django-2: SSH auth method: private key
    dev-backend-django-1: SSH auth method: private key
    dev-backend-django-1: Warning: Authentication failure. Retrying...
    dev-backend-django-2: Warning: Authentication failure. Retrying...
    dev-backend-django-1: Warning: Authentication failure. Retrying...
    dev-backend-django-2: Warning: Authentication failure. Retrying...
    dev-backend-django-1:
    dev-backend-django-1: Vagrant insecure key detected. Vagrant will automatically replace
    dev-backend-django-1: this with a newly generated keypair for better security.
    dev-backend-django-2:
    dev-backend-django-2: Vagrant insecure key detected. Vagrant will automatically replace
    dev-backend-django-2: this with a newly generated keypair for better security.
    dev-backend-django-1:
    dev-backend-django-1: Inserting generated public key within guest...
    dev-backend-django-1: Removing insecure key from the guest if it's present...
    dev-backend-django-2:
    dev-backend-django-2: Inserting generated public key within guest...
    dev-backend-django-1: Key inserted! Disconnecting and reconnecting using new SSH key...
    dev-backend-django-2: Removing insecure key from the guest if it's present...
    dev-backend-django-2: Key inserted! Disconnecting and reconnecting using new SSH key...
==> dev-backend-django-1: Machine booted and ready!
==> dev-backend-django-1: Checking for Parallels Tools installed on the VM...
==> dev-backend-django-1: Parallels Tools were not detected on this VM! They are required
==> dev-backend-django-1: for shared folders, time sync and more. If shared folders are not
==> dev-backend-django-1: working on this machine, please install Parallels Tools within the
==> dev-backend-django-1: virtual machine and reload your VM.
==> dev-backend-django-1: Setting hostname...
==> dev-backend-django-2: Machine booted and ready!
==> dev-backend-django-2: Checking for Parallels Tools installed on the VM...
==> dev-backend-django-2: Parallels Tools were not detected on this VM! They are required
==> dev-backend-django-2: for shared folders, time sync and more. If shared folders are not
==> dev-backend-django-2: working on this machine, please install Parallels Tools within the
==> dev-backend-django-2: virtual machine and reload your VM.
==> dev-backend-django-2: Setting hostname...
==> dev-backend-django-1: Configuring and enabling network interfaces...
==> dev-backend-django-2: Configuring and enabling network interfaces...
  1. Verify:
$ vagrant ssh dev-backend-django-1 -- sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.211.55.22  netmask 255.255.255.0  broadcast 10.211.55.255
        ether 00:1c:42:f8:08:98  txqueuelen 1000  (Ethernet)
        RX packets 1383  bytes 179542 (175.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1277  bytes 199990 (195.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.5.5.11  netmask 255.255.255.0  broadcast 10.5.5.255
        ether 00:1c:42:a2:a8:a1  txqueuelen 1000  (Ethernet)
        RX packets 59  bytes 8856 (8.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 160  bytes 13920 (13.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 160  bytes 13920 (13.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
$ vagrant ssh dev-backend-django-2 -- sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.211.55.21  netmask 255.255.255.0  broadcast 10.211.55.255
        ether 00:1c:42:b7:90:76  txqueuelen 1000  (Ethernet)
        RX packets 1334  bytes 172975 (168.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1261  bytes 195130 (190.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.5.5.12  netmask 255.255.255.0  broadcast 10.5.5.255
        ether 00:1c:42:bf:6c:db  txqueuelen 1000  (Ethernet)
        RX packets 57  bytes 8572 (8.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 160  bytes 13920 (13.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 160  bytes 13920 (13.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

^ Both VMs have the desired IP address assigned

wow, strange, will retest on my side

@mortyspace I'm closing it now. If that issue is still actual for you, please fill a new one with more details how to reproduce it