简体   繁体   中英

Can not execute argo workflow due to Invalid 'when' expression in workflow file

Error:-

I'm getting the error of Invalid 'when' expression '{{steps.check-channel-exists.outputs.result}}': Invalid token: '{{'.

I'm trying to execute the workflow here. Can someone point me in the right direction so that I can solve this?

<pre>
Name:                hlf-peer-orgs-mzl4r
Namespace:           default
ServiceAccount:      default
Status:              Failed
Message:             child &apos;hlf-peer-orgs-mzl4r-1496023914&apos; failed
Created:             Wed Nov 13 14:38:16 +0530 (3 seconds ago)
Started:             Wed Nov 13 14:38:16 +0530 (3 seconds ago)
Finished:            Wed Nov 13 14:38:19 +0530 (now)
Duration:            3 seconds

STEP                                                                   PODNAME                         DURATION  MESSAGE
 <font color="#CC0000">✖</font> hlf-peer-orgs-mzl4r (peer-orgs)                                                                               child &apos;hlf-peer-orgs-mzl4r-1496023914&apos; failed
 └---<font color="#CC0000">✖</font> channels (channels)                                                                                       child &apos;hlf-peer-orgs-mzl4r-1274747783&apos; failed
     └---<font color="#CC0000">✖</font> common (channel--common)                                                                              Invalid &apos;when&apos; expression &apos;{{steps.check-channel-exists.outputs.result}}&apos;: Invalid token: &apos;{{&apos;
         ├---<font color="#4E9A06">✔</font> check-channel-exists(0) (check-channel-exists--common)  hlf-peer-orgs-mzl4r-3099390573  1s        
         └---<font color="#CC0000">⚠</font> channel-orgs (channel-orgs--common)                                                               Invalid &apos;when&apos; expression &apos;{{steps.check-channel-exists.outputs.result}}&apos;: Invalid token: &apos;{{&apos;
</pre>

Argo:

v2.4.0

helm version:

Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

kubectl version:-

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

Block of code where I'm getting the error.

# fourth level: consortium-org templates
{{- if $.Values.flow.consortium.enabled }}
{{- range $i, $consortium := $consortiums }}
{{- if or (not $.Values.flow.consortium.include) (has $consortium $.Values.flow.consortium.include) }}
{{- range $i, $org := (index $genesisProfile.Consortiums $consortium).Organizations }}
{{- $orgName := $org.Name | trimSuffix "MSP" }}
  - name: consortium-org--{{ $consortium }}--{{ $orgName }}
    steps:
    - - name: check-org-in-consortium
        template: check-org-in-consortium--{{ $consortium }}--{{ $orgName }}
    - - name: add-org-to-consortium
        template: add-org-to-consortium--{{ $consortium }}--{{ $orgName }}
        when: "!{{ "{{" }}steps.check-org-in-consortium.outputs.result{{ "}}" }}"
{{- end }} {{- /* consortium.orgs */ -}}
{{- end }} {{- /* if consortium included */ -}}
{{- end }} {{- /* consortiums */ -}}
{{- end }} {{- /* if consortium.enabled */ -}}{{""}}

Link to code file

solved it:) Looks like Argo can't get POD output. My workaround is to grant roles:

kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=argo:default

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM