--- /dev/null
+# bridge.pp
+define nova::network::bridge (
+ $ip,
+ $netmask = '255.255.255.0'
+) {
+
+ case $::osfamily {
+
+ 'Debian': {
+ $context = '/files/etc/network/interfaces'
+ augeas { "bridge_${name}":
+ context => $context,
+ changes => [
+ "set auto[child::1 = '${name}']/1 ${name}",
+ "set iface[. = '${name}'] ${name}",
+ "set iface[. = '${name}']/family inet",
+ "set iface[. = '${name}']/method static",
+ "set iface[. = '${name}']/address ${ip}",
+ "set iface[. = '${name}']/netmask ${netmask}",
+ "set iface[. = '${name}']/bridge_ports none",
+ ],
+ notify => Exec['networking-refresh'],
+ }
+ }
+
+ 'RedHat' : {
+ }
+
+ default: { fail('nova::network_bridge currently only supports osfamily Debian and RedHat') }
+
+ }
+}