diff --git a/doc/source/admintasks/index.rst b/doc/source/admintasks/index.rst index 0c1c24b0c..94db8ce5a 100644 --- a/doc/source/admintasks/index.rst +++ b/doc/source/admintasks/index.rst @@ -62,3 +62,11 @@ Metrics Server kubernetes-admin-tutorials-metrics-server +------------------- +StarlingX OpenStack +------------------- + +.. toctree:: + :maxdepth: 2 + + openstack/index \ No newline at end of file diff --git a/doc/source/admintasks/openstack/configure-dedicated-and-shared-cpu-pools-on-hosts.rst b/doc/source/admintasks/openstack/configure-dedicated-and-shared-cpu-pools-on-hosts.rst new file mode 100644 index 000000000..473e0c7a0 --- /dev/null +++ b/doc/source/admintasks/openstack/configure-dedicated-and-shared-cpu-pools-on-hosts.rst @@ -0,0 +1,58 @@ + +.. _configure-dedicated-and-shared-cpu-pools-on-hosts: + +======================================================== +Configure Nova's Dedicated and Shared CPU Pools on Hosts +======================================================== + +|prod| supports configuring Nova's dedicated and shared CPU pools on a per +openstack-compute host basis. + +This provides support for users to customize their VM's CPU pinning policies to +either dedicated or shared, with the dedicated policy providing improved near-real-time +performance. For more details, see: `https://docs.openstack.org/nova/latest/admin/cpu-topologies.html `_. + +For an openstack-compute host: + +- host CPUs configured as **application** function will be mapped to Nova's Shared CPU pool, + + and + +- host CPUs configured as **application-isolated** function will be mapped to Nova's Dedicated CPU pool. + +The above mapping is done automatically, via system-generated Nova Helm Chart overrides, +when the openstack application is applied. + +The following restrictions apply when configuring host CPU functions: + +- There must be at least one platform and at least one application or + application-isolated core on each openstack-compute host. + +For example: + +.. code-block:: none + + ~(keystone)admin)$ system host-lock worker-1 + ~(keystone)admin)$ system host-cpu-modify -f platform -p0 1 worker-1 + ~(keystone)admin)$ system host-cpu-modify -f application-isolated -p0 15 worker-1 + ~(keystone)admin)$ system host-cpu-modify -f application-isolated -p1 15 worker-1 + ~(keystone)admin)$ system host-unlock worker-1 + ~(keystone)admin)$ system application-apply stx-openstack + +To configure a flavor to use the dedicated CPU policy, run: + +.. code-block:: none + + ~(keystone)$ openstack flavor set [FLAVOR_ID] --property hw:cpu_policy=dedicated + +It is also possible to configure the CPU policy via image metadata: + +.. code-block:: none + + ~(keystone)$ openstack image set [IMAGE_ID] --property hw_cpu_policy=dedicated + +.. only:: partner + + .. include:: /_includes/isolating-cpu-cores-to-enhance-application-performance.rest + :start-after: changes-relative-to-root-begin + :end-before: changes-relative-to-root-end diff --git a/doc/source/admintasks/openstack/index.rst b/doc/source/admintasks/openstack/index.rst new file mode 100644 index 000000000..3f8d02025 --- /dev/null +++ b/doc/source/admintasks/openstack/index.rst @@ -0,0 +1,12 @@ +------------------- +StarlingX OpenStack +------------------- + +=========== +Admin Tasks +=========== + +.. toctree:: + :maxdepth: 1 + + configure-dedicated-and-shared-cpu-pools-on-hosts \ No newline at end of file