Bug 1875181

Summary: [4.4] crio configuration changes unexpectedly when ctrcfg is applied
Product: OpenShift Container Platform Reporter: Peter Hunt <pehunt>
Component: NodeAssignee: Peter Hunt <pehunt>
Node sub component: CRI-O QA Contact: MinLi <minmli>
Status: CLOSED WONTFIX Docs Contact:
Severity: medium    
Priority: medium CC: aos-bugs, jokerman, minmli, nagrawal, schoudha, tsweeney
Version: 4.4Keywords: UpcomingSprint
Target Milestone: ---   
Target Release: 4.4.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1875180 Environment:
Last Closed: 2021-02-10 19:33:34 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: 1875180    
Bug Blocks:    

Description Peter Hunt 2020-09-02 23:59:18 UTC
+++ This bug was initially created as a clone of Bug #1875180 +++

+++ This bug was initially created as a clone of Bug #1875179 +++

Description of problem:
when a ctrcfg is applied, the resulting configuration has unintended changes. The most notable is the value of `default_env` becomes empty. The others (all containers/storage parameters) can be empty, because of the way crio mixes crio.conf and storage.conf. However, the default_env being empty can cause regressions in nss db.

Version-Release number of selected component (if applicable):
4.4 and 4.3

How reproducible:


Steps to Reproduce:
1. run `crio config` on a node
2. apply any ctrcfg
3. run `crio config` on a node, and observe the difference

Actual results:
the field
```
    default_env = [
        "NSS_SDB_USE_CACHE=no",
    ]
```
is now
```
    default_env = [
    ]
```
Expected results:
default_env should not have been emptied

Additional info:

--- Additional comment from Peter Hunt on 2020-09-02 23:57:15 UTC ---

This comes from the vendored version of cri-o becoming out of sync with the version of cri-o in openshift. When we make a change in the configuration values, we need to update the vendor.

From my testing, this is no longer the case in 4.6, as it has a vendored version of cri-o that contains default_env

--- Additional comment from Peter Hunt on 2020-09-02 23:58:42 UTC ---

this is also fixed in 4.5 for the same reason as above

Comment 2 Peter Hunt 2020-09-03 00:01:07 UTC
this will be fixed in the attached PR

Comment 3 Peter Hunt 2020-09-11 19:47:27 UTC
PR is awaiting approval

Comment 4 Peter Hunt 2020-10-02 19:30:25 UTC
the pr is awaiting approval still

Comment 5 Peter Hunt 2020-10-23 21:04:33 UTC
Pr is still awaiting approval

Comment 6 Peter Hunt 2020-11-05 18:25:48 UTC
After talking with Mrunal and Urvashi, we have decided the priority should be higher for this. If we lose the NSS_SDB_USE_CACHE value, it can cause node instability.

Comment 7 Peter Hunt 2020-11-13 20:58:20 UTC
hit some test issues, need to investigate if it's the result of the PR or just in general