错误:-
当表达式"{{steps.check channel exists.outputs.result}"时,我得到了Invalid错误:无效令牌:"{
我正在尝试执行此处的工作流。有人能给我指一个正确的方向,这样我就能解决这个问题吗?
<pre>
Name: hlf-peer-orgs-mzl4r
Namespace: default
ServiceAccount: default
Status: Failed
Message: child 'hlf-peer-orgs-mzl4r-1496023914' 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 'hlf-peer-orgs-mzl4r-1496023914' failed
└---<font color="#CC0000">✖</font> channels (channels) child 'hlf-peer-orgs-mzl4r-1274747783' failed
└---<font color="#CC0000">✖</font> common (channel--common) Invalid 'when' expression '{{steps.check-channel-exists.outputs.result}}': Invalid token: '{{'
├---<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 'when' expression '{{steps.check-channel-exists.outputs.result}}': Invalid token: '{{'
</pre>
Argo:
v2.4.0
头盔版本:
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
kubectl版本:-
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"}
我得到错误的代码块。
# 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 */ -}}{{""}}
链接到代码文件
解决了这个问题:(看起来Argo无法获得POD输出。我的解决方法是授予角色:
kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=argo:default