cookbook 'iproute2', '= 1.0.1'
iproute2 (10) Versions 1.0.1 Follow0
Provides custom resources for iproute2 commands
cookbook 'iproute2', '= 1.0.1', :supermarket
knife supermarket install iproute2
knife supermarket download iproute2
iproute2 Cookbook
Provides custom resources for iproute commands
- ip-netns
- ip-link
todo
- ip-address | ip-route | ip-rule | ip-tunnel | ip-xfrm | ip-maddress | ip-addrlabel | ip-l2tp | ip-monitor | ip-mroute(8) | ip-neighbour | ip-ntable | ip-tcp_metrics
Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle
- Fedora
- OpenSUSE
Chef
- Chef 12.7+
Recipes
Installs iproute package
Custom resources
ip-netns
Action :add (default)
ip_netns 'vpn' do
action :add
end
Action :delete
ip_netns 'vpn' do
action :delete
end
ip-link
Ethernet interface
Action :add (default)
*Note Does :add and then :set
ip_link 'dumb0' do
action :add
type 'dummy'
state 'down'
netns 'vpn'
mtu 900
mac 'aa:bb:cc:00:11:22'
alias_name 'i am alias of nsalias0'
qlen 12345
ip '1.1.1.1/28'
end
Action :set
ip_link 'dumb0' do
action :set
state 'down'
netns 'vpn'
mtu 900
mac 'aa:bb:cc:00:11:22'
alias_name 'i am alias of nsalias0'
qlen 12345
ip '1.1.1.1/28'
end
Action :delete
ip_link 'nsdeltest0' do
type 'dummy'
netns 'vpn'
state 'down'
action :delete
end
Note: Parameter state 'down'
downs the interface before removing
VLAN
Action :add (default)
ip_link 'vlan.200' do
link 'nsvlan0'
id 200
type 'vlan'
netns 'vlanns'
mtu 1400
mac 'aa:00:aa:00:aa:00'
qlen 300
alias_name 'i am vlan in netns'
ip ['1.1.1.1/28', '2.2.2.2']
end
Action :delete
ip_link 'nsvlan.del0' do
action :add
netns 'vlanns'
link 'nsvlandel0'
type 'vlan'
state 'down'
id 200
alias_name 'i should exist in netns'
end
VETH PAIR
Action :add
Creates a pair of veth interfaces nsveth1 and nsveth2 and assigns them to appropriate netns
ip_link 'nsveth1' do
type 'veth'
peer 'nsveth2'
netns 'aside'
alias_name 'i am one end'
ip Array.new(4) { |i| "169.254.0.#{i + 1}" }
end
ip_link 'nsveth2' do
action :set
type 'veth'
netns 'zside'
alias_name 'i am the other end'
end
Properties
* type: can be ..... <#todo>
* state: can be up or down, default is up
* netns: netns to which link should be in. make sure netns support is there.
* mtu: mtu
* mac: update mac. :warning: cookbook does not take care of restarting network or link :warning:
* alias_name: update alias name .. (alias
is a reserved name so using alias_name
)
* qlen: update qlen
* link: link on which vlan to be created. used with vlan type
* id: vlan id. used with vlan type
* peer: used with veth type
* ip: Add ip address(es) to the link
ip-addr
Action :add (default)
ip_addr 'eth0.100' do
action :add
ip ['1.1.1.1/32', '2.2.2.2/32']
end
Action :delete
ip_addr 'eth0.100' do
action :add
ip '2.2.2.2/32'
end
Action :flush
ip_addr 'eth0.100' do
action :flush
end
Action :flush_and_set
ip_addr 'eth0.100' do
action :flush_and_set
ip '192.168.1.2/24'
end
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
iproute2 cookbook CHANGELOG
0.0.1
- Karthik: Basic skeleton
0.0.2
- Karthik: basic ip link operations
0.0.3
- Karthik: network namespace capability
0.1.0
- Karthik: Update readme for ip-link and ip-netns
0.1.1
- Karthik: Action add to add and set [https://github.com/karthik-altiscale/iproute2-cookbook/issues/10](issue)
0.1.2
- Karthik: update mac address test on all platforms
0.2.0
-
Karthik:
all targetted
ip link
features
0.3.0
- Karthik: ip link can create VLANs
0.4.0
- Karthik: ip link can create veth pairs and associate to netns
0.4.1
- Karthik: apache-2 license
0.4.2
- Karthik: Delete action for links
1.0.0
- Karthik: A fully working IP Addr and IP Link (vlan, netns)
1.0.1
- Karthik: matchers for chefspec
License Metric
1.0.1 passed this metric
1.0.1 passed this metric