Sorry for late,  please see online.

 

From: Huang, Marvin [mailto:Marvin.Huang@windriver.com]
Sent: Friday, April 26, 2019 12:17 AM
To: Sun, Austin <austin.sun@intel.com>
Cc: starlingx-discuss@lists.starlingx.io
Subject: RE: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

 

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?

[Austin] the default hugepage is false,  and can be enabled by /etc/sysconfig/kubelet for node.

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

                              [Austin] this is default setting .

c.      Any OS level options changes, like options inside /etc/default/grub?

[Austin]  As Story describe ,  disable 1G hugepage grub if vswitch_type is none .

 

 

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

[Austin] If label is removed, and unlock,  the hugepage should be disabled

 

       3             Any user aware difference between the features enabled/disabled?

                        [Austin] end user may not aware the difference.  This will be used for some k8s application.

 

 

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.

 

From: Huang, Marvin [mailto:Marvin.Huang@windriver.com]
Sent: Thursday, April 25, 2019 4:33 AM
To: Sun, Austin <austin.sun@intel.com>
Cc: starlingx-discuss@lists.starlingx.io
Subject: questions about '[Feature] Huge page management' https://storyboard.openstack.org/#!/story/2004763

 

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