kubernetes-sigs/image-builder

trivial tinkerbell action causes cluster creation hangs

ygao-armada opened this issue · 2 comments

What steps did you take and what happened:
[A clear and concise description on how to REPRODUCE the bug.]
I try to add a trivial action right after the action "stream-image":

      - environment:
          BLOCK_DEVICE: /dev/sda2
          CHROOT: "y"
          CMD_LINE: umount -f /dev/sda2
          DEFAULT_INTERPRETER: /bin/sh -c
          FS_TYPE: ext4
        image: public.ecr.aws/eks-anywhere/tinkerbell/hub/cexec:6c0f0d437bde2c836d90b000312c8b25fa1b65e1-eks-a-41
        name: trivial-cmds0
        timeout: 90
      - environment:
          BLOCK_DEVICE: /dev/sda2
          CHROOT: "y"
          CMD_LINE: mount -t ext4 /dev/sda2 /
          DEFAULT_INTERPRETER: /bin/sh -c
          FS_TYPE: ext4
        image: public.ecr.aws/eks-anywhere/tinkerbell/hub/cexec:6c0f0d437bde2c836d90b000312c8b25fa1b65e1-eks-a-41
        name: trivial-cmds1
        timeout: 90

However, the cluster creation command hangs.
Am I missing something? (edited)

What did you expect to happen:
I expect the cluster creation will succeeds.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

Project (Image Builder for Cluster API:

Additional info for Image Builder for Cluster API related issues:

  • OS (e.g. from /etc/os-release, or cmd /c ver): Ubuntu "20.04.6 LTS (Focal Fossa)"
  • Packer Version:
  • Packer Provider:
  • Ansible Version:
  • Cluster-api version (if using):
  • Kubernetes version: (use kubectl version):

/kind bug
[One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels]

In the boots logs, we can see this:

{"level":"info","ts":1707357729.5200799,"caller":"syslog/receiver.go:113","msg":"host=10.20.22.211 facility=daemon severity=INFO app-name=1a5c973d03fc procid=2969 msg=\"mount: /: /dev/sda2 already mounted on /.\\r\\n\"","service":"github.com/tinkerbell/boots","pkg":"syslog"}
{"level":"info","ts":1707357729.5201583,"caller":"syslog/receiver.go:113","msg":"host=10.20.22.211 facility=daemon severity=INFO app-name=2fa9db43cd13 procid=2969 msg=\"mount: /: /dev/sda2 already mounted on /.\\n\"","service":"github.com/tinkerbell/boots","pkg":"syslog"}
{"level":"info","ts":1707357729.5210629,"caller":"syslog/receiver.go:113","msg":"host=10.20.22.211 facility=daemon severity=INFO app-name=1a5c973d03fc procid=2969 msg=\"\\x1b[31mFATA\\x1b[0m[0000] Error running [/bin/sh [-c mount -t ext4 /dev/sda2 /]] [exit status 32] \\r\\n\"","service":"github.com/tinkerbell/boots","pkg":"syslog"}
{"level":"info","ts":1707357729.5211864,"caller":"syslog/receiver.go:113","msg":"host=10.20.22.211 facility=daemon severity=INFO app-name=2fa9db43cd13 procid=2969 msg=\"\\x1b[31mFATA\\x1b[0m[0000] Error running [/bin/sh [-c mount -t ext4 /dev/sda2 /]] [exit status 32] \\n\"","service":"github.com/tinkerbell/boots","pkg":"syslog"}

Look like umount doesn't take effect.