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
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')}
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 }
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":
}
} 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') }
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,