Sha256: d4e7c73b9f69a6824f598391c78c337989dcc0cb8de3f5f43f4a15b8af06233f

Contents?: true

Size: 1.59 KB

Versions: 64

Compression:

Stored size: 1.59 KB

Contents

module VagrantPlugins
  module GuestEsxi
    module Cap
      class ConfigureNetworks
        def self.configure_networks(machine, networks)
          networks.each do |network|
            ix = network[:interface]
            switch = "vSwitch#{ix}"
            pg = "VagrantNetwork#{ix}"
            vmnic = "vmnic#{ix}"
            device = "vmk#{ix}"

            if machine.communicate.test("localcli network ip interface ipv4 get -i #{device}")
              machine.communicate.execute("localcli network ip interface remove -i #{device}")
            end

            if machine.communicate.test("localcli network vswitch standard list -v #{switch}")
              machine.communicate.execute("localcli network vswitch standard remove -v #{switch}")
            end

            machine.communicate.execute("localcli network vswitch standard add -v #{switch}")
            machine.communicate.execute("localcli network vswitch standard uplink add -v #{switch} -u #{vmnic}")
            machine.communicate.execute("localcli network vswitch standard portgroup add -v #{switch} -p #{pg}")
            machine.communicate.execute("localcli network ip interface add -i #{device} -p #{pg}")

            ifconfig = "localcli network ip interface ipv4 set -i #{device}"

            if network[:type].to_sym == :static
              machine.communicate.execute("#{ifconfig} -t static --ipv4 #{network[:ip]} --netmask #{network[:netmask]}")
            elsif network[:type].to_sym == :dhcp
              machine.communicate.execute("#{ifconfig} -t dhcp")
            end
          end
        end
      end
    end
  end
end

Version data entries

64 entries across 57 versions & 9 rubygems

Version Path
vagrant-unbundled-1.9.8.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.9.7.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-aws-mkubenka-0.7.2.pre.14 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/guests/esxi/cap/configure_networks.rb
vagrant-aws-mkubenka-0.7.2.pre.11 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/guests/esxi/cap/configure_networks.rb
vagrant-aws-mkubenka-0.7.2.pre.10 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/guests/esxi/cap/configure_networks.rb
vagrant-aws-mkubenka-0.7.2.pre.9 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.9.5.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.9.1.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/esxi/cap/configure_networks.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/esxi/cap/configure_networks.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/esxi/cap/configure_networks.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.5.2 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.5.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.4.2 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.4.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.1.2 plugins/guests/esxi/cap/configure_networks.rb
vagrant-unbundled-1.8.1.1 plugins/guests/esxi/cap/configure_networks.rb
vagrant-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-b421af58e8b3/plugins/guests/esxi/cap/configure_networks.rb
vagrant-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-309e896975d1/plugins/guests/esxi/cap/configure_networks.rb