Skip to content

Commit 538fa91

Browse files
committed
Add stricter types for onboot/hotplug/bonding parameters
1 parent 9ec41a3 commit 538fa91

File tree

8 files changed

+76
-70
lines changed

8 files changed

+76
-70
lines changed

README.md

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ network_config { 'eth0':
2020
ensure => 'present',
2121
family => 'inet',
2222
method => 'dhcp',
23-
onboot => 'true',
24-
hotplug => 'true',
23+
onboot => true,
24+
hotplug => true,
2525
options => {'pre-up' => 'sleep 2'},
2626
}
2727
2828
network_config { 'lo':
2929
ensure => 'present',
3030
family => 'inet',
3131
method => 'loopback',
32-
onboot => 'true',
32+
onboot => true,
3333
}
3434
3535
network_config { 'eth1':
@@ -38,7 +38,7 @@ network_config { 'eth1':
3838
ipaddress => '169.254.0.1',
3939
method => 'static',
4040
netmask => '255.255.0.0',
41-
onboot => 'true',
41+
onboot => true,
4242
}
4343
```
4444

@@ -82,26 +82,28 @@ network_route { 'default':
8282

8383
Create resources on the fly with the `puppet resource` command:
8484

85-
root@debian-6:~# puppet resource network_config eth1 ensure=present family=inet method=static ipaddress=169.254.0.1 netmask=255.255.0.0
86-
notice: /Network_config[eth1]/ensure: created
87-
network_config { 'eth1':
88-
ensure => 'present',
89-
family => 'inet',
90-
ipaddress => '169.254.0.1',
91-
method => 'static',
92-
netmask => '255.255.0.0',
93-
onboot => 'true',
94-
}
95-
96-
# puppet resource network_route 23.23.42.0 ensure=present netmask=255.255.255.0 interface=eth0 gateway=192.168.1.1
97-
notice: /Network_route[23.23.42.0]/ensure: created
98-
network_route { '23.23.42.0':
99-
ensure => 'present',
100-
gateway => '192.168.1.1',
101-
interface => 'eth0',
102-
netmask => '255.255.255.0',
103-
options => 'table 200',
104-
}
85+
```
86+
root@debian-6:~# puppet resource network_config eth1 ensure=present family=inet method=static ipaddress=169.254.0.1 netmask=255.255.0.0
87+
notice: /Network_config[eth1]/ensure: created
88+
network_config { 'eth1':
89+
ensure => 'present',
90+
family => 'inet',
91+
ipaddress => '169.254.0.1',
92+
method => 'static',
93+
netmask => '255.255.0.0',
94+
onboot => true,
95+
}
96+
97+
# puppet resource network_route 23.23.42.0 ensure=present netmask=255.255.255.0 interface=eth0 gateway=192.168.1.1
98+
notice: /Network_route[23.23.42.0]/ensure: created
99+
network_route { '23.23.42.0':
100+
ensure => 'present',
101+
gateway => '192.168.1.1',
102+
interface => 'eth0',
103+
netmask => '255.255.255.0',
104+
options => 'table 200',
105+
}
106+
```
105107

106108
## Dependencies
107109

manifests/bond.pp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -139,25 +139,25 @@
139139
#
140140
define network::bond(
141141
$slaves,
142-
$ensure = present,
143-
$ipaddress = undef,
144-
$netmask = undef,
145-
$method = undef,
146-
$family = undef,
147-
$onboot = undef,
148-
$hotplug = undef,
149-
$lacp_rate = undef,
150-
$mtu = undef,
151-
$options = undef,
152-
$slave_options = undef,
142+
$ensure = present,
143+
$ipaddress = undef,
144+
$netmask = undef,
145+
$method = undef,
146+
$family = undef,
147+
Optional[Boolean] $onboot = undef,
148+
Optional[Boolean] $hotplug = undef,
149+
$lacp_rate = undef,
150+
Network::MTU $mtu = undef,
151+
$options = undef,
152+
$slave_options = undef,
153153

154-
$mode = 'active-backup',
155-
$miimon = '100',
156-
$downdelay = '200',
157-
$updelay = '200',
158-
$primary = $slaves[0],
159-
$primary_reselect = 'always',
160-
$xmit_hash_policy = 'layer2',
154+
$mode = 'active-backup',
155+
Network::PositiveInteger $miimon = 100,
156+
Network::PositiveInteger $downdelay = 200,
157+
Network::PositiveInteger $updelay = 200,
158+
$primary = $slaves[0],
159+
$primary_reselect = 'always',
160+
$xmit_hash_policy = 'layer2',
161161
) {
162162

163163
require network::bond::setup

spec/defines/bond/debian_spec.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
'slaves' => %w[eth0 eth1],
1414

1515
'mode' => 'active-backup',
16-
'miimon' => '100',
17-
'downdelay' => '200',
18-
'updelay' => '200',
16+
'miimon' => 100,
17+
'downdelay' => 200,
18+
'updelay' => 200,
1919
'lacp_rate' => 'slow',
2020
'primary' => 'eth0',
2121
'primary_reselect' => 'always',
@@ -37,9 +37,9 @@
3737
'options' => {
3838
'bond-slaves' => 'eth0 eth1',
3939
'bond-mode' => 'active-backup',
40-
'bond-miimon' => '100',
41-
'bond-downdelay' => '200',
42-
'bond-updelay' => '200',
40+
'bond-miimon' => 100,
41+
'bond-downdelay' => 200,
42+
'bond-updelay' => 200,
4343
'bond-lacp-rate' => 'slow',
4444
'bond-primary' => 'eth0',
4545
'bond-primary-reselect' => 'always',
@@ -59,12 +59,12 @@
5959
'mtu' => 1550,
6060
'options' => { 'bond-future-option' => 'yes' },
6161
'slave_options' => { 'slave-future-option' => 'no' },
62-
'hotplug' => 'false',
62+
'hotplug' => false,
6363

6464
'mode' => 'balance-rr',
65-
'miimon' => '50',
66-
'downdelay' => '100',
67-
'updelay' => '100',
65+
'miimon' => 50,
66+
'downdelay' => 100,
67+
'updelay' => 100,
6868
'lacp_rate' => 'fast',
6969
'xmit_hash_policy' => 'layer3+4'
7070
}
@@ -85,9 +85,9 @@
8585
'options' => {
8686
'bond-slaves' => 'eth0 eth1 eth2',
8787
'bond-mode' => 'balance-rr',
88-
'bond-miimon' => '50',
89-
'bond-downdelay' => '100',
90-
'bond-updelay' => '100',
88+
'bond-miimon' => 50,
89+
'bond-downdelay' => 100,
90+
'bond-updelay' => 100,
9191
'bond-lacp-rate' => 'fast',
9292
'bond-xmit-hash-policy' => 'layer3+4',
9393
'bond-future-option' => 'yes',

spec/defines/bond/redhat_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
'slaves' => %w[eth0 eth1],
1414

1515
'mode' => 'active-backup',
16-
'miimon' => '100',
17-
'downdelay' => '200',
18-
'updelay' => '200',
16+
'miimon' => 100,
17+
'downdelay' => 200,
18+
'updelay' => 200,
1919
'lacp_rate' => 'slow',
2020
'primary' => 'eth0',
2121
'primary_reselect' => 'always',
@@ -58,12 +58,12 @@
5858
'mtu' => '1550',
5959
'options' => { 'NM_CONTROLLED' => 'yes' },
6060
'slave_options' => { 'NM_CONTROLLED' => 'no' },
61-
'hotplug' => 'false',
61+
'hotplug' => false,
6262

6363
'mode' => 'balance-rr',
64-
'miimon' => '50',
65-
'downdelay' => '100',
66-
'updelay' => '100',
64+
'miimon' => 50,
65+
'downdelay' => 100,
66+
'updelay' => 100,
6767
'lacp_rate' => 'fast',
6868
'xmit_hash_policy' => 'layer3+4'
6969
}
@@ -89,7 +89,7 @@
8989
'ipaddress' => '10.20.2.1',
9090
'netmask' => '255.255.255.192',
9191
'hotplug' => false,
92-
'mtu' => '1550',
92+
'mtu' => 1550,
9393
'options' => {
9494
'BONDING_OPTS' => 'mode=balance-rr miimon=50 downdelay=100 updelay=100 lacp_rate=fast xmit_hash_policy=layer3+4',
9595
'NM_CONTROLLED' => 'yes'

spec/defines/bond_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
'slave_options' => { 'NM_CONTROLLED' => 'no' },
1616

1717
'mode' => 'active-backup',
18-
'miimon' => '100',
19-
'downdelay' => '200',
20-
'updelay' => '200',
18+
'miimon' => 100,
19+
'downdelay' => 200,
20+
'updelay' => 200,
2121
'lacp_rate' => 'slow',
2222
'primary' => 'eth0',
2323
'primary_reselect' => 'always',

templates/bond/opts-redhat.erb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<%= %w[mode miimon downdelay updelay lacp_rate primary primary_reselect xmit_hash_policy].reject {
2-
|option| scope.lookupvar(option).nil? || scope.lookupvar(option) == :undef || scope.lookupvar(option) == :absent || scope.lookupvar(option).empty? }.map {
3-
|key| "#{key}=#{scope.lookupvar(key)}"
4-
}.join(' ') -%>
1+
<%= %w[mode miimon downdelay updelay lacp_rate primary primary_reselect xmit_hash_policy].reject { |option|
2+
v = scope.lookupvar(option)
3+
v.nil? || v == :undef || v == :absent || ( (v === Enumerable || v.is_a?(String) ) && v.empty?)
4+
}.map { |key|
5+
"#{key}=#{scope.lookupvar(key)}"
6+
}.join(' ') -%>

types/mtu.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type Network::MTU = Network::PositiveInteger

types/positiveinteger.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type Network::PositiveInteger = Integer[1,default]

0 commit comments

Comments
 (0)