Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1817458

Summary: Node goes to degraded status when machine-config-daemon moves a file across filesystems
Product: OpenShift Container Platform Reporter: Antonio Murdaca <amurdaca>
Component: Machine Config OperatorAssignee: Antonio Murdaca <amurdaca>
Status: CLOSED ERRATA QA Contact: Michael Nguyen <mnguyen>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 4.4CC: alukiano, amurdaca, dshchedr, grajaiya, kgarriso, mnguyen, wking
Target Milestone: ---   
Target Release: 4.3.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1817455 Environment:
Last Closed: 2020-05-20 13:47:53 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: 1817455    
Bug Blocks:    

Comment 1 W. Trevor King 2020-04-07 20:28:36 UTC
Bugzilla bot won't set this POST until the 4.4 bug 1817455 is verified, so I'm manually linking the PR to make it easier to find.

Comment 4 Michael Nguyen 2020-05-14 16:10:22 UTC
Verified on 4.3.0-0.nightly-2020-05-12-224733

$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.3.0-0.nightly-2020-05-12-224733   True        False         24m     Cluster version is 4.3.0-0.nightly-2020-05-12-224733
$ oc get mc | grep rendered-worker
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             64m
$ cat << EOF > file.yaml 
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: test-1
spec:
  config:
    ignition:
      version: 2.2.0
    storage:
      files:
      - contents:
          source: data:;base64,dGVzdCBzdHJpbmcK
        filesystem: root
        mode: 0644
        path: /etc/test
EOF
$ oc apply -f file.yaml 
machineconfig.machineconfiguration.openshift.io/test-1 created
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
99-master-ssh                                                                                          2.2.0             66m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
99-worker-ssh                                                                                          2.2.0             66m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             65m
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s
test-1                                                                                                 2.2.0             10s
$ echo "rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s"
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-7aa2e43cfd629c043d31415f6043f436   False     True       False      3              0                   0                     0
$ watch oc get nodes
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-f16e588bda90b80462dda7bbd8c43a7b   True      False      False      3              3                   3                     0
$ for i in $(oc get node -l node-role.kubernetes.io/worker -o name); do oc debug $i -- cat /host/etc/test; done
Starting pod/ip-10-0-132-187us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
Starting pod/ip-10-0-143-126us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
Starting pod/ip-10-0-145-238us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
$ cat << EOF > file2.yaml 
> apiVersion: machineconfiguration.openshift.io/v1
> kind: MachineConfig
> metadata:
>   labels:
>     machineconfiguration.openshift.io/role: worker
>   name: test-2
> spec:
>   config:
>     ignition:
>       version: 2.2.0
>     storage:
>       files:
>       - contents:
>           source: data:;base64,dGVzdCBzdHJpbmcgMgo=
>         filesystem: root
>         mode: 0644
>         path: /etc/test
> EOF
$ oc apply -f file2.yaml 
machineconfig.machineconfiguration.openshift.io/test-2 created
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
99-master-ssh                                                                                          2.2.0             73m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
99-worker-ssh                                                                                          2.2.0             73m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             72m
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             6m49s
test-1                                                                                                 2.2.0             6m54s
test-2                                                                                                 2.2.0             10s
$ echo "rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s"
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             5s
$ watch oc get nodes
$  oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-c05f53a919c7f98797187a6f20caf0a0   True      False      False      3              3                   3                     0
$ for i in $(oc get node -l node-role.kubernetes.io/worker -o name); do oc debug $i -- cat /host/etc/test; done
Starting pod/ip-10-0-132-187us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string 2

Removing debug pod ...
Starting pod/ip-10-0-143-126us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string 2

Removing debug pod ...
Starting pod/ip-10-0-145-238us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string 2

Removing debug pod ...
$ oc delete mc/test-2
machineconfig.machineconfiguration.openshift.io "test-2" deleted
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-master-ssh                                                                                          2.2.0             79m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-worker-ssh                                                                                          2.2.0             79m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             6m15s
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             12m
test-1                                                                                                 2.2.0             13m
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-master-ssh                                                                                          2.2.0             79m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
99-worker-ssh                                                                                          2.2.0             79m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             78m
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             6m26s
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             13m
test-1                                                                                                 2.2.0             13m
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-c05f53a919c7f98797187a6f20caf0a0   False     True       False      3              0                   0                     0
$ watch oc get node
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-f16e588bda90b80462dda7bbd8c43a7b   True      False      False      3              3                   3                     0
$ for i in $(oc get node -l node-role.kubernetes.io/worker -o name); do oc debug $i -- cat /host/etc/test; done
Starting pod/ip-10-0-132-187us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
Starting pod/ip-10-0-143-126us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
Starting pod/ip-10-0-145-238us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
test string

Removing debug pod ...
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
99-master-ssh                                                                                          2.2.0             91m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
99-worker-ssh                                                                                          2.2.0             91m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             90m
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             18m
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             25m
test-1                                                                                                 2.2.0             25m
$ oc delete mc/test-1
machineconfig.machineconfiguration.openshift.io "test-1" deleted
$ oc get mc
NAME                                                        GENERATEDBYCONTROLLER                      IGNITIONVERSION   CREATED
00-master                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
00-worker                                                   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
01-master-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
01-master-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
01-worker-container-runtime                                 860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
01-worker-kubelet                                           860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
99-master-b9bb9be5-8dfc-4093-9f7f-0b0b6e94ccb3-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
99-master-ssh                                                                                          2.2.0             92m
99-worker-b004156f-0ad3-4210-b9c9-6365a15cdcf6-registries   860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
99-worker-ssh                                                                                          2.2.0             92m
rendered-master-7e79f6f1b7d307d77046ea3c64e7e14b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
rendered-worker-7aa2e43cfd629c043d31415f6043f436            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             91m
rendered-worker-c05f53a919c7f98797187a6f20caf0a0            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             19m
rendered-worker-f16e588bda90b80462dda7bbd8c43a7b            860382c905f4358418c6513a9ab55fdd6dcc4f2d   2.2.0             25m
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-f16e588bda90b80462dda7bbd8c43a7b   False     True       False      3              0                   0                     0
$ watch oc get nodes
$ oc get mcp/worker
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT
worker   rendered-worker-7aa2e43cfd629c043d31415f6043f436   True      False      False      3              3                   3                     0
$ for i in $(oc get node -l node-role.kubernetes.io/worker -o name); do oc debug $i -- cat /host/etc/test; done
Starting pod/ip-10-0-132-187us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
cat: /host/etc/test: No such file or directory

Removing debug pod ...
Starting pod/ip-10-0-143-126us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
cat: /host/etc/test: No such file or directory

Removing debug pod ...
Starting pod/ip-10-0-145-238us-west-1computeinternal-debug ...
To use host binaries, run `chroot /host`
cat: /host/etc/test: No such file or directory

Removing debug pod ...

Comment 6 errata-xmlrpc 2020-05-20 13:47:53 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, 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/RHBA-2020:2129