Files
puppet-neutron/manifests/config.pp
Clayton O'Neill 8b2319e210 Add hooks for external install & svc management
This adds defined anchor points for external modules to hook into the
software install, config and service dependency chain.  This allows
external modules to manage software installation (virtualenv,
containers, etc) and service management (pacemaker) without needing rely
on resources that may change or be renamed.

Change-Id: Idb1332dd498bb3065720f2ccaf68e6b0e9fa80c3
2016-06-09 09:55:27 -04:00

144 lines
5.0 KiB
Puppet

# == Class: neutron::config
#
# This class is used to manage arbitrary Neutron configurations.
#
# === Parameters
#
# [*xxx_config*]
# (optional) Allow configuration of arbitrary Neutron xxx specific configurations.
# The value is a hash of neutron_config resources. Example:
# server_config =>
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
#
# NOTE: { 'DEFAULT/foo': value => 'fooValue'; 'DEFAULT/bar': value => 'barValue'} is invalid.
#
# In yaml format, Example:
# server_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# [*server_config*]
# (optional) Manage configuration of neutron.conf
#
# [*api_config*]
# (optional) Manage configuration of api-paste.ini
#
# [*l3_agent_config*]
# (optional) Manage configuration of l3_agent.ini
#
# [*dhcp_agent_config*]
# (optional) Manage configuration of dhcp_agent.ini
#
# [*lbaas_agent_config*]
# (optional) Manage configuration of lbaas_agent.ini
#
# [*metadata_agent_config*]
# (optional) Manage configuration of metadata_agent.ini
#
# [*metering_agent_config*]
# (optional) Manage configuration of metering_agent.ini
#
# [*vpnaas_agent_config*]
# (optional) Manage configuration of vpn_agent.ini
#
# [*plugin_linuxbridge_config*]
# (optional) Manage configuration of linuxbridge_conf.ini
#
# [*plugin_cisco_db_conn_config*]
# (optional) Manage configuration of plugins/cisco/db_conn.ini
#
# [*plugin_cisco_l2network_config*]
# (optional) Manage configuration of plugins/cisco/l2network_plugin.ini
#
# [*plugin_cisco_config*]
# (optional) Manage configuration of cisco_plugins.ini
#
# [*plugin_midonet_config*]
# (optional) Manage configuration of plugins/midonet/midonet.ini
#
# [*plugin_plumgrid_config*]
# (optional) Manage configuration of plugins/plumgrid/plumgrid.ini
#
# [*plugin_opencontrail_config*]
# (optional) Manage configuration of plugins/opencontrail/ContrailPlugin.ini
#
# [*plugin_ovn_config*]
# (optional) Manage configuration of plugins/networking-ovn/networking-ovn.ini
#
# [*plugin_nuage_config*]
# (optional) Manage configuration of plugins/nuage/plugin.ini
#
# [*plugin_ml2_config*]
# (optional) Manage configuration of ml2_conf.ini
#
# [*plugin_ovs_config*]
# (optional) Manage configuration of ovs_neutron_plugin.ini
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class neutron::config (
$server_config = {},
$api_config = {},
$l3_agent_config = {},
$dhcp_agent_config = {},
$lbaas_agent_config = {},
$metadata_agent_config = {},
$metering_agent_config = {},
$vpnaas_agent_config = {},
$plugin_linuxbridge_config = {},
$plugin_cisco_db_conn_config = {},
$plugin_cisco_l2network_config = {},
$plugin_cisco_config = {},
$plugin_midonet_config = {},
$plugin_plumgrid_config = {},
$plugin_opencontrail_config = {},
$plugin_ovn_config = {},
$plugin_nuage_config = {},
$plugin_ml2_config = {},
) {
include ::neutron::deps
validate_hash($server_config)
validate_hash($api_config)
validate_hash($l3_agent_config)
validate_hash($dhcp_agent_config)
validate_hash($lbaas_agent_config)
validate_hash($metadata_agent_config)
validate_hash($metering_agent_config)
validate_hash($vpnaas_agent_config)
validate_hash($plugin_linuxbridge_config)
validate_hash($plugin_cisco_db_conn_config)
validate_hash($plugin_cisco_l2network_config)
validate_hash($plugin_cisco_config)
validate_hash($plugin_midonet_config)
validate_hash($plugin_plumgrid_config)
validate_hash($plugin_opencontrail_config)
validate_hash($plugin_ovn_config)
validate_hash($plugin_nuage_config)
validate_hash($plugin_ml2_config)
create_resources('neutron_config', $server_config)
create_resources('neutron_api_config', $api_config)
create_resources('neutron_l3_agent_config', $l3_agent_config)
create_resources('neutron_dhcp_agent_config', $dhcp_agent_config)
create_resources('neutron_metadata_agent_config', $metadata_agent_config)
create_resources('neutron_metering_agent_config', $metering_agent_config)
create_resources('neutron_vpnaas_agent_config', $vpnaas_agent_config)
create_resources('neutron_plugin_linuxbridge', $plugin_linuxbridge_config)
create_resources('neutron_plugin_cisco_db_conn', $plugin_cisco_db_conn_config)
create_resources('neutron_plugin_cisco_l2network', $plugin_cisco_l2network_config)
create_resources('neutron_plugin_cisco', $plugin_cisco_config)
create_resources('neutron_plugin_midonet', $plugin_midonet_config)
create_resources('neutron_plugin_plumgrid', $plugin_plumgrid_config)
create_resources('neutron_plugin_opencontrail', $plugin_opencontrail_config)
create_resources('neutron_plugin_ovn', $plugin_ovn_config)
create_resources('neutron_plugin_nuage', $plugin_nuage_config)
create_resources('neutron_plugin_ml2', $plugin_ml2_config)
}