diff --git a/doc/source/node_management/kubernetes/figures/CPUFrequencyCustom.png b/doc/source/node_management/kubernetes/figures/CPUFrequencyCustom.png new file mode 100644 index 000000000..4cdea6513 Binary files /dev/null and b/doc/source/node_management/kubernetes/figures/CPUFrequencyCustom.png differ diff --git a/doc/source/node_management/kubernetes/figures/CPUFrequencyDefault.png b/doc/source/node_management/kubernetes/figures/CPUFrequencyDefault.png new file mode 100644 index 000000000..dac91ced8 Binary files /dev/null and b/doc/source/node_management/kubernetes/figures/CPUFrequencyDefault.png differ diff --git a/doc/source/node_management/kubernetes/host-cpu-mhz-parameters-configuration-d9ccf907ede0.rst b/doc/source/node_management/kubernetes/host-cpu-mhz-parameters-configuration-d9ccf907ede0.rst new file mode 100644 index 000000000..a63db4bfc --- /dev/null +++ b/doc/source/node_management/kubernetes/host-cpu-mhz-parameters-configuration-d9ccf907ede0.rst @@ -0,0 +1,69 @@ +.. _host-cpu-mhz-parameters-configuration-d9ccf907ede0: + +===================================== +Host CPU MHz Parameters Configuration +===================================== + +Some hosts support setting a maximum frequency for their CPU cores (application +cores and platform cores) and the support for this configuration can be verified +by looking at the ``is_max_cpu_configurable`` capability with the system +:command:`host-show ` command, that can assume two values: +**configurable** or **not-configurable**. You may need to configure a maximum scaled +frequency to avoid variability due to power and thermal issues when configured +for maximum performance. For these hosts, the following parameters control +the maximum frequency of their CPU cores: + +- ``cpu_max_freq_min_percentage`` defines a system-wide minimum percentage of the maximum + frequency allowed to be configured for CPUs. By default this parameter is set + to 80, meaning that you can reduce the frequency only to a maximum of 80% + of the ``max_cpu_mhz_allowed``. There is no need to apply the platform service + parameters after changing it. + + .. Note:: + Run the Linux command :command:`sudo cpupower info` on the host, to + determine if the host has support for this configuration. + + .. code-block:: none + + ~(keystone_admin)] $ system service-parameter-modify platform config cpu_max_freq_min_percentage= + + .. note:: + This parameter can be set between 60% and 100%. + +- Configure ``max_cpu_mhz_configured`` to specify a maximum frequency for a + particular host's CPU cores. + + .. code-block:: none + + ~(keystone_admin)] $ system host-update max_cpu_mhz_configured= + +- To restore a host's CPU cores' ``max_cpu_mhz_configured`` value to it's + default value, the ``max_cpu_mhz_allowed`` label can be passed to the + :command:`host-update` command. + + .. code-block:: none + + ~(keystone_admin)] $ system host-update max_cpu_mhz_configured=max_cpu_mhz_allowed + +---------------------------------- +Configure Parameters using the GUI +---------------------------------- + +The **Host CPU MHz** parameters configuration can also be made using the GUI. + +In **Host Inventory** > **Edit Host** modal, there is a **CPU Frequency Configuration** +dropbox field to configure the Max CPU Frequency of the host. + +If **CPU Frequency Configuration** is set to **Default**, then the hosts' +``max_cpu_mhz_allowed`` value is used as the Max CPU Frequency of the host. + +If **CPU Frequency Configuration** is set to **Custom**, then a **Max CPU Frequency (MHz)** +field appears, allowing you to explicitly configure the Max CPU Frequency of the +host. Note that the configured value can NOT be less than the value allowed by +the service parameter ``cpu_max_freq_min_percentage``. + +.. figure:: figures/CPUFrequencyCustom.png + :scale: 100% + +.. figure:: figures/CPUFrequencyDefault.png + :scale: 100% diff --git a/doc/source/node_management/kubernetes/host_inventory/hosts-tab.rst b/doc/source/node_management/kubernetes/host_inventory/hosts-tab.rst index 0bd6cd5a4..7af6af1a3 100644 --- a/doc/source/node_management/kubernetes/host_inventory/hosts-tab.rst +++ b/doc/source/node_management/kubernetes/host_inventory/hosts-tab.rst @@ -139,7 +139,7 @@ A sample **Hosts** tab is illustrated below: The **Edit Host** button displays the Edit Host window, as illustrated below for a worker node: - .. figure:: /node_management/kubernetes/figures/gkb1569351598356.png + .. figure:: /node_management/kubernetes/figures/CPUFrequencyDefault.png :scale: 100% This is the same window you use to assign the host's personality when @@ -154,6 +154,12 @@ A sample **Hosts** tab is illustrated below: - **Host Name**: Hostname of the host. + - **CPU Frequency Configuration**: Configure a host's CPU cores maximum + frequency. If you select the **Custom** option, a dropbox to edit the + host's Max CPU Frequency will be opened or selecting the **Default** + option, the host's Max CPU Frequency will be restored to the + ``max_cpu_mhz_allowed`` value. + - **Location**: Type a physical location for the host to help identify the host. diff --git a/doc/source/node_management/kubernetes/index-node-mgmt-kub-5ff5993b9c60.rst b/doc/source/node_management/kubernetes/index-node-mgmt-kub-5ff5993b9c60.rst index b390a2a75..0f5a0079a 100644 --- a/doc/source/node_management/kubernetes/index-node-mgmt-kub-5ff5993b9c60.rst +++ b/doc/source/node_management/kubernetes/index-node-mgmt-kub-5ff5993b9c60.rst @@ -88,15 +88,16 @@ Common host tasks using the CLI common_host_tasks/resetting-a-host-using-the-cli common_host_tasks/deleting-a-host-using-the-cli --------------------------------- -Configuring CPU core assignments --------------------------------- +------------------------------ +Configuring CPU core behaviour +------------------------------ .. toctree:: :maxdepth: 1 configuring_cpu_core_assignments/configuring-cpu-core-assignments configuring_cpu_core_assignments/changing-the-hyper-threading-status + host-cpu-mhz-parameters-configuration-d9ccf907ede0 ------------------------ Host memory provisioning @@ -403,3 +404,4 @@ Provision BMC using the CLI provisioning_bmc/provisioning-bmc-when-adding-a-host provisioning_bmc/provisioning-bmc-after-adding-a-host provisioning_bmc/deprovisioning-board-management-control-from-the-cli +