Class: Construqt::Flavour::Ubuntu::Services::Radvd

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

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ Radvd

Returns a new instance of Radvd.



63
64
65
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 63

def initialize(service)
  @service = service
end

Instance Method Details

#down(ifname) ⇒ Object



71
72
73
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 71

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

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



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 80

def interfaces(host, ifname, iface, writer)
  #      binding.pry
  return unless iface.address && iface.address.first_ipv6
  writer.lines.up(up(ifname))
  writer.lines.down(down(ifname))
  host.result.add(self, <<RADV, Construqt::Resources::Rights::ROOT_0644, "etc", "network", "radvd.#{ifname}.conf")
interface #{ifname}
{
        AdvManagedFlag on;
        AdvSendAdvert on;
        AdvOtherConfigFlag on;
        #AdvAutonomous on;
        #AdvLinkMTU 1480;
        #MinRtrAdvInterval 3;
        #MaxRtrAdvInterval 60;
        prefix #{iface.address.first_ipv6.network.to_string}
        {
      AdvOnLink on;
      AdvAutonomous off;
      AdvRouterAddr on;
        };

};
RADV
end

#up(ifname) ⇒ Object



67
68
69
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 67

def up(ifname)
  "/usr/sbin/radvd -C /etc/network/radvd.#{ifname}.conf -p /run/radvd.#{ifname}.pid"
end

#vrrp(host, ifname, iface) ⇒ Object



75
76
77
78
# File 'lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb', line 75

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