3 if $private_ip == '' { fail('private_ip is empty') }
4 if $mysql_ip == '' { fail('mysql_ip is empty') }
5 if $amqp_ip == '' { fail('amqp_ip is empty') }
6 if $opendaylight_ip == '' { fail('opendaylight_ip is empty') }
9 if $nova_user_password == '' { fail('nova_user_password is empty') }
10 if $nova_db_password == '' { fail('nova_db_password is empty') }
12 if $neutron_user_password == '' { fail('neutron_user_password is empty') }
13 if $neutron_db_password == '' { fail('neutron_db_password is empty') }
14 if $neutron_metadata_shared_secret == '' { fail('neutron_metadata_shared_secret is empty') }
16 class { "opendaylight":
17 features => ['odl-base-all','odl-aaa-authn','odl-restconf',
18 'odl-nsf-all','odl-adsal-northbound','odl-mdsal-apidocs',
19 'odl-ovsdb-openstack','odl-ovsdb-northbound','odl-dlux-core'],
23 class { "quickstack::neutron::networker":
24 require => Class['opendaylight'],
25 neutron_metadata_proxy_secret => $neutron_metadata_shared_secret,
26 neutron_db_password => $neutron_db_password,
27 neutron_user_password => $neutron_user_password,
28 nova_db_password => $nova_db_password,
29 nova_user_password => $nova_user_password,
31 controller_priv_host => $private_ip,
34 enable_tunneling => true,
35 ovs_tunnel_iface => 'em1',
36 ovs_tunnel_network => '',
37 ovs_l2_population => 'True',
38 ovs_tunnel_types => ['vxlan'],
39 external_network_bridge => 'br-ex',
40 tenant_network_type => 'vxlan',
41 tunnel_id_ranges => '1:1000',
42 ml2_mechanism_drivers => ['opendaylight'],
43 odl_controller_ip => $opendaylight_ip,
45 mysql_host => $mysql_ip,
46 amqp_host => $amqp_ip,
47 amqp_username => 'guest',
48 amqp_password => 'guest',