Bug 2004712

Summary: TuneD issues with the recent ConfigParser changes.
Product: OpenShift Container Platform Reporter: OpenShift BugZilla Robot <openshift-bugzilla-robot>
Component: Node Tuning OperatorAssignee: Jiří Mencák <jmencak>
Status: CLOSED ERRATA QA Contact: Simon <skordas>
Severity: high Docs Contact:
Priority: high    
Version: 4.9CC: aos-bugs, dagray, mcornea, yliu1
Target Milestone: ---   
Target Release: 4.9.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-18 17:51:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2004508    
Bug Blocks:    

Description OpenShift BugZilla Robot 2021-09-15 18:58:11 UTC
+++ This bug was initially created as a clone of Bug #2004508 +++

Description of problem:
TuneD recently introduced (https://github.com/redhat-performance/tuned/pull/375) changes that break certain TuneD profiles can be parsed.

Version-Release number of selected component (if applicable):
NTO 4.9.

How reproducible:
Always.

Steps to Reproduce:
Create a TuneD profile with comments not starting at the beginning of the line, such as:

[selinux]
avc_cache_threshold=8192                      # some comments

or
[sysfs]
/sys/bus/pci/devices/0000:00:00.0/power/control=on

Actual results:
Profile fails to apply correctly.

Expected results:
Profile applies correctly.

Additional info:
https://github.com/redhat-performance/tuned/issues/378

Comment 2 Simon 2021-09-17 16:49:19 UTC
$ oc get clusterversions.config.openshift.io 
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.9.0-0.nightly-2021-09-16-215330   True        False         18m     Cluster version is 4.9.0-0.nightly-2021-09-16-215330

$ oc project openshift-cluster-node-tuning-operator 
Now using project "openshift-cluster-node-tuning-operator" on server "https://api.skordas917b.qe.devcluster.openshift.com:6443".

$ oc get nodes
NAME                                         STATUS   ROLES    AGE   VERSION
ip-10-0-130-147.us-east-2.compute.internal   Ready    worker   30m   v1.22.0-rc.0+75ee307
ip-10-0-140-118.us-east-2.compute.internal   Ready    master   38m   v1.22.0-rc.0+75ee307
ip-10-0-169-151.us-east-2.compute.internal   Ready    master   38m   v1.22.0-rc.0+75ee307
ip-10-0-194-15.us-east-2.compute.internal    Ready    master   38m   v1.22.0-rc.0+75ee307

$ worker=ip-10-0-130-147.us-east-2.compute.internal

$ oc get pods -o wide | grep $worker
tuned-bqsmc                                     1/1     Running   0          30m   10.0.130.147   ip-10-0-130-147.us-east-2.compute.internal   <none>           <none>

$ pod=tuned-bqsmc

$ cat tuned.yml 
apiVersion: tuned.openshift.io/v1
kind: Tuned
metadata:
  name: nf-conntrack-max
  namespace: openshift-cluster-node-tuning-operator
spec:
  profile:
  - data: |
      [main]
      summary=Test if user can apply custom tuning: sysctl net.netfilter.nf_conntrack_max
      include=openshift-node
      [sysctl]
      net.netfilter.nf_conntrack_max=1048578   # Here is some comment in the line
    name: nf-conntrack-max
  recommend:
  - match:
    - label: tuned.openshift.io/elasticsearch
      type: pod
    priority: 15
    profile: nf-conntrack-max


$ oc label pod $pod tuned.openshift.io/elasticsearch=
pod/tuned-bqsmc labeled

$ oc create -f tuned.yml 
tuned.tuned.openshift.io/nf-conntrack-max created

$ oc get tuned
NAME               AGE
default            38m
nf-conntrack-max   6s
rendered           38m

$ oc get profiles
NAME                                         TUNED                     APPLIED   DEGRADED   AGE
ip-10-0-130-147.us-east-2.compute.internal   nf-conntrack-max          True      False      31m
ip-10-0-140-118.us-east-2.compute.internal   openshift-control-plane   True      False      38m
ip-10-0-169-151.us-east-2.compute.internal   openshift-control-plane   True      False      38m
ip-10-0-194-15.us-east-2.compute.internal    openshift-control-plane   True      False      38m

$ oc delete tuned nf-conntrack-max
tuned.tuned.openshift.io "nf-conntrack-max" deleted

$ oc get tuned
NAME       AGE
default    38m
rendered   38m

$ oc get profiles.tuned.openshift.io 
NAME                                         TUNED                     APPLIED   DEGRADED   AGE
ip-10-0-130-147.us-east-2.compute.internal   openshift-node            True      False      31m
ip-10-0-140-118.us-east-2.compute.internal   openshift-control-plane   True      False      38m
ip-10-0-169-151.us-east-2.compute.internal   openshift-control-plane   True      False      38m
ip-10-0-194-15.us-east-2.compute.internal    openshift-control-plane   True      False      38m

$ cat tuned.yml 
apiVersion: tuned.openshift.io/v1
kind: Tuned
metadata:
  name: nf-conntrack-max
  namespace: openshift-cluster-node-tuning-operator
spec:
  profile:
  - data: |
      [main]
      summary=Test if user can apply custom tuning: sysctl net.netfilter.nf_conntrack_max
      include=openshift-node
      [sysfs]
      /sys/bus/pci/devices/0000:00:00.0/power/control=on  # some comment also here
    name: nf-conntrack-max
  recommend:
  - match:
    - label: tuned.openshift.io/elasticsearch
      type: pod
    priority: 15
    profile: nf-conntrack-max


$ oc create -f tuned.yml 
tuned.tuned.openshift.io/nf-conntrack-max created

$ oc get tuneds.tuned.openshift.io 
NAME               AGE
default            42m
nf-conntrack-max   8s
rendered           42m

$ oc get profiles
NAME                                         TUNED                     APPLIED   DEGRADED   AGE
ip-10-0-130-147.us-east-2.compute.internal   nf-conntrack-max          True      False      35m
ip-10-0-140-118.us-east-2.compute.internal   openshift-control-plane   True      False      42m
ip-10-0-169-151.us-east-2.compute.internal   openshift-control-plane   True      False      42m
ip-10-0-194-15.us-east-2.compute.internal    openshift-control-plane   True      False      42m

Comment 3 Jiří Mencák 2021-09-22 14:29:32 UTC
*** Bug 2006853 has been marked as a duplicate of this bug. ***

Comment 6 errata-xmlrpc 2021-10-18 17:51:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:3759