Class: Construqt::Flavour::Ubuntu::Services::DhcpV4Relay

Inherits:
Object
  • Object
show all
Defined in:
lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ DhcpV4Relay

Returns a new instance of DhcpV4Relay.



7
8
9
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 7

def initialize(service)
  @service = service
end

Instance Method Details

#down(ifname) ⇒ Object



15
16
17
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 15

def down(ifname)
  "kill `cat /run/dhcrelay-v4.#{ifname}.pid`"
end

#interfaces(host, ifname, iface, writer) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 23

def interfaces(host, ifname, iface, writer)
  #binding.pry
  return unless iface.address && iface.address.first_ipv4
  return if @service.servers.empty?
  writer.lines.up(up(ifname))
  writer.lines.down(down(ifname))
end

#up(ifname) ⇒ Object



11
12
13
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 11

def up(ifname)
  "/usr/sbin/dhcrelay -pf /run/dhcrelay-v4.#{ifname}.pid -q -4 -i #{ifname} #{@service.servers.map{|i| i.to_s}.join(' ')}"
end

#vrrp(host, ifname, iface) ⇒ Object



19
20
21
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 19

def vrrp(host, ifname, iface)
  host.result.etc_network_vrrp(iface.name).add_master(up(ifname)).add_backup(down(ifname))
end