]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/manifests/network/bridge.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / manifests / network / bridge.pp
diff --git a/3rdparty/modules/nova/manifests/network/bridge.pp b/3rdparty/modules/nova/manifests/network/bridge.pp
new file mode 100644 (file)
index 0000000..2286e0b
--- /dev/null
@@ -0,0 +1,32 @@
+# 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') }
+
+  }
+}