Sha256: 194279d1b8a44f61d6f7228f45641e0cf8f84bd1fb5de982f452787c5f9b10c6

Contents?: true

Size: 998 Bytes

Versions: 1

Compression:

Stored size: 998 Bytes

Contents

module VagrantPlugins
  module GuestSolaris
    module Cap
      class ConfigureNetworks
        def self.configure_networks(machine, networks)
          networks.each do |network|
            device = "#{machine.config.solaris.device}#{network[:interface]}"
            su_cmd = machine.config.solaris.suexec_cmd
            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

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-cloudstack-1.2.0 vendor/bundle/bundler/gems/vagrant-c84e05fd063f/plugins/guests/solaris/cap/configure_networks.rb