Skip to content

Instantly share code, notes, and snippets.

@intlabs
Created February 28, 2018 18:50
Show Gist options
  • Save intlabs/79cf088ca4e054d9fe4998de05ec1d73 to your computer and use it in GitHub Desktop.
Save intlabs/79cf088ca4e054d9fe4998de05ec1d73 to your computer and use it in GitHub Desktop.
Node and label specific configurations
--------------------------------------
There are situations where we need to define configuration differently for
different nodes in the environment. For example, we may require that some nodes
have a different vcpu_pin_set or other hardware specific deltas in nova.conf.
To do this, we can specify overrides in the values fed to the chart. Ex:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "0-31"
cpu_allocation_ratio: 3.0
overrides:
nova_compute:
labels:
- label:
key: compute-type
values:
- "dpdk"
- "sriov"
conf:
nova:
DEFAULT:
vcpu_pin_set: "0-15"
- label:
key: another-label
values:
- "another-value"
conf:
nova:
DEFAULT:
vcpu_pin_set: "16-31"
hosts:
- name: host1.fqdn
conf:
nova:
DEFAULT:
vcpu_pin_set: "8-15"
- name: host2.fqdn
conf:
nova:
DEFAULT:
vcpu_pin_set: "16-23"
Note that only one set of overrides is applied per node, such that:
1. Host overrides supercede label overrides
2. The farther down the list the label appears, the greater precedence it has.
e.g., "another-label" overrides will apply to a node containing both labels.
Also note that other non-overridden values are inherited by hosts and labels with overrides.
The following shows a set of example hosts and the values fed into the configmap for each:
1. ``host1.fqdn`` with labels ``compute-type: dpdk, sriov`` and ``another-label: another-value``:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "8-15"
cpu_allocation_ratio: 3.0
2. ``host2.fqdn`` with labels ``compute-type: dpdk, sriov`` and ``another-label: another-value``:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "16-23"
cpu_allocation_ratio: 3.0
3. ``host3.fqdn`` with labels ``compute-type: dpdk, sriov`` and ``another-label: another-value``:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "16-31"
cpu_allocation_ratio: 3.0
4. ``host4.fqdn`` with labels ``compute-type: dpdk, sriov``:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "0-15"
cpu_allocation_ratio: 3.0
5. ``host5.fqdn`` with no labels:
.. code-block:: yaml
conf:
nova:
DEFAULT:
vcpu_pin_set: "0-31"
cpu_allocation_ratio: 3.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment