* (#11) Add a new fact to get a valid netmask for OpenVZ's virtual
interfaces (venet). * (#11) Use the new fact vznetmask_venet0_0 to add the route in interfaces.tail file.
This commit is contained in:
parent
8bf0ff4c81
commit
5946af1bda
@ -10,6 +10,10 @@
|
|||||||
* Update README.md.
|
* Update README.md.
|
||||||
* Upgrade pve-kernel-3.10.0-7-pve and pve-kernel-2.6.32-37 to the last version.
|
* Upgrade pve-kernel-3.10.0-7-pve and pve-kernel-2.6.32-37 to the last version.
|
||||||
|
|
||||||
|
##### Bugfixes
|
||||||
|
* (#11) Add a new fact to get a valid netmask for OpenVZ's virtual interfaces (venet).
|
||||||
|
* (#11) Use the new fact vznetmask_venet0_0 to add the route in interfaces.tail file.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
### 0.2.1 - 2015/02/03
|
### 0.2.1 - 2015/02/03
|
||||||
|
|
||||||
|
29
lib/facter/vznetmask.rb
Normal file
29
lib/facter/vznetmask.rb
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Fact: vznetmask
|
||||||
|
#
|
||||||
|
# Purpose:
|
||||||
|
# Get netmasks for Virtual Network aka venet in OpenVZ CT, for available
|
||||||
|
# network networks
|
||||||
|
#
|
||||||
|
# Resolution:
|
||||||
|
# Uses `facter/util/ip` to enumerate interfaces and return their information.
|
||||||
|
#
|
||||||
|
require 'facter/util/ip'
|
||||||
|
require 'ipaddr'
|
||||||
|
|
||||||
|
Facter::Util::IP.get_interfaces.each do |interface|
|
||||||
|
Facter.add("vznetmask_" + Facter::Util::IP.alphafy(interface)) do
|
||||||
|
setcode do
|
||||||
|
if interface =~ /^venet*/
|
||||||
|
|
||||||
|
netmask = Facter::Util::IP.get_interface_value(interface, "netmask")
|
||||||
|
if netmask == "255.255.255.255"
|
||||||
|
# It's not possible to modify the netmask from WebGUI, so it's mainly set to /32
|
||||||
|
# http://openvz.org/Venet#Adding_IP_address_to_a_container
|
||||||
|
netmask = "255.255.255.0"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
netmask
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -10,6 +10,6 @@ iface eth0 inet dhcp
|
|||||||
# <%= scope.lookupvar('::ipaddress_eth0') %>
|
# <%= scope.lookupvar('::ipaddress_eth0') %>
|
||||||
up ip route add default dev eth0
|
up ip route add default dev eth0
|
||||||
up ip route add <%= scope.lookupvar('::network_eth0') %>/<%= scope.lookupvar('::netmask_eth0') %> dev eth0 protocol kernel src <%= scope.lookupvar('::ipaddress_eth0') %>
|
up ip route add <%= scope.lookupvar('::network_eth0') %>/<%= scope.lookupvar('::netmask_eth0') %> dev eth0 protocol kernel src <%= scope.lookupvar('::ipaddress_eth0') %>
|
||||||
up ip route add <%= scope.lookupvar('::vznetwork_venet0_0') %>/<%= scope.lookupvar('::netmask_venet0_0') %> dev venet0
|
up ip route add <%= scope.lookupvar('::vznetwork_venet0_0') %>/<%= scope.lookupvar('::vznetmask_venet0_0') %> dev venet0
|
||||||
down ip route del default dev eth0
|
down ip route del default dev eth0
|
||||||
down ip route del <%= scope.lookupvar('::vznetwork_venet0_0') %>/<%= scope.lookupvar('::netmask_venet0_0') %> dev venet0
|
down ip route del <%= scope.lookupvar('::vznetwork_venet0_0') %>/<%= scope.lookupvar('::vznetmask_venet0_0') %> dev venet0
|
||||||
|
Loading…
Reference in New Issue
Block a user