Sha256: d7fbed8a1765b465ac44d6a9363742f788500472ba8b745cf40d5ecc7fc34c59

Contents?: true

Size: 973 Bytes

Versions: 63

Compression:

Stored size: 973 Bytes

Contents

module VagrantPlugins
  module GuestSmartos
    module Cap
      class ConfigureNetworks
        def self.configure_networks(machine, networks)
          su_cmd = machine.config.smartos.suexec_cmd

          networks.each do |network|
            device = "#{machine.config.smartos.device}#{network[:interface]}"
            ifconfig_cmd = "#{su_cmd} /sbin/ifconfig #{device}"

            machine.communicate.execute("#{ifconfig_cmd} plumb")

            if network[:type].to_sym == :static
              machine.communicate.execute("#{ifconfig_cmd} inet #{network[:ip]} netmask #{network[:netmask]}")
              machine.communicate.execute("#{ifconfig_cmd} up")
              machine.communicate.execute("#{su_cmd} sh -c \"echo '#{network[:ip]}' > /etc/hostname.#{device}\"")
            elsif network[:type].to_sym == :dhcp
              machine.communicate.execute("#{ifconfig_cmd} dhcp start")
            end
          end
        end
      end
    end
  end
end

Version data entries

63 entries across 56 versions & 8 rubygems

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