class Construqt::Flavour::Ubuntu::Device
end
Public Class Methods
add_address(host, ifname, iface, lines, writer)
click to toggle source
# File lib/construqt/flavour/ubuntu/flavour_ubuntu.rb, line 36 def self.add_address(host, ifname, iface, lines, writer) if iface.address.nil? Firewall.create(host, ifname, iface) return end writer.header.dhcpv4 if iface.address.dhcpv4? writer.header.dhcpv6 if iface.address.dhcpv6? writer.header.mode(EtcNetworkInterfaces::Entry::Header::MODE_LOOPBACK) if iface.address.loopback? lines.add(iface.flavour) if iface.flavour iface.address.ips.each do |ip| lines.up("ip addr add #{ip.to_string} dev #{ifname}") lines.down("ip addr del #{ip.to_string} dev #{ifname}") end iface.address.routes.each do |route| if route.metric metric = " metric #{route.metric}" else metric = "" end lines.up("ip route add #{route.dst.to_string} via #{route.via.to_s}#{metric}") lines.down("ip route del #{route.dst.to_string} via #{route.via.to_s}#{metric}") end Firewall.create(host, ifname, iface) end
add_services(host, ifname, iface, writer)
click to toggle source
# File lib/construqt/flavour/ubuntu/flavour_ubuntu.rb, line 68 def self.add_services(host, ifname, iface, writer) iface.services && iface.services.each do |service| Services.get_renderer(service).interfaces(host, ifname, iface, writer) end end
build_config(host, iface)
click to toggle source
# File lib/construqt/flavour/ubuntu/flavour_ubuntu.rb, line 74 def self.build_config(host, iface) # binding.pry writer = host.result.etc_network_interfaces.get(iface) writer.header.protocol(EtcNetworkInterfaces::Entry::Header::PROTO_INET4) #binding.pry #unless iface.delegate writer.lines.add(iface.delegate.flavour) if iface.delegate.flavour ifname = writer.header.get_interface_name # ifaces.header.mode(Result::EtcNetworkInterfaces::Entry::Header::MODE_DHCP4) if iface.address.dhcpv4? # ifaces.header.mode(Result::EtcNetworkInterfaces::Entry::Header::MODE_LOOOPBACK) if iface.address.loopback? writer.lines.up("ip link set mtu #{iface.delegate.mtu} dev #{ifname} up") writer.lines.down("ip link set dev #{ifname} down") add_address(host, ifname, iface.delegate, writer.lines, writer) #unless iface.address.nil? || iface.address.ips.empty? add_services(host, ifname, iface.delegate, writer) host.ipsecs.find do |ipsec| if ipsec.left.remote.interface == iface || ipsec.right.remote.interface == iface writer.lines.up("STARTED_BY_CONSTRUQT=yes /etc/init.d/racoon start") writer.lines.down("STARTED_BY_CONSTRUQT=yes /etc/init.d/racoon restart") true else false end end end
new(cfg)
click to toggle source
Calls superclass method
# File lib/construqt/flavour/ubuntu/flavour_ubuntu.rb, line 32 def initialize(cfg) super(cfg) end
Public Instance Methods
build_config(host, iface)
click to toggle source
# File lib/construqt/flavour/ubuntu/flavour_ubuntu.rb, line 64 def build_config(host, iface) self.class.build_config(host, iface) end