80 lines
2.9 KiB
Puppet
80 lines
2.9 KiB
Puppet
# Configures the octavia ovn driver
|
|
#
|
|
# == Parameters
|
|
#
|
|
# [*package_ensure*]
|
|
# (optional) ensure state for package.
|
|
# Defaults to 'present'
|
|
#
|
|
# [*ovn_nb_connection*]
|
|
# (optional) The connection string for the OVN_Northbound OVSDB.
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovn_nb_private_key*]
|
|
# (optional) The PEM file with private key for SSL connection to OVN-NB-DB
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovn_nb_certificate*]
|
|
# (optional) The PEM file with certificate that certifies the private
|
|
# key specified in ovn_nb_private_key
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovn_nb_ca_cert*]
|
|
# (optional) The PEM file with CA certificate that OVN should use to
|
|
# verify certificates presented to it by SSL peers
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovsdb_connection_timeout*]
|
|
# (optional) Timeout in seconds for the OVSDB connection transaction.
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovsdb_retry_max_interval*]
|
|
# (optional) Max interval in seconds between each retry to get the OVN NB and
|
|
# SB IDLs.
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*ovsdb_probe_interval*]
|
|
# (optional) The probe interval for the OVSDB session in milliseconds.
|
|
# Defaults to $::os_service_default
|
|
#
|
|
class octavia::provider::ovn (
|
|
$package_ensure = 'present',
|
|
$ovn_nb_connection = $::os_service_default,
|
|
$ovn_nb_private_key = $::os_service_default,
|
|
$ovn_nb_certificate = $::os_service_default,
|
|
$ovn_nb_ca_cert = $::os_service_default,
|
|
$ovsdb_connection_timeout = $::os_service_default,
|
|
$ovsdb_retry_max_interval = $::os_service_default,
|
|
$ovsdb_probe_interval = $::os_service_default,
|
|
) {
|
|
|
|
include octavia::deps
|
|
include octavia::params
|
|
|
|
package { 'ovn-octavia-provider':
|
|
ensure => $package_ensure,
|
|
name => $::octavia::params::ovn_provider_package_name,
|
|
tag => ['openstack', 'octavia-package'],
|
|
}
|
|
|
|
# For backward compatibility
|
|
if $::octavia::api::ovn_nb_connection and !is_service_default($::octavia::api::ovn_nb_connection) {
|
|
$ovn_nb_connection_real = $::octavia::api::ovn_nb_connection
|
|
} else {
|
|
$ovn_nb_connection_real = $ovn_nb_connection
|
|
}
|
|
|
|
# TODO(flaviof): We need to replace octavia_config with octavia_ovn_provider_config in the future.
|
|
# For now, the config below uses octavia_config until we can figure out how to pass extra
|
|
# configuration files to the api running as wsgi process.
|
|
octavia_config {
|
|
'ovn/ovn_nb_connection': value => $ovn_nb_connection_real;
|
|
'ovn/ovn_nb_private_key': value => $ovn_nb_private_key;
|
|
'ovn/ovn_nb_certificate': value => $ovn_nb_certificate;
|
|
'ovn/ovn_nb_ca_cert': value => $ovn_nb_ca_cert;
|
|
'ovn/ovsdb_connection_timeout': value => $ovsdb_connection_timeout;
|
|
'ovn/ovsdb_retry_max_interval': value => $ovsdb_retry_max_interval;
|
|
'ovn/ovsdb_probe_interval': value => $ovsdb_probe_interval;
|
|
}
|
|
}
|