From 882fb2a89697b175d9e6043f1da37ecc3efd92c9 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Tue, 6 Mar 2018 08:40:30 -0500 Subject: [PATCH] Add environment/services-baremetal/*. This works alongside of the new environments/baremetal-services.yaml file in I373fef6581dfbfa365479f88d7b967cfbed446e4 to enable baremetal services. Change-Id: Ia61631e11dbbdbe39199db0afee2006b7e58cda2 --- environments/services-baremetal/barbican.yaml | 4 ++ .../services-baremetal/cinder-backup.yaml | 4 ++ environments/services-baremetal/collectd.yaml | 2 + environments/services-baremetal/congress.yaml | 2 + environments/services-baremetal/ec2-api.yaml | 2 + environments/services-baremetal/etcd.yaml | 2 + environments/services-baremetal/fluentd.yaml | 2 + .../services-baremetal/ironic-inspector.yaml | 2 + environments/services-baremetal/ironic.yaml | 6 +++ environments/services-baremetal/manila.yaml | 4 ++ environments/services-baremetal/mistral.yaml | 5 +++ .../neutron-bgpvpn-opendaylight.yaml | 12 +++++ .../neutron-l2gw-opendaylight.yaml | 18 ++++++++ .../neutron-ml2-cisco-vts.yaml | 37 ++++++++++++++++ .../neutron-opendaylight-dpdk.yaml | 37 ++++++++++++++++ .../neutron-opendaylight-hw-offload.yaml | 31 +++++++++++++ .../neutron-opendaylight-sriov.yaml | 22 ++++++++++ .../neutron-opendaylight.yaml | 16 +++++++ .../neutron-ovn-dvr-ha.yaml | 26 +++++++++++ .../services-baremetal/neutron-ovn-dvr.yaml | 26 +++++++++++ .../services-baremetal/neutron-ovn-ha.yaml | 33 ++++++++++++++ .../neutron-ovn-hw-offload.yaml | 44 +++++++++++++++++++ .../services-baremetal/neutron-ovn.yaml | 33 ++++++++++++++ .../services-baremetal/neutron-ovs-dpdk.yaml | 11 +++++ .../neutron-ovs-hw-offload.yaml | 24 ++++++++++ .../services-baremetal/neutron-sriov.yaml | 12 +++++ environments/services-baremetal/octavia.yaml | 16 +++++++ environments/services-baremetal/sahara.yaml | 3 ++ .../services-baremetal/sensu-client.yaml | 3 ++ environments/services-baremetal/tacker.yaml | 2 + .../services-baremetal/undercloud-aodh.yaml | 5 +++ .../undercloud-ceilometer.yaml | 4 ++ .../services-baremetal/undercloud-cinder.yaml | 4 ++ .../undercloud-gnocchi.yaml | 5 +++ .../undercloud-haproxy.yaml | 2 + .../undercloud-keepalived.yaml | 2 + .../services-baremetal/undercloud-panko.yaml | 2 + environments/services-baremetal/zaqar.yaml | 3 ++ 38 files changed, 468 insertions(+) create mode 100644 environments/services-baremetal/barbican.yaml create mode 100644 environments/services-baremetal/cinder-backup.yaml create mode 100644 environments/services-baremetal/collectd.yaml create mode 100644 environments/services-baremetal/congress.yaml create mode 100644 environments/services-baremetal/ec2-api.yaml create mode 100644 environments/services-baremetal/etcd.yaml create mode 100644 environments/services-baremetal/fluentd.yaml create mode 100644 environments/services-baremetal/ironic-inspector.yaml create mode 100644 environments/services-baremetal/ironic.yaml create mode 100644 environments/services-baremetal/manila.yaml create mode 100644 environments/services-baremetal/mistral.yaml create mode 100644 environments/services-baremetal/neutron-bgpvpn-opendaylight.yaml create mode 100644 environments/services-baremetal/neutron-l2gw-opendaylight.yaml create mode 100644 environments/services-baremetal/neutron-ml2-cisco-vts.yaml create mode 100644 environments/services-baremetal/neutron-opendaylight-dpdk.yaml create mode 100644 environments/services-baremetal/neutron-opendaylight-hw-offload.yaml create mode 100644 environments/services-baremetal/neutron-opendaylight-sriov.yaml create mode 100644 environments/services-baremetal/neutron-opendaylight.yaml create mode 100644 environments/services-baremetal/neutron-ovn-dvr-ha.yaml create mode 100644 environments/services-baremetal/neutron-ovn-dvr.yaml create mode 100644 environments/services-baremetal/neutron-ovn-ha.yaml create mode 100644 environments/services-baremetal/neutron-ovn-hw-offload.yaml create mode 100644 environments/services-baremetal/neutron-ovn.yaml create mode 100644 environments/services-baremetal/neutron-ovs-dpdk.yaml create mode 100644 environments/services-baremetal/neutron-ovs-hw-offload.yaml create mode 100644 environments/services-baremetal/neutron-sriov.yaml create mode 100644 environments/services-baremetal/octavia.yaml create mode 100644 environments/services-baremetal/sahara.yaml create mode 100644 environments/services-baremetal/sensu-client.yaml create mode 100644 environments/services-baremetal/tacker.yaml create mode 100644 environments/services-baremetal/undercloud-aodh.yaml create mode 100644 environments/services-baremetal/undercloud-ceilometer.yaml create mode 100644 environments/services-baremetal/undercloud-cinder.yaml create mode 100644 environments/services-baremetal/undercloud-gnocchi.yaml create mode 100644 environments/services-baremetal/undercloud-haproxy.yaml create mode 100644 environments/services-baremetal/undercloud-keepalived.yaml create mode 100644 environments/services-baremetal/undercloud-panko.yaml create mode 100644 environments/services-baremetal/zaqar.yaml diff --git a/environments/services-baremetal/barbican.yaml b/environments/services-baremetal/barbican.yaml new file mode 100644 index 0000000000..1735646a0e --- /dev/null +++ b/environments/services-baremetal/barbican.yaml @@ -0,0 +1,4 @@ +# A Heat environment file which can be used to enable +# Barbican with the default secret store backend. +resource_registry: + OS::TripleO::Services::BarbicanApi: ../../puppet/services/barbican-api.yaml diff --git a/environments/services-baremetal/cinder-backup.yaml b/environments/services-baremetal/cinder-backup.yaml new file mode 100644 index 0000000000..cfea4b4750 --- /dev/null +++ b/environments/services-baremetal/cinder-backup.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::CinderBackup: ../../puppet/services/pacemaker/cinder-backup.yaml + # For non-pcmk managed implementation + # OS::TripleO::Services::CinderBackup: ../../puppet/services/cinder-backup.yaml diff --git a/environments/services-baremetal/collectd.yaml b/environments/services-baremetal/collectd.yaml new file mode 100644 index 0000000000..c4ed9b7166 --- /dev/null +++ b/environments/services-baremetal/collectd.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Collectd: ../../puppet/services/metrics/collectd.yaml diff --git a/environments/services-baremetal/congress.yaml b/environments/services-baremetal/congress.yaml new file mode 100644 index 0000000000..d0cf29f6fd --- /dev/null +++ b/environments/services-baremetal/congress.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Congress: ../../puppet/services/congress.yaml diff --git a/environments/services-baremetal/ec2-api.yaml b/environments/services-baremetal/ec2-api.yaml new file mode 100644 index 0000000000..01471d3ff1 --- /dev/null +++ b/environments/services-baremetal/ec2-api.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Ec2Api: ../../puppet/services/ec2-api.yaml diff --git a/environments/services-baremetal/etcd.yaml b/environments/services-baremetal/etcd.yaml new file mode 100644 index 0000000000..08d54d58d0 --- /dev/null +++ b/environments/services-baremetal/etcd.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Etcd: ../../puppet/services/etcd.yaml diff --git a/environments/services-baremetal/fluentd.yaml b/environments/services-baremetal/fluentd.yaml new file mode 100644 index 0000000000..4ee5921c0e --- /dev/null +++ b/environments/services-baremetal/fluentd.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Fluentd: ../../puppet/services/logging/fluentd.yaml diff --git a/environments/services-baremetal/ironic-inspector.yaml b/environments/services-baremetal/ironic-inspector.yaml new file mode 100644 index 0000000000..93ce945000 --- /dev/null +++ b/environments/services-baremetal/ironic-inspector.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::IronicInspector: ../../puppet/services/ironic-inspector.yaml diff --git a/environments/services-baremetal/ironic.yaml b/environments/services-baremetal/ironic.yaml new file mode 100644 index 0000000000..b81b02698a --- /dev/null +++ b/environments/services-baremetal/ironic.yaml @@ -0,0 +1,6 @@ +resource_registry: + OS::TripleO::Services::IronicApi: ../../puppet/services/ironic-api.yaml + OS::TripleO::Services::IronicConductor: ../../puppet/services/ironic-conductor.yaml + OS::TripleO::Services::NovaIronic: ../../puppet/services/nova-ironic.yaml +parameter_defaults: + NovaSchedulerDiscoverHostsInCellsInterval: 15 diff --git a/environments/services-baremetal/manila.yaml b/environments/services-baremetal/manila.yaml new file mode 100644 index 0000000000..0d50225e8e --- /dev/null +++ b/environments/services-baremetal/manila.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::ManilaApi: ../../puppet/services/manila-api.yaml + OS::TripleO::Services::ManilaScheduler: ../../puppet/services/manila-scheduler.yaml + OS::TripleO::Services::ManilaShare: ../../puppet/services/manila-share.yaml diff --git a/environments/services-baremetal/mistral.yaml b/environments/services-baremetal/mistral.yaml new file mode 100644 index 0000000000..1054208787 --- /dev/null +++ b/environments/services-baremetal/mistral.yaml @@ -0,0 +1,5 @@ +resource_registry: + OS::TripleO::Services::MistralEngine: ../../puppet/services/mistral-engine.yaml + OS::TripleO::Services::MistralApi: ../../puppet/services/mistral-api.yaml + OS::TripleO::Services::MistralExecutor: ../../puppet/services/mistral-executor.yaml + OS::TripleO::Services::MistralEventEngine: ../../puppet/services/mistral-event-engine.yaml diff --git a/environments/services-baremetal/neutron-bgpvpn-opendaylight.yaml b/environments/services-baremetal/neutron-bgpvpn-opendaylight.yaml new file mode 100644 index 0000000000..2111a41343 --- /dev/null +++ b/environments/services-baremetal/neutron-bgpvpn-opendaylight.yaml @@ -0,0 +1,12 @@ +# A Heat environment file that can be used to deploy Neutron BGPVPN service +# +# This environment file deploys Neutron BGPVPN service and configures +# Opendaylight as its service provider. +# +# - OpenDaylight: BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default +resource_registry: + OS::TripleO::Services::NeutronBgpVpnApi: ../../puppet/services/neutron-bgpvpn-api.yaml + +parameter_defaults: + NeutronServicePlugins: 'odl-router_v2,trunk,bgpvpn' + BgpvpnServiceProvider: 'BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default' diff --git a/environments/services-baremetal/neutron-l2gw-opendaylight.yaml b/environments/services-baremetal/neutron-l2gw-opendaylight.yaml new file mode 100644 index 0000000000..7d5abf32cf --- /dev/null +++ b/environments/services-baremetal/neutron-l2gw-opendaylight.yaml @@ -0,0 +1,18 @@ +# A Heat environment file that can be used to deploy Neutron L2 Gateway service +# +# Currently there are only two service provider for Neutron L2 Gateway +# This file enables L2GW service with OpenDaylight as driver. +# +# - OpenDaylight: L2GW:OpenDaylight:networking_odl.l2gateway.driver.OpenDaylightL2gwDriver:default +resource_registry: + OS::TripleO::Services::NeutronL2gwApi: ../../puppet/services/neutron-l2gw-api.yaml + +parameter_defaults: + NeutronServicePlugins: "odl-router_v2,trunk,l2gw" + L2gwServiceProvider: ['L2GW:OpenDaylight:networking_odl.l2gateway.driver.OpenDaylightL2gwDriver:default'] + + # Optional + # L2gwServiceDefaultInterfaceName: "FortyGigE1/0/1" + # L2gwServiceDefaultDeviceName: "Switch1" + # L2gwServiceQuotaL2Gateway: 10 + # L2gwServicePeriodicMonitoringInterval: 5 diff --git a/environments/services-baremetal/neutron-ml2-cisco-vts.yaml b/environments/services-baremetal/neutron-ml2-cisco-vts.yaml new file mode 100644 index 0000000000..ed9f4e4c3c --- /dev/null +++ b/environments/services-baremetal/neutron-ml2-cisco-vts.yaml @@ -0,0 +1,37 @@ +# A Heat environment file which can be used to enable Cisco VTS , configured via puppet + +# By default the configuration has items required to deploy VPP/VPFA on all nodes + the cisco ML2 VTS driver + +resource_registry: + OS::TripleO::Services::NeutronCorePluginVTS: ../../puppet/services/neutron-plugin-ml2-cisco-vts.yaml + OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS + + ## Comment out below line when deploying VTS Agent on compute nodes instead of VPP/VPFA + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS + +parameter_defaults: + + ######################################## + ### Docker Cisco VTS Neutron images ### + ######################################## + + DockerNeutronApiImage: 'repo/binary-neutron-cisco-vts' + DockerNeutronConfigImage: 'repo/binary-neutron-cisco-vts' + + ################### + ### VTS General ### + ################### + + VTSUsername: 'admin' + #VTSPassword: + VTSServer: '' + VTSVMMID: '' + + ################### + ### Neutron ML2 ### + ################### + + NeutronCorePlugin: 'neutron.plugins.ml2.plugin.Ml2Plugin' + NeutronMechanismDrivers: 'sriovnicswitch,cisco_vts' + NeutronTypeDrivers: 'vxlan,vlan,flat' + NeutronServicePlugins: 'cisco_vts_router,trunk' diff --git a/environments/services-baremetal/neutron-opendaylight-dpdk.yaml b/environments/services-baremetal/neutron-opendaylight-dpdk.yaml new file mode 100644 index 0000000000..dffafa9724 --- /dev/null +++ b/environments/services-baremetal/neutron-opendaylight-dpdk.yaml @@ -0,0 +1,37 @@ +# A Heat environment that can be used to deploy OpenDaylight with L3 DVR and DPDK. +# This file is to be used with neutron-opendaylight.yaml + +parameter_defaults: + NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" + OpenDaylightSNATMechanism: 'controller' + + ComputeOvsDpdkParameters: + OvsEnableDpdk: True + + ## Host configuration Parameters + #TunedProfileName: "cpu-partitioning" + #IsolCpusList: "" # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned). + # It is mandatory to provide isolated cpus for tuned to achive optimal performance. + # Example: "3-8,12-15,18" + #KernelArgs: "" # Space separated kernel args to configure hugepage and IOMMU. + # Deploying DPDK requires enabling hugepages for the overcloud compute nodes. + # It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. + # This should be done by configuring parameters via host-config-and-reboot.yaml environment file. + + ## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments + ## due to CPU contention of DPDK PMD threads. + ## It is highly recommended to to enable isolcpus (via KernelArgs) on compute overcloud nodes and set the following parameters: + #OvsDpdkSocketMemory: "" # Sets the amount of hugepage memory to assign per NUMA node. + # It is recommended to use the socket closest to the PCIe slot used for the + # desired DPDK NIC. Format should be comma separated per socket string such as: + # ",", for example: "1024,0". + #OvsDpdkDriverType: "vfio-pci" # Ensure the Overcloud NIC to be used for DPDK supports this UIO/PMD driver. + #OvsPmdCoreList: "" # List or range of CPU cores for PMD threads to be pinned to. Note, NIC + # location to cores on socket, number of hyper-threaded logical cores, and + # desired number of PMD threads can all play a role in configuring this setting. + # These cores should be on the same socket where OvsDpdkSocketMemory is assigned. + # If using hyperthreading then specify both logical cores that would equal the + # physical core. Also, specifying more than one core will trigger multiple PMD + # threads to be spawned, which may improve dataplane performance. + #NovaVcpuPinSet: "" # Cores to pin Nova instances to. For maximum performance, select cores + # on the same NUMA node(s) selected for previous settings. \ No newline at end of file diff --git a/environments/services-baremetal/neutron-opendaylight-hw-offload.yaml b/environments/services-baremetal/neutron-opendaylight-hw-offload.yaml new file mode 100644 index 0000000000..b427377d55 --- /dev/null +++ b/environments/services-baremetal/neutron-opendaylight-hw-offload.yaml @@ -0,0 +1,31 @@ +# A Heat environment that can be used to deploy OpenDaylight with SRIOV +resource_registry: + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + OS::TripleO::Services::NeutronCorePlugin: ../../puppet/services/neutron-plugin-ml2-odl.yaml + OS::TripleO::Services::OpenDaylightApi: ../../puppet/services/opendaylight-api.yaml + OS::TripleO::Services::OpenDaylightOvs: ../../puppet/services/opendaylight-ovs.yaml + OS::TripleO::Services::NeutronSriovHostConfig: ../../puppet/services/neutron-sriov-host-config.yaml + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + +parameter_defaults: + NeutronEnableForceMetadata: true + NeutronPluginExtensions: 'port_security' + NeutronMechanismDrivers: ['opendaylight_v2'] + NeutronServicePlugins: 'odl-router_v2,trunk' + NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] + NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] + + # Kernel arguments for ComputeSriov node + ComputeSriovParameters: + KernelArgs: "intel_iommu=on iommu=pt" + OvsHwOffload: True + # Number of VFs that needs to be configured for a physical interface + #NeutronSriovNumVFs: ["ens3f0:4:switchdev"] + # Mapping of SR-IOV PF interface to neutron physical_network. + # In case of Vxlan/GRE physical_network should be null. + # In case of flat/vlan the physical_network should as configured in neutron. + #NovaPCIPassthrough: + # - devname: "ens3f0" + # physical_network: null diff --git a/environments/services-baremetal/neutron-opendaylight-sriov.yaml b/environments/services-baremetal/neutron-opendaylight-sriov.yaml new file mode 100644 index 0000000000..c499530645 --- /dev/null +++ b/environments/services-baremetal/neutron-opendaylight-sriov.yaml @@ -0,0 +1,22 @@ +# A Heat environment that can be used to deploy OpenDaylight with SRIOV +# This file is to be used with neutron-opendaylight.yaml + +resource_registry: + OS::TripleO::Services::ComputeNeutronCorePlugin: ../../puppet/services/neutron-plugin-ml2.yaml + OS::TripleO::Services::NeutronSriovAgent: ../../puppet/services/neutron-sriov-agent.yaml + +parameter_defaults: + NeutronMechanismDrivers: ['sriovnicswitch','opendaylight_v2'] + + # 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"] + + #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/environments/services-baremetal/neutron-opendaylight.yaml b/environments/services-baremetal/neutron-opendaylight.yaml new file mode 100644 index 0000000000..bc0f864f92 --- /dev/null +++ b/environments/services-baremetal/neutron-opendaylight.yaml @@ -0,0 +1,16 @@ +# A Heat environment that can be used to deploy OpenDaylight with L3 DVR using Docker containers +resource_registry: + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + OS::TripleO::Services::OpenDaylightApi: ../../puppet/services/opendaylight-api.yaml + OS::TripleO::Services::OpenDaylightOvs: ../../puppet/services/opendaylight-ovs.yaml + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-odl.yaml + +parameter_defaults: + NeutronEnableForceMetadata: true + NeutronPluginExtensions: 'port_security' + NeutronMechanismDrivers: 'opendaylight_v2' + NeutronServicePlugins: 'odl-router_v2,trunk' + OpenDaylightLogMechanism: 'console' diff --git a/environments/services-baremetal/neutron-ovn-dvr-ha.yaml b/environments/services-baremetal/neutron-ovn-dvr-ha.yaml new file mode 100644 index 0000000000..6b3c824286 --- /dev/null +++ b/environments/services-baremetal/neutron-ovn-dvr-ha.yaml @@ -0,0 +1,26 @@ +# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers. +resource_registry: + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../puppet/services/pacemaker/ovn-dbs.yaml +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + + +parameter_defaults: + NeutronMechanismDrivers: ovn + OVNVifType: ovs + OVNNeutronSyncMode: log + OVNQosDriver: ovn-qos + OVNTunnelEncapType: geneve + NeutronEnableDHCPAgent: false + NeutronTypeDrivers: 'geneve,vlan,flat' + NeutronNetworkType: 'geneve' + NeutronServicePlugins: 'qos,ovn-router,trunk' + NeutronVniRanges: ['1:65536', ] + NeutronEnableDVR: true diff --git a/environments/services-baremetal/neutron-ovn-dvr.yaml b/environments/services-baremetal/neutron-ovn-dvr.yaml new file mode 100644 index 0000000000..6dd1cd293c --- /dev/null +++ b/environments/services-baremetal/neutron-ovn-dvr.yaml @@ -0,0 +1,26 @@ +# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers. +resource_registry: + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + + +parameter_defaults: + NeutronMechanismDrivers: ovn + OVNVifType: ovs + OVNNeutronSyncMode: log + OVNQosDriver: ovn-qos + OVNTunnelEncapType: geneve + NeutronEnableDHCPAgent: false + NeutronTypeDrivers: 'geneve,vlan,flat' + NeutronNetworkType: 'geneve' + NeutronServicePlugins: 'qos,ovn-router,trunk' + NeutronVniRanges: ['1:65536', ] + NeutronEnableDVR: true diff --git a/environments/services-baremetal/neutron-ovn-ha.yaml b/environments/services-baremetal/neutron-ovn-ha.yaml new file mode 100644 index 0000000000..50a150fd68 --- /dev/null +++ b/environments/services-baremetal/neutron-ovn-ha.yaml @@ -0,0 +1,33 @@ +# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers. +resource_registry: + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../puppet/services/pacemaker/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../puppet/services/ovn-metadata.yaml +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + + +parameter_defaults: + NeutronMechanismDrivers: ovn + OVNVifType: ovs + OVNNeutronSyncMode: log + OVNQosDriver: ovn-qos + OVNTunnelEncapType: geneve + NeutronEnableDHCPAgent: false + NeutronTypeDrivers: 'geneve,vlan,flat' + NeutronNetworkType: 'geneve' + NeutronServicePlugins: 'qos,ovn-router,trunk' + NeutronVniRanges: ['1:65536', ] + NeutronPluginExtensions: "qos,port_security,dns" + ComputeParameters: + NeutronBridgeMappings: "" + ControllerParameters: + OVNCMSOptions: "enable-chassis-as-gw" + NetworkerParameters: + OVNCMSOptions: "enable-chassis-as-gw" diff --git a/environments/services-baremetal/neutron-ovn-hw-offload.yaml b/environments/services-baremetal/neutron-ovn-hw-offload.yaml new file mode 100644 index 0000000000..bcbbbab835 --- /dev/null +++ b/environments/services-baremetal/neutron-ovn-hw-offload.yaml @@ -0,0 +1,44 @@ +# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers. +resource_registry: + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../puppet/services/ovn-metadata.yaml + OS::TripleO::Services::NeutronSriovHostConfig: ../../puppet/services/neutron-sriov-host-config.yaml +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + + +parameter_defaults: + NeutronMechanismDrivers: ovn + OVNVifType: ovs + OVNNeutronSyncMode: log + OVNQosDriver: ovn-qos + OVNTunnelEncapType: geneve + NeutronEnableDHCPAgent: false + NeutronTypeDrivers: 'geneve,vlan,flat' + NeutronNetworkType: 'geneve' + NeutronServicePlugins: 'qos,ovn-router,trunk' + NeutronVniRanges: ['1:65536', ] + NeutronPluginExtensions: "qos,port_security,dns" + ComputeParameters: + NeutronBridgeMappings: "" + ControllerParameters: + OVNCMSOptions: "enable-chassis-as-gw" + + ComputeSriovParameters: + KernelArgs: "intel_iommu=on iommu=pt" + OvsHwOffload: True + # Number of VFs that needs to be configured for a physical interface + #NeutronSriovNumVFs: ["enp2s0f0:4:switchdev"] + # Mapping of SR-IOV PF interface to neutron physical_network. + # In case of GENEVE physical_network should be null. + # In case of flat/vlan the physical_network should as configured in neutron. + #NovaPCIPassthrough: + # - devname: "enp2s0f0" + # physical_network: "datacentre" diff --git a/environments/services-baremetal/neutron-ovn.yaml b/environments/services-baremetal/neutron-ovn.yaml new file mode 100644 index 0000000000..abda062e3f --- /dev/null +++ b/environments/services-baremetal/neutron-ovn.yaml @@ -0,0 +1,33 @@ +# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers. +resource_registry: + OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../puppet/services/ovn-metadata.yaml +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None + + +parameter_defaults: + NeutronMechanismDrivers: ovn + OVNVifType: ovs + OVNNeutronSyncMode: log + OVNQosDriver: ovn-qos + OVNTunnelEncapType: geneve + NeutronEnableDHCPAgent: false + NeutronTypeDrivers: 'geneve,vlan,flat' + NeutronNetworkType: 'geneve' + NeutronServicePlugins: 'qos,ovn-router,trunk' + NeutronVniRanges: ['1:65536', ] + NeutronPluginExtensions: "qos,port_security,dns" + ComputeParameters: + NeutronBridgeMappings: "" + ControllerParameters: + OVNCMSOptions: "enable-chassis-as-gw" + NetworkerParameters: + OVNCMSOptions: "enable-chassis-as-gw" diff --git a/environments/services-baremetal/neutron-ovs-dpdk.yaml b/environments/services-baremetal/neutron-ovs-dpdk.yaml new file mode 100644 index 0000000000..ccbb99df7e --- /dev/null +++ b/environments/services-baremetal/neutron-ovs-dpdk.yaml @@ -0,0 +1,11 @@ +# A Heat environment that can be used to deploy DPDK with OVS +# Deploying DPDK requires enabling hugepages for the overcloud nodes +resource_registry: + OS::TripleO::Services::ComputeNeutronOvsDpdk: ../../puppet/services/neutron-ovs-dpdk-agent.yaml + +parameter_defaults: + NeutronDatapathType: "netdev" + NeutronVhostuserSocketDir: "/var/lib/vhost_sockets" + NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" + OvsDpdkDriverType: "vfio-pci" + diff --git a/environments/services-baremetal/neutron-ovs-hw-offload.yaml b/environments/services-baremetal/neutron-ovs-hw-offload.yaml new file mode 100644 index 0000000000..08bc7781d1 --- /dev/null +++ b/environments/services-baremetal/neutron-ovs-hw-offload.yaml @@ -0,0 +1,24 @@ +# A Heat environment file that enables OVS Hardware Offload in the overcloud. +# This works by configuring SR-IOV NIC with switchdev and OVS Hardware Offload on +# compute nodes. The feature supported in OVS 2.8.0 + +resource_registry: + OS::TripleO::Services::NeutronSriovHostConfig: ../../puppet/services/neutron-sriov-host-config.yaml + +parameter_defaults: + + NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] + NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] + + # Kernel arguments for ComputeSriov node + ComputeSriovParameters: + KernelArgs: "intel_iommu=on iommu=pt" + OvsHwOffload: True + # Number of VFs that needs to be configured for a physical interface + #NeutronSriovNumVFs: ["ens3f0:4:switchdev"] + # Mapping of SR-IOV PF interface to neutron physical_network. + # In case of Vxlan/GRE physical_network should be null. + # In case of flat/vlan the physical_network should as configured in neutron. + #NovaPCIPassthrough: + # - devname: "ens3f0" + # physical_network: null diff --git a/environments/services-baremetal/neutron-sriov.yaml b/environments/services-baremetal/neutron-sriov.yaml new file mode 100644 index 0000000000..00ee43a114 --- /dev/null +++ b/environments/services-baremetal/neutron-sriov.yaml @@ -0,0 +1,12 @@ +# EXPERIMENTAL: The configuration enabled by this environment is not considered +# production-ready. +# +# A Heat environment that can be used to enable SR-IOV support in neutron. +resource_registry: + OS::TripleO::Services::NeutronSriovAgent: ../../puppet/services/neutron-sriov-agent.yaml + OS::TripleO::Services::NeutronSriovHostConfig: ../../puppet/services/neutron-sriov-host-config.yaml + +parameter_defaults: + NeutronMechanismDrivers: ['sriovnicswitch','openvswitch'] + NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] + NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] diff --git a/environments/services-baremetal/octavia.yaml b/environments/services-baremetal/octavia.yaml new file mode 100644 index 0000000000..46c2944e56 --- /dev/null +++ b/environments/services-baremetal/octavia.yaml @@ -0,0 +1,16 @@ +resource_registry: + OS::TripleO::Services::OctaviaApi: ../../puppet/services/octavia-api.yaml + OS::TripleO::Services::OctaviaHousekeeping: ../../puppet/services/octavia-housekeeping.yaml + OS::TripleO::Services::OctaviaHealthManager: ../../puppet/services/octavia-health-manager.yaml + OS::TripleO::Services::OctaviaWorker: ../../puppet/services/octavia-worker.yaml + OS::TripleO::Services::OctaviaDeploymentConfig: ../../puppet/services/octavia/octavia-deployment-config.yaml + +parameter_defaults: + NeutronServicePlugins: "qos,router,trunk" + NeutronEnableForceMetadata: true + + # This flag enables internal generation of certificates for communication + # with amphorae. Use OctaviaCaCert, OctaviaCaKey, OctaviaCaKeyPassphrase + # and OctaviaClient cert to configure secure production environments. + OctaviaGenerateCerts: true + diff --git a/environments/services-baremetal/sahara.yaml b/environments/services-baremetal/sahara.yaml new file mode 100644 index 0000000000..82205dd161 --- /dev/null +++ b/environments/services-baremetal/sahara.yaml @@ -0,0 +1,3 @@ +resource_registry: + OS::TripleO::Services::SaharaApi: ../../puppet/services/sahara-api.yaml + OS::TripleO::Services::SaharaEngine: ../../puppet/services/sahara-engine.yaml diff --git a/environments/services-baremetal/sensu-client.yaml b/environments/services-baremetal/sensu-client.yaml new file mode 100644 index 0000000000..10ac108326 --- /dev/null +++ b/environments/services-baremetal/sensu-client.yaml @@ -0,0 +1,3 @@ + +resource_registry: + OS::TripleO::Services::SensuClient: ../../puppet/services/monitoring/sensu-client.yaml diff --git a/environments/services-baremetal/tacker.yaml b/environments/services-baremetal/tacker.yaml new file mode 100644 index 0000000000..15cd09161d --- /dev/null +++ b/environments/services-baremetal/tacker.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Tacker: ../../puppet/services/tacker.yaml diff --git a/environments/services-baremetal/undercloud-aodh.yaml b/environments/services-baremetal/undercloud-aodh.yaml new file mode 100644 index 0000000000..e86dee15e6 --- /dev/null +++ b/environments/services-baremetal/undercloud-aodh.yaml @@ -0,0 +1,5 @@ +resource_registry: + OS::TripleO::Services::UndercloudAodhApi: ../../puppet/services/aodh-api.yaml + OS::TripleO::Services::UndercloudAodhEvaluator: ../../puppet/services/aodh-evaluator.yaml + OS::TripleO::Services::UndercloudAodhNotifier: ../../puppet/services/aodh-notifier.yaml + OS::TripleO::Services::UndercloudAodhListener: ../../puppet/services/aodh-listener.yaml diff --git a/environments/services-baremetal/undercloud-ceilometer.yaml b/environments/services-baremetal/undercloud-ceilometer.yaml new file mode 100644 index 0000000000..f0a36dfd99 --- /dev/null +++ b/environments/services-baremetal/undercloud-ceilometer.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::UndercloudCeilometerAgentCentral: ../../puppet/services/ceilometer-agent-central.yaml + OS::TripleO::Services::UndercloudCeilometerAgentNotification: ../../puppet/services/ceilometer-agent-notification.yaml + OS::TripleO::Services::UndercloudCeilometerAgentIpmi: ../../puppet/services/ceilometer-agent-ipmi.yaml diff --git a/environments/services-baremetal/undercloud-cinder.yaml b/environments/services-baremetal/undercloud-cinder.yaml new file mode 100644 index 0000000000..69ec27deec --- /dev/null +++ b/environments/services-baremetal/undercloud-cinder.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::UndercloudCinderApi: ../../puppet/services/cinder-api.yaml + OS::TripleO::Services::UndercloudCinderScheduler: ../../puppet/services/cinder-scheduler.yaml + OS::TripleO::Services::UndercloudCinderVolume: ../../puppet/services/cinder-volume.yaml diff --git a/environments/services-baremetal/undercloud-gnocchi.yaml b/environments/services-baremetal/undercloud-gnocchi.yaml new file mode 100644 index 0000000000..cb410a419a --- /dev/null +++ b/environments/services-baremetal/undercloud-gnocchi.yaml @@ -0,0 +1,5 @@ +resource_registry: + OS::TripleO::Services::UndercloudGnocchiApi: ../../puppet/services/gnocchi-api.yaml + OS::TripleO::Services::UndercloudGnocchiMetricd: ../../puppet/services/gnocchi-metricd.yaml + OS::TripleO::Services::UndercloudGnocchiStatsd: ../../puppet/services/gnocchi-statsd.yaml + OS::TripleO::Services::UndercloudRedis: ../../puppet/services/database/redis.yaml diff --git a/environments/services-baremetal/undercloud-haproxy.yaml b/environments/services-baremetal/undercloud-haproxy.yaml new file mode 100644 index 0000000000..84d447a766 --- /dev/null +++ b/environments/services-baremetal/undercloud-haproxy.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::UndercloudHAProxy: ../../puppet/services/haproxy.yaml diff --git a/environments/services-baremetal/undercloud-keepalived.yaml b/environments/services-baremetal/undercloud-keepalived.yaml new file mode 100644 index 0000000000..5c2baf61ed --- /dev/null +++ b/environments/services-baremetal/undercloud-keepalived.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::UndercloudKeepalived: ../../puppet/services/keepalived.yaml diff --git a/environments/services-baremetal/undercloud-panko.yaml b/environments/services-baremetal/undercloud-panko.yaml new file mode 100644 index 0000000000..da34ab0de0 --- /dev/null +++ b/environments/services-baremetal/undercloud-panko.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::UndercloudPankoApi: ../../puppet/services/panko-api.yaml diff --git a/environments/services-baremetal/zaqar.yaml b/environments/services-baremetal/zaqar.yaml new file mode 100644 index 0000000000..e501b69cfa --- /dev/null +++ b/environments/services-baremetal/zaqar.yaml @@ -0,0 +1,3 @@ +resource_registry: + OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml + OS::TripleO::Services::MongoDb: ../../puppet/services/database/mongodb.yaml