diff --git a/fixtures/scenario003.pp b/fixtures/scenario003.pp index dd2168b66..95db51493 100644 --- a/fixtures/scenario003.pp +++ b/fixtures/scenario003.pp @@ -54,7 +54,8 @@ include openstack_integration::keystone include openstack_integration::glance class { 'openstack_integration::neutron': - driver => 'ovn', + driver => 'ovn', + designate_enabled => true, } include openstack_integration::placement class { 'openstack_integration::nova': diff --git a/manifests/neutron.pp b/manifests/neutron.pp index 37239226f..118dbbf79 100644 --- a/manifests/neutron.pp +++ b/manifests/neutron.pp @@ -37,6 +37,10 @@ # (optional) Flag to enable networking-baremetal # Defaults to false. # +# [*designate_enabled*] +# (optional) Flag to enable external dns integration with Designate +# Defaults to false. +# # [*notification_topics*] # (optional) AMQP topic used for OpenStack notifications # Defaults to $facts['os_service_default']. @@ -51,6 +55,7 @@ class openstack_integration::neutron ( $l2gw_enabled = false, $bgp_dragent_enabled = false, $baremetal_enabled = false, + $designate_enabled = false, $notification_topics = $facts['os_service_default'], ) { @@ -597,6 +602,14 @@ Environment=OS_NEUTRON_CONFIG_FILES=${join($neutron_conf_files, ';')}", Anchor['ironic::service::end'] -> Service['ironic-neutron-agent-service'] } + if $designate_enabled { + class { 'neutron::designate': + password => 'a_big_secret', + url => "${::openstack_integration::config::base_url}:9001", + auth_url => $::openstack_integration::config::keystone_admin_uri, + } + } + class { 'neutron::server::notifications::nova': auth_url => $::openstack_integration::config::keystone_admin_uri, password => 'a_big_secret',