Tekton StartError in sidecar-tekton-log-results container: "sidecarlogresults: no such file or directory" when upgrading TAP to v1.12.4
search cancel

Tekton StartError in sidecar-tekton-log-results container: "sidecarlogresults: no such file or directory" when upgrading TAP to v1.12.4

book

Article ID: 404405

calendar_today

Updated On:

Products

VMware Tanzu Platform - Kubernetes

Issue/Introduction

  • After upgrading TAP v1.12.2 to v1.12.4 (v1.12.3 version was skipped), all Tekton tasks within a Supply Chain fail to run landing into a StartError state with the following event logged:

    Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "/ko-app/sidecarlogresults": stat /ko-app/sidecarlogresults: no such file or directory: unknown 

  • Note that the "results-from":"sidecar-log" feature flag has been enabled via the TAP install values to bypass size limitations when running carvel package tasks.

Environment

This problem is specific to TAP v1.12.4.

Cause

The sidecar image in version 1.12.4 of TAP is missing the the sidecarlogresult binary

Resolution

Upgrade to TAP version 1.12.5, which contains the required binaries.

 

Workaround for version 1.12.4

Create an overlay secret to replace the sidecarlogresult container image to use the image from 1.12.2 until upgrade to 1.12.5 is available. NOTE: you will need to relocate the 1.12.2 image to your local registry:

 

  1. Create a secret using the following YAML for reference; be sure to replace <IMAGE REGISTRY> with your local image registry URL:

    apiVersion: v1
    kind: Secret
    metadata:
      name: sidecarlogresults-overlay
      namespace: tap-install
    stringData:
      sidecarlogresults.yml: |
        #@ load("@ytt:overlay", "overlay")    #@overlay/match by=overlay.subset({"kind": "Deployment", "metadata": {"name": "tekton-pipelines-controller"}})
        ---
        spec:
          template:
            spec:
              containers:
              #@overlay/match by=overlay.subset({"name": "tekton-pipelines-controller"})
              - args:
                #@overlay/match by=overlay.index(5)
                #@overlay/replace
                - <IMAGE REGISTRY>/1.12.2/tanzu-application-platform/tap-packages@sha256:c5d9232efc7763eb4a43f430825859c2698d1b029e4a22a7dd4be0113c1acb0d 


  2. Add the following tap-values to the package to ingest the overlay secret into the Tekton package:

    package_overlays:
      - name: tekton-pipelines
        secrets:
          - name: sidecarlogresults-overlay