Merge "Enable Octavia + OVN provider in scenario 005"

This commit is contained in:
Zuul 2022-08-01 09:04:39 +00:00 committed by Gerrit Code Review
commit 17bc02710a
3 changed files with 49 additions and 4 deletions

View File

@ -79,7 +79,7 @@ scenario](#all-in-one).
| bgp-dr | | | | | X | | |
| redis | | X | X | | | | |
| l2gw | | | | | X | | |
| octavia | | | | | X | | |
| octavia | | | | | X | X | |
| om rpc | amqp1 | amqp1 | rabbit | rabbit | rabbit | rabbit | rabbit |
| om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |

View File

@ -52,8 +52,14 @@ class { 'openstack_integration::neutron':
}
include openstack_integration::placement
include openstack_integration::nova
class { 'openstack_integration::octavia':
provider_driver => 'ovn'
}
include openstack_integration::provision
class { 'openstack_integration::tempest':
octavia => true,
neutron_driver => 'ovn',
}

View File

@ -4,8 +4,13 @@
# (optional) AMQP topic used for OpenStack notifications
# Defaults to $::os_service_default.
#
# [*provider_driver*]
# (optional) Provider driver used in Octavia.
# Defaults to 'amphora'.
#
class openstack_integration::octavia (
$notification_topics = $::os_service_default,
$provider_driver = 'amphora',
) {
include openstack_integration::config
@ -24,6 +29,16 @@ class openstack_integration::octavia (
Exec['update-ca-certificates'] ~> Service['httpd']
}
# TODO(tkajinam): This directory should be created by the package.
file { '/var/run/octavia':
ensure => directory,
owner => 'octavia',
group => 'octavia',
mode => '0750',
require => Anchor['octavia::config::begin'],
before => Anchor['octavia::config::end']
}
class { 'octavia::logging':
debug => true,
}
@ -102,10 +117,31 @@ class openstack_integration::octavia (
client_cert => '/etc/octavia/certs/client.cert-and-key.pem',
}
if $provider_driver == 'ovn' {
# NOTE(tkajinam): Because noop drivers does not work with the ovn provider,
# amphora provider is also enabled. All tests are currently
# executed with amphora provider + noop drivers but we
# might want to revisit this later.
$enabled_provider_drivers = {
'amphora' => 'The Octavia Amphora driver.',
'octavia' => 'Deprecated alias of the Octavia Amphora driver.',
'ovn' => 'OVN provider driver.'
}
$enabled_provider_agents = 'ovn'
class { 'octavia::provider::ovn':
ovn_nb_connection => 'tcp:127.0.0.1:6641',
ovn_sb_connection => 'tcp:127.0.0.1:6642',
}
} else{
$enabled_provider_drivers = $::os_service_default
$enabled_provider_agents = $::os_service_default
}
class { 'octavia::api':
enabled => true,
service_name => 'httpd',
sync_db => true,
enabled => true,
service_name => 'httpd',
sync_db => true,
enabled_provider_drivers => $enabled_provider_drivers,
}
include apache
class { 'octavia::wsgi::apache':
@ -119,6 +155,7 @@ class openstack_integration::octavia (
class { 'octavia::networking':
}
class { 'octavia::controller':
amp_flavor_id => '65',
amphora_driver => 'amphora_noop_driver',
@ -127,6 +164,7 @@ class openstack_integration::octavia (
network_driver => 'network_noop_driver',
heartbeat_key => 'abcdefghijkl',
}
class { 'octavia::worker':
}
class { 'octavia::health_manager':
@ -134,6 +172,7 @@ class openstack_integration::octavia (
class { 'octavia::housekeeping':
}
class { 'octavia::driver_agent':
enabled_provider_agents => $enabled_provider_agents,
}
class { 'octavia::service_auth':
auth_url => $::openstack_integration::config::keystone_admin_uri,