123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- # == Class: nova::network::neutron
- #
- # Configures Nova network to use Neutron.
- #
- # === Parameters:
- #
- # [*neutron_password*]
- # (required) Password for connecting to Neutron network services in
- # admin context through the OpenStack Identity service.
- #
- # [*neutron_auth_type*]
- # Name of the auth type to load (string value)
- # Defaults to 'v3password'
- #
- # [*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_project_name*]
- # (optional) Project name for connecting to Neutron network services in
- # admin context through the OpenStack Identity service.
- # Defaults to 'services'
- #
- # [*neutron_project_domain_name*]
- # (optional) Project Domain name for connecting to Neutron network services in
- # admin context through the OpenStack Identity service.
- # Defaults to 'Default'
- #
- # [*neutron_user_domain_name*]
- # (optional) User Domain name for connecting to Neutron network services in
- # admin context through the OpenStack Identity service.
- # 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_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_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/v3'
- #
- # [*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'
- #
- # DEPRECATED PARAMETERS
- # [*neutron_auth_strategy*]
- # (optional) DEPRECATED.
- #
- # [*neutron_admin_password*]
- # DEPRECATED. Password for connecting to Neutron network services
- # in admin context through the OpenStack Identity service.
- # Use neutron_password instead.
- #
- # [*neutron_admin_tenant_name*]
- # (optional) DEPRECATED. Tenant name for connecting to Neutron network
- # services in admin context through the OpenStack Identity service.
- # Use neutron_project_name instead.
- #
- # [*neutron_admin_username*]
- # (optional) DEPRECATED. Username for connecting to Neutron network services
- # in admin context through the OpenStack Identity service.
- # Use neutron_username instead.
- #
- # [*neutron_admin_auth_url*]
- # (optional) DEPRECATED. 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.
- # Use neutron_auth_url instead.
- #
- # [*neutron_default_tenant_id*]
- # (optional) DEPRECATED. Default tenant id when creating neutron networks
- #
- # [*neutron_auth_plugin*]
- # Name of the plugin to load (string value)
- # Defaults to undef
- #
- # [*neutron_ca_certificates_file*]
- # (optional) Location of ca certicates file to use for neutronclient requests.
- # Defaults to undef
- #
- class nova::network::neutron (
- $neutron_password = false,
- $neutron_auth_type = 'v3password',
- $neutron_project_name = 'services',
- $neutron_project_domain_name = 'Default',
- $neutron_username = 'neutron',
- $neutron_user_domain_name = 'Default',
- $neutron_auth_url = 'http://127.0.0.1:35357/v3',
- $neutron_url = 'http://127.0.0.1:9696',
- $neutron_url_timeout = '30',
- $neutron_region_name = 'RegionOne',
- $neutron_ovs_bridge = 'br-int',
- $neutron_extension_sync_interval = '600',
- $firewall_driver = 'nova.virt.firewall.NoopFirewallDriver',
- $vif_plugging_is_fatal = true,
- $vif_plugging_timeout = '300',
- $dhcp_domain = 'novalocal',
- # DEPRECATED PARAMETERS
- $neutron_admin_password = false,
- $neutron_auth_strategy = undef,
- $neutron_admin_tenant_name = undef,
- $neutron_admin_username = undef,
- $neutron_admin_auth_url = undef,
- $neutron_default_tenant_id = undef,
- $neutron_auth_plugin = undef,
- $neutron_ca_certificates_file = undef,
- ) {
- include ::nova::deps
- # neutron_admin params removed in Mitaka
- if $neutron_password {
- $neutron_password_real = $neutron_password
- } else {
- if $neutron_admin_password {
- warning('neutron_admin_password is deprecated. Use neutron_password')
- $neutron_password_real = $neutron_admin_password
- } else {
- fail('neutron_password is required')
- }
- }
- # neutron_auth_plugin deprecated in Newton
- if $neutron_auth_plugin {
- warning('neutron_auth_plugin parameter is deprecated and will be removed in a future release, use neutron_auth_type instead.')
- $neutron_auth_type_real = $neutron_auth_plugin
- } else {
- $neutron_auth_type_real = $neutron_auth_type
- }
- if $neutron_admin_tenant_name {
- warning('neutron_admin_tenant_name is deprecated. Use neutron_project_name')
- $neutron_project_name_real = $neutron_admin_tenant_name
- } else {
- $neutron_project_name_real = $neutron_project_name
- }
- if $neutron_admin_username {
- warning('neutron_admin_username is deprecated. Use neutron_username')
- $neutron_username_real = $neutron_admin_username
- } else {
- $neutron_username_real = $neutron_username
- }
- if $neutron_admin_auth_url {
- warning('neutron_admin_auth_url is deprecated. Use neutron_auth_url')
- $neutron_auth_url_real = $neutron_admin_auth_url
- } else {
- $neutron_auth_url_real = $neutron_auth_url
- }
- # neutron_auth_strategy removed in Mitaka
- if $neutron_auth_strategy {
- warning('neutron_auth_strategy is deprecated')
- }
- nova_config {
- 'neutron/auth_strategy': ensure => absent;
- }
- # neutron_default_tenant_id removed in Mitaka
- # the parameter is deprecated but still can be used if needed
- if $neutron_default_tenant_id {
- warning('neutron_default_tenant_id is deprecated')
- nova_config {
- 'neutron/default_tenant_id': value => $neutron_default_tenant_id;
- }
- } else {
- nova_config {
- 'neutron/default_tenant_id': ensure => absent;
- }
- }
- nova_config {
- 'DEFAULT/dhcp_domain': value => $dhcp_domain;
- 'DEFAULT/firewall_driver': value => $firewall_driver;
- 'DEFAULT/vif_plugging_is_fatal': value => $vif_plugging_is_fatal;
- 'DEFAULT/vif_plugging_timeout': value => $vif_plugging_timeout;
- 'DEFAULT/use_neutron': value => true;
- 'neutron/url': value => $neutron_url;
- 'neutron/timeout': value => $neutron_url_timeout;
- 'neutron/project_name': value => $neutron_project_name_real;
- 'neutron/project_domain_name': value => $neutron_project_domain_name;
- 'neutron/region_name': value => $neutron_region_name;
- 'neutron/username': value => $neutron_username_real;
- 'neutron/user_domain_name': value => $neutron_user_domain_name;
- 'neutron/password': value => $neutron_password_real, secret => true;
- 'neutron/auth_url': value => $neutron_auth_url_real;
- 'neutron/ovs_bridge': value => $neutron_ovs_bridge;
- 'neutron/extension_sync_interval': value => $neutron_extension_sync_interval;
- 'neutron/auth_type': value => $neutron_auth_type_real;
- }
- if $neutron_ca_certificates_file {
- warning('neutron_ca_certificates_file parameter is deprecated, has no effect and will be dropped in a future release.')
- }
- }
|