Enable Octavia + OVN provider in scenario 005

This change enables Octavia and OVN provider in scenario 005 so that
we can test the deployment pattern in the integration job.

Change-Id: Ic7566a2cf1f3063e51d1ca7bc2c6c482a14b1bbf
This commit is contained in:
Takashi Kajinami 2022-06-28 17:54:23 +09:00
parent 093db06714
commit f3cb529d36
3 changed files with 49 additions and 4 deletions

View File

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

View File

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

View File

@ -4,8 +4,13 @@
# (optional) AMQP topic used for OpenStack notifications # (optional) AMQP topic used for OpenStack notifications
# Defaults to $::os_service_default. # Defaults to $::os_service_default.
# #
# [*provider_driver*]
# (optional) Provider driver used in Octavia.
# Defaults to 'amphora'.
#
class openstack_integration::octavia ( class openstack_integration::octavia (
$notification_topics = $::os_service_default, $notification_topics = $::os_service_default,
$provider_driver = 'amphora',
) { ) {
include openstack_integration::config include openstack_integration::config
@ -24,6 +29,16 @@ class openstack_integration::octavia (
Exec['update-ca-certificates'] ~> Service['httpd'] 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': class { 'octavia::logging':
debug => true, debug => true,
} }
@ -102,10 +117,31 @@ class openstack_integration::octavia (
client_cert => '/etc/octavia/certs/client.cert-and-key.pem', 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': class { 'octavia::api':
enabled => true, enabled => true,
service_name => 'httpd', service_name => 'httpd',
sync_db => true, sync_db => true,
enabled_provider_drivers => $enabled_provider_drivers,
} }
include apache include apache
class { 'octavia::wsgi::apache': class { 'octavia::wsgi::apache':
@ -119,6 +155,7 @@ class openstack_integration::octavia (
class { 'octavia::networking': class { 'octavia::networking':
} }
class { 'octavia::controller': class { 'octavia::controller':
amp_flavor_id => '65', amp_flavor_id => '65',
amphora_driver => 'amphora_noop_driver', amphora_driver => 'amphora_noop_driver',
@ -127,6 +164,7 @@ class openstack_integration::octavia (
network_driver => 'network_noop_driver', network_driver => 'network_noop_driver',
heartbeat_key => 'abcdefghijkl', heartbeat_key => 'abcdefghijkl',
} }
class { 'octavia::worker': class { 'octavia::worker':
} }
class { 'octavia::health_manager': class { 'octavia::health_manager':
@ -134,6 +172,7 @@ class openstack_integration::octavia (
class { 'octavia::housekeeping': class { 'octavia::housekeeping':
} }
class { 'octavia::driver_agent': class { 'octavia::driver_agent':
enabled_provider_agents => $enabled_provider_agents,
} }
class { 'octavia::service_auth': class { 'octavia::service_auth':
auth_url => $::openstack_integration::config::keystone_admin_uri, auth_url => $::openstack_integration::config::keystone_admin_uri,