Hi Austin,
Thanks for your information!
So given ‘This feature is enable K8S feature-gate as describe in [1]’:
1
How to tell if this ‘hugepage feature’ is (currently) enabled or disabled? Any user visible signs in Horizon, CLIs outputs? Or it’s transparent to users? Or:
a.
Is it only reflected in arguments to ‘kubeadm init --feature-gates=’…,hugepage=enable/disable’, which is called to provision a node/master?
b.
And/or (also) is shown in /var/lib/kubelet/config.yaml, e.g.:
controller-0:~$ grep 'featureGate' /var/lib/kubelet/config.yaml -A2
featureGates:
HugePages: false
c.
Any OS level options changes, like options inside /etc/default/grub?
2
Can changing label enable or/and disable the ‘hugepage feature’? For example, now assuming worker compute-0 has label ‘openstack-compute-node’, hence hugepage is disabled:
a.
We can remove the label ‘openstack-compute-node ‘ using CLI
system host-label-remove compute-0 openstack-compute-node
b.
What the expected the system behavior after the label is removed? The ‘hugepage feature’ will be enabled after been unlocked, which can be verified using methods in 1?
3 Any user aware difference between the features enabled/disabled?
Thanks!
Marvin
From: Sun, Austin [mailto:austin.sun@intel.com]
Sent: Wednesday, April 24, 2019 9:55 PM
To: Huang, Marvin
Cc: starlingx-discuss@lists.starlingx.io
Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763
Hi, Marvin:
This feature is not directly related with “system host-memory-modify” function, user still should be able to modify mem config as before.
This feature is enable K8S feature-gate as describe in [1]. And K8S enabling hugepage feature is opposite to compute label
( means compute label is tagged, then k8s hugepage feature is disabled (false), if compute label is not tagged , then k8s hugepage is enabled )
About your question about VM hugepage decrease, I did not dig into VM mem , so I cannot give more comments.
[1]
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/
Thanks.
BR
Austin Sun.
Hi Austin,
According to (Storyboard)
2004763, I know that you’re working on the feature “Huge page management”.
I’ve some questions about the feature.
Though one of its 2 tasks is still in Review (the other is shown merged), you might now have the answers already.
In the description of the Story, there are requirement:
“- Enable k8s huge page feature for
worker nodes that do not
have the openstack compute label. It should be disabled otherwise.”
Questions: what is this meaning to users?
By ‘Enable’, is it meaning users can modify memory allocation on the node? (via the following):
system host-modify <worker-name> [-2M <2M hugepages number>] [-1G <1G hugepages number>] [-f <function>] …
or Horizon: Admin -> Platform -> Host Inventory …
Otherwise (‘disabled’), the CLIs (system host-memory-xxx) will reject any requests?
Or the corresponding Horizon pages do not have any items to update the memory application? Or those were disabled?
“- Automatically defaults for
worker nodes with openstack compute label. Changes will be applied on the unlock.
- Current 2M huge page default settings
- 1-1G huge page per numa node for vswitch “
Questions: in this situation, is the k8s huge page feature disabled (according to the above requirement)?
And the (host-memory) CLIs will reject any requests?
And a question related with VMs:
If a VM using huge page (with flavor having ‘hw:mem_page_size=large’ or ‘hw:mem_page_size=1048576’) is launched, will the free memory pages decreased accordingly on the worker it’s running on?
That is, if the VM is consuming 1G huge-page, the number of free page of 1G size on the hosting worker should be reduced by 1. Is this still the expected behavior?
This is the assumption in
https://bugs.launchpad.net/starlingx/+bug/1813325.
Regards,
Marvin