X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Fnova%2Fmanifests%2Fnetwork%2Fneutron.pp;fp=3rdparty%2Fmodules%2Fnova%2Fmanifests%2Fnetwork%2Fneutron.pp;h=f9cc997edcdb8d21d77d452c47008ee94964f56b;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hp=0000000000000000000000000000000000000000;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/nova/manifests/network/neutron.pp b/3rdparty/modules/nova/manifests/network/neutron.pp new file mode 100644 index 000000000..f9cc997ed --- /dev/null +++ b/3rdparty/modules/nova/manifests/network/neutron.pp @@ -0,0 +1,141 @@ +# == Class: nova::network::neutron +# +# Configures Nova network to use Neutron. +# +# === Parameters: +# +# [*neutron_admin_password*] +# (required) Password for connecting to Neutron network services in +# admin context through the OpenStack Identity service. +# +# [*neutron_auth_strategy*] +# (optional) Should be kept as default 'keystone' for all production deployments. +# Defaults to 'keystone' +# +# [*neutron_url*] +# (optional) URL for connecting to the Neutron networking service. +# Defaults to 'http://127.0.0.1:9696' +# +# [*neutron_url_timeout*] +# (optional) Timeout value for connecting to neutron in seconds. +# Defaults to '30' +# +# [*neutron_admin_tenant_name*] +# (optional) Tenant name for connecting to Neutron network services in +# admin context through the OpenStack Identity service. +# Defaults to 'services' +# +# [*neutron_default_tenant_id*] +# (optional) Default tenant id when creating neutron networks +# Defaults to 'default' +# +# [*neutron_region_name*] +# (optional) Region name for connecting to neutron in admin context +# through the OpenStack Identity service. +# Defaults to 'RegionOne' +# +# [*neutron_admin_username*] +# (optional) Username for connecting to Neutron network services in admin context +# through the OpenStack Identity service. +# Defaults to 'neutron' +# +# [*neutron_ovs_bridge*] +# (optional) Name of Integration Bridge used by Open vSwitch +# Defaults to 'br-int' +# +# [*neutron_extension_sync_interval*] +# (optional) Number of seconds before querying neutron for extensions +# Defaults to '600' +# +# [*neutron_ca_certificates_file*] +# (optional) Location of ca certicates file to use for neutronclient requests. +# Defaults to 'None' +# +# [*neutron_admin_auth_url*] +# (optional) Points to the OpenStack Identity server IP and port. +# This is the Identity (keystone) admin API server IP and port value, +# and not the Identity service API IP and port. +# Defaults to 'http://127.0.0.1:35357/v2.0' +# +# [*network_api_class*] +# (optional) The full class name of the network API class. +# The default configures Nova to use Neutron for the network API. +# Defaults to 'nova.network.neutronv2.api.API' +# +# [*security_group_api*] +# (optional) The full class name of the security API class. +# The default configures Nova to use Neutron for security groups. +# Set to 'nova' to use standard Nova security groups. +# Defaults to 'neutron' +# +# [*firewall_driver*] +# (optional) Firewall driver. +# This prevents nova from maintaining a firewall so it does not interfere +# with Neutron's. Set to 'nova.virt.firewall.IptablesFirewallDriver' +# to re-enable the Nova firewall. +# Defaults to 'nova.virt.firewall.NoopFirewallDriver' +# +# [*vif_plugging_is_fatal*] +# (optional) Fail to boot instance if vif plugging fails. +# This prevents nova from booting an instance if vif plugging notification +# is not received from neutron. +# Defaults to 'True' +# +# [*vif_plugging_timeout*] +# (optional) Number of seconds to wait for neutron vif plugging events. +# Set to '0' and vif_plugging_is_fatal to 'False' if vif plugging +# notification is not being used. +# Defaults to '300' +# +# [*dhcp_domain*] +# (optional) domain to use for building the hostnames +# Defaults to 'novalocal' +# +class nova::network::neutron ( + $neutron_admin_password, + $neutron_auth_strategy = 'keystone', + $neutron_url = 'http://127.0.0.1:9696', + $neutron_url_timeout = '30', + $neutron_admin_tenant_name = 'services', + $neutron_default_tenant_id = 'default', + $neutron_region_name = 'RegionOne', + $neutron_admin_username = 'neutron', + $neutron_admin_auth_url = 'http://127.0.0.1:35357/v2.0', + $neutron_ovs_bridge = 'br-int', + $neutron_extension_sync_interval = '600', + $neutron_ca_certificates_file = undef, + $network_api_class = 'nova.network.neutronv2.api.API', + $security_group_api = 'neutron', + $firewall_driver = 'nova.virt.firewall.NoopFirewallDriver', + $vif_plugging_is_fatal = true, + $vif_plugging_timeout = '300', + $dhcp_domain = 'novalocal', +) { + + nova_config { + 'DEFAULT/dhcp_domain': value => $dhcp_domain; + 'DEFAULT/firewall_driver': value => $firewall_driver; + 'DEFAULT/network_api_class': value => $network_api_class; + 'DEFAULT/security_group_api': value => $security_group_api; + 'DEFAULT/vif_plugging_is_fatal': value => $vif_plugging_is_fatal; + 'DEFAULT/vif_plugging_timeout': value => $vif_plugging_timeout; + 'neutron/auth_strategy': value => $neutron_auth_strategy; + 'neutron/url': value => $neutron_url; + 'neutron/url_timeout': value => $neutron_url_timeout; + 'neutron/admin_tenant_name': value => $neutron_admin_tenant_name; + 'neutron/default_tenant_id': value => $neutron_default_tenant_id; + 'neutron/region_name': value => $neutron_region_name; + 'neutron/admin_username': value => $neutron_admin_username; + 'neutron/admin_password': value => $neutron_admin_password, secret => true; + 'neutron/admin_auth_url': value => $neutron_admin_auth_url; + 'neutron/ovs_bridge': value => $neutron_ovs_bridge; + 'neutron/extension_sync_interval': value => $neutron_extension_sync_interval; + } + + if ! $neutron_ca_certificates_file { + nova_config { 'neutron/ca_certificates_file': ensure => absent } + } else { + nova_config { 'neutron/ca_certificates_file': value => $neutron_ca_certificates_file } + } + +}