Merge "Add custom role for realtime compute"
This commit is contained in:
commit
198d54b0b3
33
environments/compute-real-time-example.yaml
Normal file
33
environments/compute-real-time-example.yaml
Normal file
@ -0,0 +1,33 @@
|
||||
# A Heat environment that can be used to deploy a real-time compute node
|
||||
# Deploying a real-time compute node requires enabling hugepages for the
|
||||
# overcloud nodes, which is done by default for the ComputeRealTime role.
|
||||
# However, the CPU pinnings (IsolCpusList and NovaVcpuPinSet) need to be set in
|
||||
# an environment file like this, according to the hardware used for the
|
||||
# real-time compute nodes.
|
||||
# Also the hugepages parameters in KernelArgs should be set accordingly
|
||||
# the memory of the real-time compute nodes.
|
||||
# It's also possible to overwrite the default values for other parameters like
|
||||
# TunedProfileName and ComputeRealTimeImage here.
|
||||
|
||||
parameter_defaults:
|
||||
|
||||
## Only uncomment this line to overwrite the default image name
|
||||
#ComputeRealTimeImage: "overcloud-realtime-compute"
|
||||
|
||||
ComputeRealTimeParameters:
|
||||
## Host configuration Parameters
|
||||
|
||||
## You must change these values accordingly to your hardware
|
||||
IsolCpusList: "2,3" # 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"
|
||||
NovaVcpuPinSet: "2,3" # Cores to pin Nova instances to. For maximum performance, select cores
|
||||
# on the same NUMA node(s) selected for previous settings.
|
||||
|
||||
## Space separated kernel args to configure hugepage. Deploying real-time
|
||||
## requires enabling hugepages for the overcloud compute nodes.
|
||||
## Adapt the hugepages according to the memory of the real-time compute nodes.
|
||||
KernelArgs: "default_hugepagesz=1G hugepagesz=1G hugepages=16"
|
||||
|
||||
## Only uncomment these lines to overwrite the defaults
|
||||
#TunedProfileName: "realtime-virtual-host"
|
64
roles/ComputeRealTime.yaml
Normal file
64
roles/ComputeRealTime.yaml
Normal file
@ -0,0 +1,64 @@
|
||||
###############################################################################
|
||||
# Role: ComputeRealTime #
|
||||
###############################################################################
|
||||
- name: ComputeRealTime
|
||||
description: |
|
||||
Compute role that is optimized for real-time behaviour. When using this role
|
||||
it is mandatory that an overcloud-realtime-compute image is available and
|
||||
the role specific parameters IsolCpusList and NovaVcpuPinSet are set
|
||||
accordingly to the hardware of the real-time compute nodes.
|
||||
CountDefault: 1
|
||||
networks:
|
||||
- InternalApi
|
||||
- Tenant
|
||||
- Storage
|
||||
HostnameFormatDefault: '%stackname%-computerealtime-%index%'
|
||||
disable_upgrade_deployment: True
|
||||
ImageDefault: overcloud-realtime-compute
|
||||
RoleParametersDefault:
|
||||
TunedProfileName: "realtime-virtual-host"
|
||||
KernelArgs: "" # these must be set in an environment file or similar
|
||||
IsolCpusList: "" # according to the hardware of real-time nodes
|
||||
NovaVcpuPinSet: "" #
|
||||
ServicesDefault:
|
||||
- OS::TripleO::Services::Aide
|
||||
- OS::TripleO::Services::AuditD
|
||||
- OS::TripleO::Services::CACerts
|
||||
- OS::TripleO::Services::CephClient
|
||||
- OS::TripleO::Services::CephExternal
|
||||
- OS::TripleO::Services::CertmongerUser
|
||||
- OS::TripleO::Services::Collectd
|
||||
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||
- OS::TripleO::Services::Docker
|
||||
- OS::TripleO::Services::Fluentd
|
||||
- OS::TripleO::Services::Ipsec
|
||||
- OS::TripleO::Services::Iscsid
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::LoginDefs
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||
- OS::TripleO::Services::NeutronVppAgent
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::NovaMigrationTarget
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||
- OS::TripleO::Services::OpenDaylightOvs
|
||||
- OS::TripleO::Services::Rhsm
|
||||
- OS::TripleO::Services::RsyslogSidecar
|
||||
- OS::TripleO::Services::Securetty
|
||||
- OS::TripleO::Services::SensuClient
|
||||
- OS::TripleO::Services::SkydiveAgent
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Sshd
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoFirewall
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::Vpp
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
@ -693,6 +693,12 @@ def validate(filename, param_map):
|
||||
'OS::TripleO::Services::NeutronLinuxbridgeAgent']
|
||||
retval = validate_with_compute_role_services(filename, tpl, exclude)
|
||||
|
||||
if filename.startswith('./roles/ComputeRealTime.yaml'):
|
||||
exclude = [
|
||||
'OS::TripleO::Services::Tuned',
|
||||
]
|
||||
retval = validate_with_compute_role_services(filename, tpl, exclude)
|
||||
|
||||
if filename.startswith('./roles/Hci'):
|
||||
retval = validate_hci_role(filename, tpl)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user