puppet-octavia/manifests/provider/ovn.pp

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;
}
}