diff --git a/environments/services/barbican.yaml b/environments/services/barbican.yaml index 1735646a0e..75c16e885a 100644 --- a/environments/services/barbican.yaml +++ b/environments/services/barbican.yaml @@ -1,4 +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 + OS::TripleO::Services::BarbicanApi: ../../docker/services/barbican-api.yaml diff --git a/environments/services/cinder-backup.yaml b/environments/services/cinder-backup.yaml new file mode 100644 index 0000000000..fb53a8526f --- /dev/null +++ b/environments/services/cinder-backup.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::CinderBackup: ../../docker/services/pacemaker/cinder-backup.yaml + # For non-pcmk managed implementation + # OS::TripleO::Services::CinderBackup: ../../docker/services/cinder-backup.yaml diff --git a/environments/services/collectd.yaml b/environments/services/collectd.yaml new file mode 100644 index 0000000000..1623a888c6 --- /dev/null +++ b/environments/services/collectd.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Collectd: ../../docker/services/collectd.yaml diff --git a/environments/services/congress.yaml b/environments/services/congress.yaml new file mode 100644 index 0000000000..e1edd3526f --- /dev/null +++ b/environments/services/congress.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Congress: ../../docker/services/congress.yaml diff --git a/environments/services/ec2-api.yaml b/environments/services/ec2-api.yaml index d751ba2324..9ca8cf8017 100644 --- a/environments/services/ec2-api.yaml +++ b/environments/services/ec2-api.yaml @@ -1,3 +1,3 @@ # A Heat environment file which can be used to enable EC2-API service. resource_registry: - OS::TripleO::Services::Ec2Api: ../../puppet/services/ec2-api.yaml + OS::TripleO::Services::Ec2Api: ../../docker/services/ec2-api.yaml diff --git a/environments/services/etcd.yaml b/environments/services/etcd.yaml index 08d54d58d0..c4201cf47e 100644 --- a/environments/services/etcd.yaml +++ b/environments/services/etcd.yaml @@ -1,2 +1,2 @@ resource_registry: - OS::TripleO::Services::Etcd: ../../puppet/services/etcd.yaml + OS::TripleO::Services::Etcd: ../../docker/services/etcd.yaml diff --git a/environments/services/fluentd.yaml b/environments/services/fluentd.yaml new file mode 100644 index 0000000000..8e486e00e1 --- /dev/null +++ b/environments/services/fluentd.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Fluentd: ../../docker/services/fluentd.yaml diff --git a/environments/services/ironic-inspector.yaml b/environments/services/ironic-inspector.yaml new file mode 100644 index 0000000000..33cdde59f5 --- /dev/null +++ b/environments/services/ironic-inspector.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::IronicInspector: ../../docker/services/ironic-inspector.yaml diff --git a/environments/services/ironic.yaml b/environments/services/ironic.yaml index b81b02698a..d98ca1d467 100644 --- a/environments/services/ironic.yaml +++ b/environments/services/ironic.yaml @@ -1,6 +1,7 @@ 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 + OS::TripleO::Services::IronicApi: ../../docker/services/ironic-api.yaml + OS::TripleO::Services::IronicConductor: ../../docker/services/ironic-conductor.yaml + OS::TripleO::Services::IronicPxe: ../../docker/services/ironic-pxe.yaml + OS::TripleO::Services::NovaIronic: ../../docker/services/nova-ironic.yaml parameter_defaults: NovaSchedulerDiscoverHostsInCellsInterval: 15 diff --git a/environments/services/manila.yaml b/environments/services/manila.yaml new file mode 100644 index 0000000000..eacdb1a1dd --- /dev/null +++ b/environments/services/manila.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::ManilaApi: ../../docker/services/manila-api.yaml + OS::TripleO::Services::ManilaScheduler: ../../docker/services/manila-scheduler.yaml + OS::TripleO::Services::ManilaShare: ../../docker/services/manila-share.yaml diff --git a/environments/services/mistral.yaml b/environments/services/mistral.yaml index 851e667e4b..bc148ccc43 100644 --- a/environments/services/mistral.yaml +++ b/environments/services/mistral.yaml @@ -1,5 +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 \ No newline at end of file + OS::TripleO::Services::MistralEngine: ../../docker/services/mistral-engine.yaml + OS::TripleO::Services::MistralApi: ../../docker/services/mistral-api.yaml + OS::TripleO::Services::MistralExecutor: ../../docker/services/mistral-executor.yaml + OS::TripleO::Services::MistralEventEngine: ../../docker/services/mistral-event-engine.yaml diff --git a/environments/services/neutron-bgpvpn-opendaylight.yaml b/environments/services/neutron-bgpvpn-opendaylight.yaml new file mode 100644 index 0000000000..220f7850fd --- /dev/null +++ b/environments/services/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: ../../docker/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/neutron-l2gw-opendaylight.yaml b/environments/services/neutron-l2gw-opendaylight.yaml new file mode 100644 index 0000000000..ece9ff9509 --- /dev/null +++ b/environments/services/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: ../../docker/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/neutron-ml2-cisco-vts.yaml b/environments/services/neutron-ml2-cisco-vts.yaml new file mode 100644 index 0000000000..c2f2e32c52 --- /dev/null +++ b/environments/services/neutron-ml2-cisco-vts.yaml @@ -0,0 +1,37 @@ +# A docker enabled 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: ../../docker/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/neutron-opendaylight-dpdk.yaml b/environments/services/neutron-opendaylight-dpdk.yaml new file mode 100644 index 0000000000..dffafa9724 --- /dev/null +++ b/environments/services/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/neutron-opendaylight-hw-offload.yaml b/environments/services/neutron-opendaylight-hw-offload.yaml new file mode 100644 index 0000000000..7067a51e4e --- /dev/null +++ b/environments/services/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: ../../docker/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/neutron-opendaylight-sriov.yaml b/environments/services/neutron-opendaylight-sriov.yaml new file mode 100644 index 0000000000..92bce16bc2 --- /dev/null +++ b/environments/services/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: ../../docker/services/neutron-plugin-ml2.yaml + OS::TripleO::Services::NeutronSriovAgent: ../../docker/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" \ No newline at end of file diff --git a/environments/services/neutron-opendaylight.yaml b/environments/services/neutron-opendaylight.yaml new file mode 100644 index 0000000000..cde1883c0e --- /dev/null +++ b/environments/services/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: ../../docker/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' \ No newline at end of file diff --git a/environments/services/neutron-ovn-dvr-ha.yaml b/environments/services/neutron-ovn-dvr-ha.yaml new file mode 100644 index 0000000000..5feeb68c36 --- /dev/null +++ b/environments/services/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: ../../docker/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../docker/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/neutron-ovn-dvr.yaml b/environments/services/neutron-ovn-dvr.yaml new file mode 100644 index 0000000000..39bb03258d --- /dev/null +++ b/environments/services/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: ../../docker/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../docker/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/neutron-ovn-ha.yaml b/environments/services/neutron-ovn-ha.yaml new file mode 100644 index 0000000000..7cecc7d125 --- /dev/null +++ b/environments/services/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: ../../docker/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../docker/services/pacemaker/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../docker/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/neutron-ovn-hw-offload.yaml b/environments/services/neutron-ovn-hw-offload.yaml new file mode 100644 index 0000000000..a529dbd1b8 --- /dev/null +++ b/environments/services/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: ../../docker/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../docker/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/neutron-ovn.yaml b/environments/services/neutron-ovn.yaml new file mode 100644 index 0000000000..37fc63f558 --- /dev/null +++ b/environments/services/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: ../../docker/services/ovn-controller.yaml + OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../docker/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/neutron-ovs-dpdk.yaml b/environments/services/neutron-ovs-dpdk.yaml new file mode 100644 index 0000000000..e35e8c60a2 --- /dev/null +++ b/environments/services/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: ../../docker/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/neutron-ovs-hw-offload.yaml b/environments/services/neutron-ovs-hw-offload.yaml new file mode 100644 index 0000000000..08bc7781d1 --- /dev/null +++ b/environments/services/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/neutron-sriov.yaml b/environments/services/neutron-sriov.yaml new file mode 100644 index 0000000000..917258684b --- /dev/null +++ b/environments/services/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: ../../docker/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/octavia.yaml b/environments/services/octavia.yaml index 720154acad..fb4ad60ab4 100644 --- a/environments/services/octavia.yaml +++ b/environments/services/octavia.yaml @@ -1,9 +1,16 @@ resource_registry: - OS::TripleO::Services::OctaviaApi: ../../puppet/services/octavia-api.yaml - OS::TripleO::Services::OctaviaHealthManager: ../../puppet/services/octavia-health-manager.yaml - OS::TripleO::Services::OctaviaHousekeeping: ../../puppet/services/octavia-housekeeping.yaml - OS::TripleO::Services::OctaviaWorker: ../../puppet/services/octavia-worker.yaml + OS::TripleO::Services::OctaviaApi: ../../docker/services/octavia-api.yaml + OS::TripleO::Services::OctaviaHousekeeping: ../../docker/services/octavia-housekeeping.yaml + OS::TripleO::Services::OctaviaHealthManager: ../../docker/services/octavia-health-manager.yaml + OS::TripleO::Services::OctaviaWorker: ../../docker/services/octavia-worker.yaml + OS::TripleO::Services::OctaviaDeploymentConfig: ../../docker/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/qdr.yaml b/environments/services/qdr.yaml index e4ad87bdbc..2c0d777a09 100644 --- a/environments/services/qdr.yaml +++ b/environments/services/qdr.yaml @@ -1,2 +1,2 @@ resource_registry: - OS::TripleO::Services::Qdr: ../../puppet/services/qdr.yaml + OS::TripleO::Services::Qdr: ../../docker/services/qdrouterd.yaml diff --git a/environments/services/sahara.yaml b/environments/services/sahara.yaml index 82205dd161..d0bf9fe165 100644 --- a/environments/services/sahara.yaml +++ b/environments/services/sahara.yaml @@ -1,3 +1,3 @@ resource_registry: - OS::TripleO::Services::SaharaApi: ../../puppet/services/sahara-api.yaml - OS::TripleO::Services::SaharaEngine: ../../puppet/services/sahara-engine.yaml + OS::TripleO::Services::SaharaApi: ../../docker/services/sahara-api.yaml + OS::TripleO::Services::SaharaEngine: ../../docker/services/sahara-engine.yaml diff --git a/environments/services/sensu-client.yaml b/environments/services/sensu-client.yaml new file mode 100644 index 0000000000..c03104d2ff --- /dev/null +++ b/environments/services/sensu-client.yaml @@ -0,0 +1,3 @@ + +resource_registry: + OS::TripleO::Services::SensuClient: ../../docker/services/sensu-client.yaml diff --git a/environments/services/skydive-environment.yaml b/environments/services/skydive-environment.yaml new file mode 100644 index 0000000000..731ab7a2b0 --- /dev/null +++ b/environments/services/skydive-environment.yaml @@ -0,0 +1,3 @@ +resource_registry: + OS::TripleO::Services::SkydiveAgent: ../../docker/services/skydive/skydive-agent.yaml + OS::TripleO::Services::SkydiveAnalyzer: ../../docker/services/skydive/skydive-analyzer.yaml diff --git a/environments/services/tacker.yaml b/environments/services/tacker.yaml new file mode 100644 index 0000000000..cba8d6b9af --- /dev/null +++ b/environments/services/tacker.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::Tacker: ../../docker/services/tacker.yaml diff --git a/environments/services/undercloud-aodh.yaml b/environments/services/undercloud-aodh.yaml new file mode 100644 index 0000000000..95d4a87341 --- /dev/null +++ b/environments/services/undercloud-aodh.yaml @@ -0,0 +1,5 @@ +resource_registry: + OS::TripleO::Services::UndercloudAodhApi: ../../docker/services/aodh-api.yaml + OS::TripleO::Services::UndercloudAodhEvaluator: ../../docker/services/aodh-evaluator.yaml + OS::TripleO::Services::UndercloudAodhNotifier: ../../docker/services/aodh-notifier.yaml + OS::TripleO::Services::UndercloudAodhListener: ../../docker/services/aodh-listener.yaml diff --git a/environments/services/undercloud-ceilometer.yaml b/environments/services/undercloud-ceilometer.yaml new file mode 100644 index 0000000000..ca55b4d999 --- /dev/null +++ b/environments/services/undercloud-ceilometer.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::UndercloudCeilometerAgentCentral: ../../docker/services/ceilometer-agent-central.yaml + OS::TripleO::Services::UndercloudCeilometerAgentNotification: ../../docker/services/ceilometer-agent-notification.yaml + OS::TripleO::Services::UndercloudCeilometerAgentIpmi: ../../docker/services/ceilometer-agent-ipmi.yaml diff --git a/environments/services/undercloud-cinder.yaml b/environments/services/undercloud-cinder.yaml new file mode 100644 index 0000000000..d382debb26 --- /dev/null +++ b/environments/services/undercloud-cinder.yaml @@ -0,0 +1,4 @@ +resource_registry: + OS::TripleO::Services::UndercloudCinderApi: ../../docker/services/cinder-api.yaml + OS::TripleO::Services::UndercloudCinderScheduler: ../../docker/services/cinder-scheduler.yaml + OS::TripleO::Services::UndercloudCinderVolume: ../../docker/services/cinder-volume.yaml diff --git a/environments/services/undercloud-gnocchi.yaml b/environments/services/undercloud-gnocchi.yaml new file mode 100644 index 0000000000..bf7f2a9dc9 --- /dev/null +++ b/environments/services/undercloud-gnocchi.yaml @@ -0,0 +1,5 @@ +resource_registry: + OS::TripleO::Services::UndercloudGnocchiApi: ../../docker/services/gnocchi-api.yaml + OS::TripleO::Services::UndercloudGnocchiMetricd: ../../docker/services/gnocchi-metricd.yaml + OS::TripleO::Services::UndercloudGnocchiStatsd: ../../docker/services/gnocchi-statsd.yaml + OS::TripleO::Services::UndercloudRedis: ../../docker/services/database/redis.yaml diff --git a/environments/services/undercloud-haproxy.yaml b/environments/services/undercloud-haproxy.yaml index 84d447a766..0f8427d302 100644 --- a/environments/services/undercloud-haproxy.yaml +++ b/environments/services/undercloud-haproxy.yaml @@ -1,2 +1,2 @@ resource_registry: - OS::TripleO::Services::UndercloudHAProxy: ../../puppet/services/haproxy.yaml + OS::TripleO::Services::UndercloudHAProxy: ../../docker/services/haproxy.yaml diff --git a/environments/services/undercloud-keepalived.yaml b/environments/services/undercloud-keepalived.yaml index 5c2baf61ed..79af8e8db4 100644 --- a/environments/services/undercloud-keepalived.yaml +++ b/environments/services/undercloud-keepalived.yaml @@ -1,2 +1,2 @@ resource_registry: - OS::TripleO::Services::UndercloudKeepalived: ../../puppet/services/keepalived.yaml + OS::TripleO::Services::UndercloudKeepalived: ../../docker/services/keepalived.yaml diff --git a/environments/services/undercloud-panko.yaml b/environments/services/undercloud-panko.yaml new file mode 100644 index 0000000000..8384f31145 --- /dev/null +++ b/environments/services/undercloud-panko.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::UndercloudPankoApi: ../../docker/services/panko-api.yaml diff --git a/environments/services/zaqar.yaml b/environments/services/zaqar.yaml index f57582c2a7..08033d91b6 100644 --- a/environments/services/zaqar.yaml +++ b/environments/services/zaqar.yaml @@ -1,3 +1,3 @@ resource_registry: - OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar-api.yaml - OS::TripleO::Services::MongoDb: ../../puppet/services/database/mongodb.yaml + OS::TripleO::Services::Zaqar: ../../docker/services/zaqar.yaml + OS::TripleO::Services::MongoDb: ../../docker/services/database/mongodb.yaml