Code Monkey home page Code Monkey logo

Comments (7)

l-qing avatar l-qing commented on June 21, 2024 1

You can reproduce the issue by creating this pipelinerun resource, and it's not necessarily to install the tekton-dashboard.

---
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pip-panic
spec:
  pipelineRef:
    name: pip-clone-scan-notify
  params:
    - name: test1
      value: "test1"

from pipeline.

l-qing avatar l-qing commented on June 21, 2024 1

Using this method can avoid panic, but the occurrence of a panic is certainly not expected in the program.

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-clone-scan-notify
spec:
  params:
  - name: test1
  tasks:
    - name: security-scans
      # pipelineRef:
      #   name: pip-security-scans
      taskRef:
        apiVersion: tekton.dev/v1
        kind: Pipeline
        name: pip-security-scans

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-security-scans
spec:
  tasks:
    - name: custom-vars-pip
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "GETTING HERE"
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-clone-scan-notify
spec:
  params:
  - name: test1
  tasks:
    - name: custom-vars
      params:
        - name: test1
          value: $(params.test1)
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        params:
          - name: test1
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "Value of test1 is: "
              echo $(params.test1)
    - name: security-scans
      # pipelineRef:
      #   name: pip-security-scans
      taskRef:
        apiVersion: tekton.dev/v1
        kind: Pipeline
        name: pip-security-scans
---
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pip-panic
spec:
  pipelineRef:
    name: pip-clone-scan-notify
  params:
    - name: test1
      value: "test1"

from pipeline.

l-qing avatar l-qing commented on June 21, 2024 1

/assign l-qing

from pipeline.

jwitrick avatar jwitrick commented on June 21, 2024

Using this method can avoid panic, but the occurrence of a panic is certainly not expected in the program.

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-clone-scan-notify
spec:
  params:
  - name: test1
  tasks:
    - name: security-scans
      # pipelineRef:
      #   name: pip-security-scans
      taskRef:
        apiVersion: tekton.dev/v1
        kind: Pipeline
        name: pip-security-scans
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-security-scans
spec:
  tasks:
    - name: custom-vars-pip
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "GETTING HERE"
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-clone-scan-notify
spec:
  params:
  - name: test1
  tasks:
    - name: custom-vars
      params:
        - name: test1
          value: $(params.test1)
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        params:
          - name: test1
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "Value of test1 is: "
              echo $(params.test1)
    - name: security-scans
      # pipelineRef:
      #   name: pip-security-scans
      taskRef:
        apiVersion: tekton.dev/v1
        kind: Pipeline
        name: pip-security-scans
---
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pip-panic
spec:
  pipelineRef:
    name: pip-clone-scan-notify
  params:
    - name: test1
      value: "test1"

Nice. Thank you for a workaround at least. I really want p-i-p to work.

from pipeline.

jwitrick avatar jwitrick commented on June 21, 2024

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: pip-panic
spec:
pipelineRef:
name: pip-clone-scan-notify
params:
- name: test1
value: "test1"

When I run this, I do get past the segfault, but the 2nd pipeline (pip-security-scans) never 'runs' and the pipelinerun ('pip-panic') never finishes.

Is this expected?

from pipeline.

l-qing avatar l-qing commented on June 21, 2024

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: pip-panic
spec:
pipelineRef:
name: pip-clone-scan-notify
params:

  • name: test1
    value: "test1"

When I run this, I do get past the segfault, but the 2nd pipeline (pip-security-scans) never 'runs' and the pipelinerun ('pip-panic') never finishes.

Is this expected?

Yes, this requires you to install the pip controller

TL;DR

kubectl apply --filename https://storage.googleapis.com/tekton-releases-nightly/pipelines-in-pipelines/latest/release.yaml

from pipeline.

l-qing avatar l-qing commented on June 21, 2024

Sorry, I found out after trying that pip currently only supports v1beta1, so the yaml mentioned above has to be modified like this to be executed successfully:

apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: pip-security-scans
spec:
  tasks:
    - name: custom-vars-pip
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "GETTING HERE"
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pip-clone-scan-notify
spec:
  params:
  - name: test1
  tasks:
    - name: custom-vars
      params:
        - name: test1
          value: $(params.test1)
      taskSpec:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        params:
          - name: test1
        steps:
          - name: buildvars
            image: mikefarah/yq:4.6.1
            script: |
              #/bin/sh
              set -e
              echo "Value of test1 is: "
              echo $(params.test1)
    - name: security-scans
      # pipelineRef:
      #   name: pip-security-scans
      taskRef:
        apiVersion: tekton.dev/v1beta1
        kind: Pipeline
        name: pip-security-scans
---
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: pip-panic
spec:
  pipelineRef:
    name: pip-clone-scan-notify
  params:
    - name: test1
      value: "test1"
$ kubectl get pr -w

pip-panic                                             Unknown     Running                    7m47s
pip-panic
pip-panic
pip-panic                                             Unknown     Running                    1s
pip-panic                                             Unknown     Running                    17s
pip-panic                                             Unknown     Running                    60s
pip-panic
pip-panic
pip-panic-security-scans
pip-panic                                             Unknown     Running                    0s
pip-panic-security-scans                              Unknown     Running                    0s
pip-panic                                             Unknown     Running                    14s
pip-panic-security-scans                              True        Succeeded                  14s         0s
pip-panic                                             True        Succeeded                  14s         0s

from pipeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.