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-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-272fb27e0536/plugins/guests/smartos/cap/configure_networks.rb
vagrant-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-1cf2a8db4ccb/plugins/guests/smartos/cap/configure_networks.rb
vagrant-tiktalik-0.0.3 vendor/bundle/ruby/2.0.0/bundler/gems/vagrant-1e28f1ac31e7/plugins/guests/smartos/cap/configure_networks.rb