Removes interface names as parameters to the puppet modules
[genesis.git] / common / puppet-opnfv / manifests / controller_networker.pp
index c4e7423..cff258d 100644 (file)
 
 class opnfv::controller_networker {
   if $odl_rest_port == '' { $odl_rest_port= '8081'}
-  if ($odl_flag != '') and str2bool($odl_flag) { 
+  if ($odl_flag != '') and str2bool($odl_flag) {
      $ml2_mech_drivers = ['opendaylight']
      $this_agent = 'opendaylight'
   } else {
-    $ml2_mech_drivers = ['openvswitch','l2population'] 
+    $ml2_mech_drivers = ['openvswitch','l2population']
     $this_agent = 'ovs'
   }
 
   ##Mandatory Common variables
   if $admin_email == '' { fail('admin_email is empty') }
-  if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') }
 
   ##Most users will only care about a single user/password for all services
   ##so lets create one variable that can be used instead of separate usernames/passwords
@@ -46,8 +45,10 @@ class opnfv::controller_networker {
   if $ha_flag and str2bool($ha_flag) {
     ##Mandatory HA variables
     if !$controllers_ip_array { fail('controllers_ip_array is empty') }
+    $controllers_ip_array_str = $controllers_ip_array
     $controllers_ip_array = split($controllers_ip_array, ',')
     if !$controllers_hostnames_array { fail('controllers_hostnames_array is empty') }
+    $controllers_hostnames_array_str = $controllers_hostnames_array
     $controllers_hostnames_array = split($controllers_hostnames_array, ',')
     if !$amqp_vip { fail('amqp_vip is empty') }
     if !$private_subnet { fail('private_subnet is empty')}
@@ -71,7 +72,10 @@ class opnfv::controller_networker {
     if !$nova_admin_vip { fail('nova_admin_vip is empty') }
     if !$nova_private_vip { fail('nova_private_vip is empty') }
     if !$nova_public_vip { fail('nova_public_vip is empty') }
+    if $private_network == '' { fail('private_network is empty') }
 
+    ##Find private interface
+    $ovs_tunnel_if = get_nic_from_network("$private_network")
 
     ##Optional HA variables
     if !$amqp_username  { $amqp_username = $single_username }
@@ -100,12 +104,34 @@ class opnfv::controller_networker {
     if !$pcmk_server_addrs {$pcmk_server_addrs = $controllers_ip_array}
     if !$pcmk_server_names {$pcmk_server_names = ["pcmk-${controllers_hostnames_array[0]}", "pcmk-${controllers_hostnames_array[1]}", "pcmk-${controllers_hostnames_array[2]}"] }
     if !$rbd_secret_uuid { $rbd_secret_uuid = '3b519746-4021-4f72-957e-5b9d991723be' }
+    if !$storage_network {
+          $storage_iface = $ovs_tunnel_if
+    } else {
+          $storage_iface = get_nic_from_network("$storage_network")
+    }
 
     ##we assume here that if not provided, the first controller is where ODL will reside
     ##this is fine for now as we will replace ODL with ODL HA when it is ready
     if $odl_control_ip == '' { $odl_control_ip =  $controllers_ip_array[0] }
 
-
+    ###find interface ip of storage network
+    $osd_ip = find_ip("",
+                      "$storage_iface",
+                      "")
+
+    class { "opnfv::ceph_deploy":
+      fsid                     => $ceph_fsid,
+      osd_pool_default_size    => $ceph_osd_pool_size,
+      osd_journal_size         => $ceph_osd_journal_size,
+      mon_initial_members      => $controllers_hostnames_array_str,
+      mon_host                 => $controllers_ip_array_str,
+      osd_ip                   => $osd_ip,
+      public_network           => $ceph_public_network,
+      cluster_network          => $ceph_public_network,
+      images_key               => $ceph_images_key,
+      volumes_key              => $ceph_volumes_key,
+    }
+    ->
     class { "quickstack::openstack_common": }
     ->
     class { "quickstack::pacemaker::params":
@@ -253,7 +279,7 @@ class opnfv::controller_networker {
     }
 
   } else {
-
+    if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') }
     if $public_ip == '' { fail('public_ip is empty') }
     if $private_ip == '' { fail('private_ip is empty') }
 
@@ -346,7 +372,7 @@ class opnfv::controller_networker {
       horizon_ca                    => $quickstack::params::horizon_ca,
       horizon_cert                  => $quickstack::params::horizon_cert,
       horizon_key                   => $quickstack::params::horizon_key,
+
       ml2_mechanism_drivers         => $ml2_mech_drivers,
 
       #neutron                       => true,