cookbook 'iproute2', '~> 2.0.1'
iproute2 (10) Versions 2.0.1 Follow0
Provides custom resources for iproute2 commands
cookbook 'iproute2', '~> 2.0.1', :supermarket
knife supermarket install iproute2
knife supermarket download iproute2
iproute2 Cookbook
Provides custom resources for iproute commands
- ip-netns
- ip-link
- ip-address
- ip-route
todo
- ip-tunnel
not planning to do anytime soon
| ip-rule | 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
ip-route
Action :add (default)
ip_route '10.12.12.0/24' do
netns 'router'
via '192.168.3.1'
dev 'routetester0'
metric 1234
table 221
src '192.168.3.1'
realm 133
mtu 9001
mtu_lock true
window 1024
rtt '12s'
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
1.0.2
- Karthik: Chef guys removed property_is_set?
2.0.0
- Karthik: ip route
Collaborator Number Metric
2.0.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.1 passed this metric
No Binaries Metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 failed this metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.1 passed this metric
No Binaries Metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 passed this metric
2.0.1 passed this metric
Testing File Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.1 failed this metric
2.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number