Configures static ip on private and admin interfaces for nodes
[genesis.git] / common / puppet-opnfv / manifests / external_net_presetup.pp
index 96038c0..43866c1 100644 (file)
@@ -24,13 +24,73 @@ class opnfv::external_net_presetup {
   $controllers_hostnames_array_str = $controllers_hostnames_array
   $controllers_hostnames_array = split($controllers_hostnames_array, ',')
 
+  if ($admin_network != '') and ($admin_network != 'false') {
+    $admin_nic = get_nic_from_network("$admin_network")
+    if $admin_nic == '' { fail('admin_nic was not found') }
+    $admin_ip = get_ip_from_nic("admin_nic")
+    $admin_netmask = get_netmask_from_nic("$admin_nic")
+    #Modify ifcfg Admin network
+    augeas { "main-$admin_nic":
+        context => "/files/etc/sysconfig/network-scripts/ifcfg-$public_nic",
+        changes => [
+                "set IPADDR $admin_ip",
+                "set NETMASK $admin_netmask",
+                "rm GATEWAY",
+                "rm DNS1",
+                "set DEFROUTE no",
+                "rm IPV6_DEFROUTE",
+                "rm IPV6_PEERDNS",
+                "rm IPV6_PEERROUTES",
+                "rm PEERROUTES",
+                "set PEERDNS no",
+                "set BOOTPROTO static",
+                "set IPV6INIT no",
+                "set IPV6_AUTOCONF no",
+                "set ONBOOT yes",
+
+        ],
+        before  => Exec['systemctl restart network'],
+    }
+
+  }
+
+  if ($private_network != '') and ($private_network != 'false') {
+    $private_nic = get_nic_from_network("$private_network")
+    if $private_nic == '' { fail('private_nic was not found') }
+    $private_ip = get_ip_from_nic("private_nic")
+    $private_netmask = get_netmask_from_nic("$private_nic")
+    #Modify ifcfg private network
+    augeas { "main-$private_nic":
+        context => "/files/etc/sysconfig/network-scripts/ifcfg-$private_nic",
+        changes => [
+                "set IPADDR $private_ip",
+                "set NETMASK $private_netmask",
+                "rm GATEWAY",
+                "rm DNS1",
+                "set DEFROUTE no",
+                "rm IPV6_DEFROUTE",
+                "rm IPV6_PEERDNS",
+                "rm IPV6_PEERROUTES",
+                "rm PEERROUTES",
+                "set PEERDNS no",
+                "set BOOTPROTO static",
+                "set IPV6INIT no",
+                "set IPV6_AUTOCONF no",
+                "set ONBOOT yes",
+
+        ],
+        before  => Exec['systemctl restart network'],
+    }
+
+  }
+
   #find public NIC
   $public_nic = get_nic_from_network("$public_network")
   $public_nic_ip = get_ip_from_nic("$public_nic")
   $public_nic_netmask = get_netmask_from_nic("$public_nic")
 
  if ($public_nic == '') or ($public_nic_ip == '') or ($public_nic == "br-ex") or ($public_nic == "br_ex") {
-  notify {"Skipping augeas, public_nic ${public_nic}, public_nic_ip ${public_nic_ip}":} 
+  notify {"Skipping augeas, public_nic ${public_nic}, public_nic_ip ${public_nic_ip}":}
 
   exec {'ovs-vsctl -t 10 -- --may-exist add-br br-ex':
        path         => ["/usr/sbin/", "/usr/bin/"],