diff options
-rw-r--r-- | environments/neutron-opencontrail.yaml | 2 | ||||
-rw-r--r-- | environments/neutron-ovs-dvr.yaml | 7 | ||||
-rwxr-xr-x | environments/neutron-sriov.yaml | 22 | ||||
-rw-r--r-- | net-config-bond.yaml | 12 | ||||
-rw-r--r-- | network/config/bond-with-vlans/ceph-storage.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/cinder-storage.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/compute.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/controller-no-external.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/controller-v6.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/controller.yaml | 5 | ||||
-rw-r--r-- | network/config/bond-with-vlans/swift-storage.yaml | 5 | ||||
-rw-r--r-- | puppet/services/haproxy.yaml | 22 | ||||
-rw-r--r-- | puppet/services/neutron-api.yaml | 14 | ||||
-rw-r--r-- | puppet/services/opendaylight-api.yaml | 1 |
14 files changed, 85 insertions, 30 deletions
diff --git a/environments/neutron-opencontrail.yaml b/environments/neutron-opencontrail.yaml index f2209ce2..51575b86 100644 --- a/environments/neutron-opencontrail.yaml +++ b/environments/neutron-opencontrail.yaml @@ -13,7 +13,7 @@ resource_registry: parameter_defaults: NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2 - NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.plugin.LoadBalancerPlugin + NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2 NeutronTunnelTypes: '' # required params: diff --git a/environments/neutron-ovs-dvr.yaml b/environments/neutron-ovs-dvr.yaml index f60edb01..b658d3a5 100644 --- a/environments/neutron-ovs-dvr.yaml +++ b/environments/neutron-ovs-dvr.yaml @@ -9,6 +9,13 @@ resource_registry: # connected to a physical network. OS::TripleO::Compute::Net::SoftwareConfig: ../net-config-bridge.yaml + # DVR requires a port on the external network for each compute node. + # This will usually match the one currently in use for + # OS::TripleO::Controller::Ports::ExternalPort. + # Please review your network configuration before deploying to ensure that + # this is appropriate. + OS::TripleO::Compute::Ports::ExternalPort: ../network/ports/noop.yaml + parameter_defaults: # DVR requires that the L2 population feature is enabled diff --git a/environments/neutron-sriov.yaml b/environments/neutron-sriov.yaml new file mode 100755 index 00000000..9b7e51f9 --- /dev/null +++ b/environments/neutron-sriov.yaml @@ -0,0 +1,22 @@ +## A Heat environment that can be used to deploy SR-IOV +resource_registry: + OS::TripleO::Services::NeutronSriovAgent: ../puppet/services/neutron-sriov-agent.yaml + +parameter_defaults: + NeutronMechanismDrivers: ['openvswitch','sriovnicswitch'] + + # Add PciPassthroughFilter to the scheduler default filters + #NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] + #NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] + + # Provide the vendorid:productid of the VFs + #NeutronSupportedPCIVendorDevs: ['8086:154c','8086:10ca','8086:1520'] + + #NeutronPhysicalDevMappings: "datacentre:ens20f2" + + # Number of VFs that needs to be configured for a physical interface + #NeutronSriovNumVFs: "ens20f2:5" + + #NovaPCIPassthrough: + # - devname: "ens20f2" + # physical_network: "datacentre" diff --git a/net-config-bond.yaml b/net-config-bond.yaml index 0a162e77..ec881bdc 100644 --- a/net-config-bond.yaml +++ b/net-config-bond.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2016-10-14 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge. @@ -6,9 +6,15 @@ description: > parameters: BondInterfaceOvsOptions: default: '' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. + description: | + The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ControlPlaneIp: default: '' description: IP address/subnet on the ctlplane network diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml index b414747f..9f537c02 100644 --- a/network/config/bond-with-vlans/ceph-storage.yaml +++ b/network/config/bond-with-vlans/ceph-storage.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/cinder-storage.yaml b/network/config/bond-with-vlans/cinder-storage.yaml index 5ee9ff09..b4d71fa3 100644 --- a/network/config/bond-with-vlans/cinder-storage.yaml +++ b/network/config/bond-with-vlans/cinder-storage.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml index 19c011eb..b2cfb0a2 100644 --- a/network/config/bond-with-vlans/compute.yaml +++ b/network/config/bond-with-vlans/compute.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/controller-no-external.yaml b/network/config/bond-with-vlans/controller-no-external.yaml index 6242e2f8..4c3e59fa 100644 --- a/network/config/bond-with-vlans/controller-no-external.yaml +++ b/network/config/bond-with-vlans/controller-no-external.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/controller-v6.yaml b/network/config/bond-with-vlans/controller-v6.yaml index 71b7e1b1..1361d969 100644 --- a/network/config/bond-with-vlans/controller-v6.yaml +++ b/network/config/bond-with-vlans/controller-v6.yaml @@ -40,6 +40,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml index 9917f073..677c90c5 100644 --- a/network/config/bond-with-vlans/controller.yaml +++ b/network/config/bond-with-vlans/controller.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/network/config/bond-with-vlans/swift-storage.yaml b/network/config/bond-with-vlans/swift-storage.yaml index 4dd6628f..e16d6b6e 100644 --- a/network/config/bond-with-vlans/swift-storage.yaml +++ b/network/config/bond-with-vlans/swift-storage.yaml @@ -38,6 +38,11 @@ parameters: description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string + constraints: + - allowed_pattern: "^((?!balance.tcp).)*$" + description: | + The balance-tcp bond mode is known to cause packet loss and + should not be used in BondInterfaceOvsOptions. ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. diff --git a/puppet/services/haproxy.yaml b/puppet/services/haproxy.yaml index df23e6e1..974928c5 100644 --- a/puppet/services/haproxy.yaml +++ b/puppet/services/haproxy.yaml @@ -58,28 +58,6 @@ outputs: tripleo.haproxy.firewall_rules: '107 haproxy stats': dport: 1993 - # TODO(emilien) make it composable to find which services are actually running - tripleo::haproxy::keystone_admin: '"%{hiera(\"keystone_enabled\")}"' - tripleo::haproxy::keystone_public: '"%{hiera(\"keystone_enabled\")}"' - tripleo::haproxy::neutron: '"%{hiera(\"neutron_api_enabled\")}"' - tripleo::haproxy::cinder: '"%{hiera(\"cinder_api_enabled\")}"' - tripleo::haproxy::glance_api: '"%{hiera(\"glance_api_enabled\")}"' - tripleo::haproxy::glance_registry: '"%{hiera(\"glance_registry_enabled\")}"' - tripleo::haproxy::nova_osapi: '"%{hiera(\"nova_api_enabled\")}"' - tripleo::haproxy::nova_metadata: '"%{hiera(\"nova_api_enabled\")}"' - tripleo::haproxy::nova_novncproxy: '"%{hiera(\"nova_vncproxy_enabled\")}"' - tripleo::haproxy::mysql: true - tripleo::haproxy::redis: '"%{hiera(\"redis_enabled\")}"' - tripleo::haproxy::sahara: '"%{hiera(\"sahara_api_enabled\")}"' - tripleo::haproxy::swift_proxy_server: '"%{hiera(\"swift_proxy_enabled\")}"' - tripleo::haproxy::ceilometer: '"%{hiera(\"ceilometer_api_enabled\")}"' - tripleo::haproxy::aodh: '"%{hiera(\"aodh_api_enabled\")}"' - tripleo::haproxy::gnocchi: '"%{hiera(\"gnocchi_api_enabled\")}"' - tripleo::haproxy::heat_api: '"%{hiera(\"heat_api_enabled\")}"' - tripleo::haproxy::heat_cloudwatch: '"%{hiera(\"heat_api_cloudwatch_enabled\")}"' - tripleo::haproxy::heat_cfn: '"%{hiera(\"heat_api_cfn_enabled\")}"' - tripleo::haproxy::horizon: '"%{hiera(\"horizon_enabled\")}"' - tripleo::haproxy::ironic: '"%{hiera(\"ironic_api_enabled\")}"' tripleo::haproxy::haproxy_log_address: {get_param: HAProxySyslogAddress} tripleo::haproxy::haproxy_stats_user: {get_param: HAProxyStatsUser} tripleo::haproxy::haproxy_stats_password: {get_param: HAProxyStatsPassword} diff --git a/puppet/services/neutron-api.yaml b/puppet/services/neutron-api.yaml index da4ec26b..72ae7d9c 100644 --- a/puppet/services/neutron-api.yaml +++ b/puppet/services/neutron-api.yaml @@ -19,9 +19,16 @@ parameters: via parameter_defaults in the resource registry. type: json NeutronWorkers: - default: 0 - description: Number of workers for Neutron service. - type: number + default: '' + description: | + Sets the number of API and RPC workers for the Neutron service. The + default value results in the configuration being left unset and a + system-dependent default will be chosen (usually the number of + processors). Please note that this can result in a large number of + processes and memory consumption on systems with a large core count. On + such systems it is recommended that a non-default value be selected that + matches the load requirements. + type: string NeutronPassword: description: The password for the neutron service and db account, used by neutron agents. type: string @@ -86,6 +93,7 @@ outputs: neutron::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] } neutron::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]} neutron::server::api_workers: {get_param: NeutronWorkers} + neutron::server::rpc_workers: {get_param: NeutronWorkers} neutron::server::allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} neutron::server::l3_ha: {get_param: NeutronL3HA} neutron::keystone::authtoken::password: {get_param: NeutronPassword} diff --git a/puppet/services/opendaylight-api.yaml b/puppet/services/opendaylight-api.yaml index 64dd7663..d2ee036e 100644 --- a/puppet/services/opendaylight-api.yaml +++ b/puppet/services/opendaylight-api.yaml @@ -75,7 +75,6 @@ outputs: opendaylight::enable_dhcp: {get_param: OpenDaylightEnableDHCP} opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol} opendaylight::odl_bind_ip: {get_param: [ServiceNetMap, OpenDaylightApiNetwork]} - tripleo::haproxy::opendaylight: true step_config: | include tripleo::profile::base::neutron::opendaylight include tripleo::profile::base::neutron::plugins::ovs::opendaylight |