diff --git a/README.md b/README.md index f1707e179..fe622228c 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ scenario](#All-In-One). | glance | rbd | swift | file | file | | nova | rbd | X | X | X | | neutron | ovs | ovs | linuxbridge | ovs | +| lbaas | v2 | v1 | v1 | v1 | | cinder | rbd | iscsi | | iscsi | | ceilometer | X | | | | | aodh | X | | | | diff --git a/fixtures/scenario001.pp b/fixtures/scenario001.pp index c966705e0..808e6811a 100644 --- a/fixtures/scenario001.pp +++ b/fixtures/scenario001.pp @@ -56,7 +56,9 @@ include ::openstack_integration::keystone class { '::openstack_integration::glance': backend => $glance_backend, } -include ::openstack_integration::neutron +class { '::openstack_integration::neutron': + lbaasv2 => true +} class { '::openstack_integration::nova': libvirt_rbd => $libvirt_rbd, } diff --git a/manifests/neutron.pp b/manifests/neutron.pp index d005103cb..8d1ba8162 100644 --- a/manifests/neutron.pp +++ b/manifests/neutron.pp @@ -5,8 +5,13 @@ # Can be: openvswitch or linuxbridge. # Defaults to 'ml2_ovs'. # +# [*lbaasv2*] +# (optional) Configure lbaas v2 instead of v1 +# Defaults to false +# class openstack_integration::neutron ( - $driver = 'openvswitch', + $driver = 'openvswitch', + $lbaasv2 = false, ) { include ::openstack_integration::config @@ -124,7 +129,10 @@ class openstack_integration::neutron ( rpc_workers => 2, auth_uri => $::openstack_integration::config::keystone_auth_uri, auth_url => $::openstack_integration::config::keystone_admin_uri, + service_providers => ['LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default', + 'LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver'], } + class { '::neutron::services::lbaas': } class { '::neutron::plugins::ml2': type_drivers => ['vxlan', 'flat'], tenant_network_types => ['vxlan', 'flat'], @@ -136,9 +144,19 @@ class openstack_integration::neutron ( shared_secret => 'a_big_secret', metadata_workers => 2, } + if $lbaasv2 { + $lbaasv1 = false + $device_driver = 'neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver' + } else { + $lbaasv1 = true + $device_driver = 'neutron_lbaas.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver' + } class { '::neutron::agents::lbaas': interface_driver => $driver, + enable_v1 => $lbaasv1, + enable_v2 => $lbaasv2, debug => true, + device_driver => $device_driver } class { '::neutron::agents::l3': interface_driver => $driver,