Many service configuration options are already exposed via parameters in the top-level overcloud.yaml template, and these options should be used wherever available to influence overcloud configuration.
However in the event the service configuration required is not exposed as a top-level parameter, there are flexible interfaces which enable passing arbitrary additional configuration to the nodes on deployment.
If you want to make a configuration change, either prior to initial deployment, or subsequently via an update, you can pass additional data to puppet via hiera data, using either the global “ExtraConfig” parameter, or one of the role-specific parameters, e.g using NovaComputeExtraConfig to set the reserved_host_memory value for compute nodes:
cat > compute_params.yaml << EOF
parameter_defaults:
NovaComputeExtraConfig:
nova::compute::reserved_host_memory: some_value
EOF
openstack overcloud deploy -e compute_params.yaml
The parameters available are:
- ExtraConfig: Apply the data to all nodes, e.g all roles
- NovaComputeExtraConfig: Apply the data only to Compute nodes
- ControllerExtraConfig: Apply the data only to Controller nodes
- BlockStorageExtraConfig: Apply the data only to BlockStorage nodes
- ObjectStorageExtraConfig: Apply the data only to ObjectStorage nodes
- CephStorageExtraConfig: Apply the data only to CephStorage nodes
Note
Previously the parameter for Controller nodes was named controllerExtraConfig (note the inconsistent capitalization). If you are updating a deployment which used the old parameter, all values previously passed to controllerExtraConfig should be passed to ControllerExtraConfig instead, and controllerExtraConfig: {} should be explicitly set in parameter_defaults, to ensure that values from the old parameter will not be used anymore.
Note
Passing data via the ExtraConfig parameters will override any statically defined values in the Hiera data files included as part of tripleo-heat-templates, e.g those located in puppet/hieradata directory.
Note
If you set a configuration of a puppet class which is not being included yet, make sure you include it in the ExtraConfig definition, for example if you want to change the Max IOPS per host setting:
parameter_defaults:
NovaComputeExtraConfig:
'nova::scheduler::filter::max_io_ops_per_host': '4.0'
compute_classes:
- '::nova::scheduler::filter'
The compute_classes data is included via the hiera_include in the overcloud_compute.pp puppet manifest.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.