Class: Construqt::Flavour::Ubuntu::Services::ConntrackD

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

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ ConntrackD

Returns a new instance of ConntrackD.



108
109
110
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 108

def initialize(service)
  @service = service
end

Instance Method Details

#down(ifname) ⇒ Object



116
117
118
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 116

def down(ifname)
  "/usr/share/doc/conntrackd/examples/sync/primary-backup.sh backup"
end

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



125
126
127
128
129
130
131
132
133
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 125

def interfaces(host, ifname, iface, writer)
  throw "only vrrp ifaces could be used to conntrack: #{ifname}:#{iface.name}" unless iface.vrrp
  throw "conntrack needs a ipv4 address #{ifname}:#{iface.name}" unless iface.address.first_ipv4
  throw "conntrack currently a ipv4 address #{iface.host.name}:#{ifname}:#{iface.name}" unless iface.address.first_ipv4
  other_if = iface.vrrp.delegate.interfaces.find{|i| i.host != host }
  throw "conntrack currently a ipv4 address #{other_if.host.name}:#{other_if.name}" unless other_if.address.first_ipv4
  #binding.pry
  host.result.etc_conntrackd_conntrackd.add(ifname, iface.address.first_ipv4, other_if.address.first_ipv4)
end

#up(ifname) ⇒ Object



112
113
114
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 112

def up(ifname)
  "/usr/share/doc/conntrackd/examples/sync/primary-backup.sh primary"
end

#vrrp(host, ifname, iface) ⇒ Object



120
121
122
123
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 120

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