#Copyright 2015 Open Platform for NFV Project, Inc. and its contributors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. class opnfv::compute { if ($odl_flag != '') and str2bool($odl_flag) { $ml2_mech_drivers = ['opendaylight'] $this_agent = 'opendaylight' } else { $ml2_mech_drivers = ['openvswitch','l2population'] $this_agent = 'ovs' } if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') } if $private_ip == '' { fail('private_ip is empty') } if $odl_control_ip == '' { $odl_control_ip = $private_ip } if $mysql_ip == '' { fail('mysql_ip is empty') } if $amqp_ip == '' { fail('mysql_ip is empty') } if $admin_password == '' { fail('admin_password is empty') } if $nova_user_password == '' { fail('nova_user_password is empty') } if $nova_db_password == '' { fail('nova_db_password is empty') } if $neutron_user_password == '' { fail('nova_user_password is empty') } if $neutron_db_password == '' { fail('nova_db_password is empty') } if $ceilometer_user_password == '' { fail('ceilometer_user_password is empty') } if $ceilometer_metering_secret == '' { fail('ceilometer_user_password is empty') } class { "quickstack::neutron::compute": auth_host => $private_ip, glance_host => $private_ip, libvirt_images_rbd_pool => 'volumes', libvirt_images_rbd_ceph_conf => '/etc/ceph/ceph.conf', libvirt_inject_password => 'false', libvirt_inject_key => 'false', libvirt_images_type => 'rbd', nova_host => $private_ip, nova_db_password => $nova_db_password, nova_user_password => $nova_user_password, private_network => '', private_iface => '', private_ip => '', rbd_user => 'volumes', rbd_secret_uuid => '', network_device_mtu => $quickstack::params::network_device_mtu, admin_password => $admin_password, ssl => false, mysql_host => $mysql_ip, mysql_ca => $quickstack::params::mysql_ca, amqp_host => $amqp_ip, amqp_username => 'guest', amqp_password => 'guest', #amqp_nssdb_password => $quickstack::params::amqp_nssdb_password, ceilometer => 'true', ceilometer_metering_secret => $ceilometer_metering_secret, ceilometer_user_password => $ceilometer_user_password, cinder_backend_gluster => $quickstack::params::cinder_backend_gluster, agent_type => $this_agent, enable_tunneling => true, ml2_mechanism_drivers => $ml2_mech_drivers, odl_controller_ip => $odl_control_ip, neutron_db_password => $neutron_db_password, neutron_user_password => $neutron_user_password, neutron_host => $private_ip, #ovs_bridge_mappings = $quickstack::params::ovs_bridge_mappings, #ovs_bridge_uplinks = $quickstack::params::ovs_bridge_uplinks, #ovs_vlan_ranges = $quickstack::params::ovs_vlan_ranges, ovs_tunnel_iface => $ovs_tunnel_if, ovs_tunnel_network => '', ovs_l2_population => 'True', tenant_network_type => 'vxlan', tunnel_id_ranges => '1:1000', #ovs_vxlan_udp_port = $quickstack::params::ovs_vxlan_udp_port, ovs_tunnel_types => ['vxlan'], verbose => $quickstack::params::verbose, security_group_api => 'neutron', } }