text:
PNS Executor Doesn't Work Occasionally

Checklist:

[x] I've included the version.
[x] I've included reproduction steps.
[x] I've included the workflow YAML.
[x] I've included the logs.

What happened:
I set up v2.7.2 in minikube with the PNS executor, but found output-parameter.yaml doesn't work because the wait container cannot get PID of the main container. I'm not sure if it only occurs in minikube.
I checked the Kubernetes events of the pod and found image-pulling of the main container took longer than the wait container. I guess this is the reason why the executor cannot get the PID of the main container.
I think the deadline in the following code should be configurable.
https://github.com/argoproj/argo/blob/79217bc89e892ee82bdd5018b2bba65425924d36/workflow/executor/pns/pns.go#L149
I will make a fix soon.
What you expected to happen:
output-parameter.yaml can be executed successfully.
How to reproduce it (as minimally and precisely as possible):
Run output-parameter.yaml with v2.7.2 in minikube.
Anything else we need to know?:
N/A
Environment:

Argo version:

$ argo version
argo: v2.7.2
  BuildDate: 2020-04-10T19:25:22Z
  GitCommit: c52a65aa62426f5e874e1d3f1058af15c43eb35f
  GitTreeState: clean
  GitTag: v2.7.2
  GoVersion: go1.13.4
  Compiler: gc
  Platform: darwin/amd64

Kubernetes version :

$ kubectl version -o yaml
clientVersion:
  buildDate: "2020-04-10T21:53:58Z"
  compiler: gc
  gitCommit: 7879fc12a63337efff607952a323df90cdc7a335
  gitTreeState: clean
  gitVersion: v1.18.1
  goVersion: go1.14.2
  major: "1"
  minor: "18"
  platform: darwin/amd64
serverVersion:
  buildDate: "2018-11-26T12:46:57Z"
  compiler: gc
  gitCommit: 435f92c719f279a3a67808c80521ea17d5715c66
  gitTreeState: clean
  gitVersion: v1.12.3
  goVersion: go1.10.4
  major: "1"
  minor: "12"
  platform: linux/amd64

Other debugging information (if applicable):

workflow result:

$ argo get output-parameter-ms85z
Name:                output-parameter-ms85z
Namespace:           default
ServiceAccount:      default
Status:              Failed
Message:             child 'output-parameter-ms85z-1252809517' failed
Created:             Tue Apr 14 00:14:34 +0900 (23 seconds ago)
Started:             Tue Apr 14 00:14:34 +0900 (23 seconds ago)
Finished:            Tue Apr 14 00:14:39 +0900 (18 seconds ago)
Duration:            5 seconds

STEP                       TEMPLATE          PODNAME                            DURATION  MESSAGE
 ✖ output-parameter-ms85z  output-parameter                                               child 'output-parameter-ms85z-1252809517' failed
 └---⚠ generate-parameter  whalesay          output-parameter-ms85z-1252809517  5s        failed to save outputs: Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly

executor logs:

logs
$ kubectl logs output-parameter-ms85z-1252809517 -c wait
time="2020-04-13T15:14:35Z" level=info msg="Starting Workflow Executor" version=vv2.7.2+c52a65a.dirty
time="2020-04-13T15:14:35Z" level=info msg="Creating PNS executor (namespace: default, pod: output-parameter-ms85z-1252809517, pid: 6, hasOutputs: true)"
time="2020-04-13T15:14:35Z" level=info msg="Executor (version: vv2.7.2+c52a65a.dirty, build_date: 2020-04-10T19:30:34Z) initialized (pod: default/output-parameter-ms85z-1252809517) with template:\n{\"name\":\"whalesay\",\"arguments\":{},\"inputs\":{},\"outputs\":{\"parameters\":[{\"name\":\"hello-param\",\"valueFrom\":{\"path\":\"/tmp/hello_world.txt\",\"default\":\"Foobar\"}}]},\"metadata\":{},\"container\":{\"name\":\"\",\"image\":\"docker/whalesay:latest\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 1; echo -n hello world \\u003e /tmp/hello_world.txt\"],\"resources\":{}}}"
time="2020-04-13T15:14:35Z" level=info msg="Waiting on main container"
time="2020-04-13T15:14:35Z" level=warning msg="Polling root processes (1m0s)"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 53000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="Secured filehandle on /proc/20/root"
time="2020-04-13T15:14:38Z" level=info msg="containerID docker-3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911 mapped to pid 20"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 53000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="main container started with container ID: 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911"
time="2020-04-13T15:14:38Z" level=info msg="Starting annotations monitor"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=warning msg="Failed to wait for container id '3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911': Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly"
time="2020-04-13T15:14:38Z" level=info msg="/argo/podmetadata/annotations updated"
time="2020-04-13T15:14:38Z" level=error msg="executor error: Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly\ngithub.com/argoproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/argoproj/argo/errors.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:289\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:162\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:829\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.16.7-beta.0/pkg/util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:828\ngithub.com/argoproj/argo/cmd/argoexec/commands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:766\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:852\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:800\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"
time="2020-04-13T15:14:38Z" level=info msg="Saving output parameters"
time="2020-04-13T15:14:38Z" level=info msg="Saving path output parameter: hello-param"
time="2020-04-13T15:14:38Z" level=info msg="Copying /tmp/hello_world.txt from base image layer"
time="2020-04-13T15:14:38Z" level=info msg="Successfully saved output parameter: hello-param"
time="2020-04-13T15:14:38Z" level=info msg="No output artifacts"
time="2020-04-13T15:14:38Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2020-04-13T15:14:38Z" level=info msg="Annotating pod with output"
time="2020-04-13T15:14:38Z" level=info msg="Starting deadline monitor"
time="2020-04-13T15:14:38Z" level=info msg="Deadline monitor stopped"
time="2020-04-13T15:14:38Z" level=info msg="Annotations monitor stopped"
time="2020-04-13T15:14:38Z" level=info msg="pid 20: &{root 4096 2147484141 {53000000 63722387678 0x2d10800} {1048599 4188280 1 16877 0 0 0 0 4096 4096 8 {1586790878 249000000} {1586790878 53000000} {1586790878 168000000} [0 0 0]}}"
time="2020-04-13T15:14:38Z" level=info msg="Killing sidecars"
time="2020-04-13T15:14:38Z" level=info msg="Alloc=5794 TotalAlloc=13026 Sys=70080 NumGC=4 Goroutines=8"
time="2020-04-13T15:14:38Z" level=fatal msg="Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly\ngithub.com/argoproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/argoproj/argo/errors.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:289\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:162\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:829\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.16.7-beta.0/pkg/util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:828\ngithub.com/argoproj/argo/cmd/argoexec/commands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:766\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:852\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:800\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"

workflow-controller logs:

logs
kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)
$ kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)
time="2020-04-13T15:14:10Z" level=info msg="config map" name=workflow-controller-configmap
time="2020-04-13T15:14:10Z" level=info msg="Configuration:\nartifactRepository: {}\ncontainerRuntimeExecutor: pns\nfeatureFlags: {}\nmetricsConfig:\n  disableLegacy: false\n  enabled: true\n  path: /metrics\n  port: \"9090\"\npersistence:\n  archive: true\n  clusterName: local\n  connectionPool:\n    maxIdleConns: 100\n    maxOpenConns: 0\n  nodeStatusOffLoad: true\n  postgresql:\n    database: postgres\n    host: postgres\n    passwordSecret:\n      key: password\n      name: argo-postgres-config\n    port: \"5432\"\n    tableName: argo_workflows\n    userNameSecret:\n      key: username\n      name: argo-postgres-config\npodSpecLogStrategy: {}\ntelemetryConfig:\n  disableLegacy: false\n"
time="2020-04-13T15:14:10Z" level=info msg="Persistence configuration enabled"
time="2020-04-13T15:14:10Z" level=info msg="Creating DB session"
time="2020-04-13T15:14:10Z" level=info msg="Persistence Session created successfully"
time="2020-04-13T15:14:10Z" level=info msg="Migrating database schema" clusterName=local dbType=postgres
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="create table if not exists argo_workflows (\n    id varchar(128) ,\n    name varchar(256),\n    phase varchar(25),\n    namespace varchar(256),\n    workflow text,\n    startedat timestamp,\n    finishedat timestamp,\n    primary key (id, namespace)\n)" changeSchemaVersion=0
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="create unique index idx_name on argo_workflows (name)" changeSchemaVersion=1
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="create table if not exists argo_workflow_history (\n    id varchar(128) ,\n    name varchar(256),\n    phase varchar(25),\n    namespace varchar(256),\n    workflow text,\n    startedat timestamp,\n    finishedat timestamp,\n    primary key (id, namespace)\n)" changeSchemaVersion=2
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_workflow_history rename to argo_archived_workflows" changeSchemaVersion=3
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="drop index idx_name" changeSchemaVersion=4
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="create unique index idx_name on argo_workflows(name, namespace)" changeSchemaVersion=5
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_workflows drop constraint argo_workflows_pkey" changeSchemaVersion=6
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_workflows add primary key(name,namespace)" changeSchemaVersion=7
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows drop constraint argo_workflow_history_pkey" changeSchemaVersion=8
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows add primary key(id)" changeSchemaVersion=9
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows rename column id to uid" changeSchemaVersion=10
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column uid set not null" changeSchemaVersion=11
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column phase set not null" changeSchemaVersion=12
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column namespace set not null" changeSchemaVersion=13
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column workflow set not null" changeSchemaVersion=14
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column startedat set not null" changeSchemaVersion=15
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column finishedat set not null" changeSchemaVersion=16
time="2020-04-13T15:14:10Z" level=info msg="applying database change" change="alter table argo_archived_workflows add clustername varchar(64)" changeSchemaVersion=17
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="update argo_archived_workflows set clustername = 'local' where clustername is null" changeSchemaVersion=18
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column clustername set not null" changeSchemaVersion=19
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows drop constraint argo_archived_workflows_pkey" changeSchemaVersion=20
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows add primary key(clustername,uid)" changeSchemaVersion=21
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create index argo_archived_workflows_i1 on argo_archived_workflows (clustername,namespace)" changeSchemaVersion=22
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop column phase" changeSchemaVersion=23
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop column startedat" changeSchemaVersion=24
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop column finishedat" changeSchemaVersion=25
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows rename column id to uid" changeSchemaVersion=26
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows alter column uid set not null" changeSchemaVersion=27
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows alter column namespace set not null" changeSchemaVersion=28
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows add column clustername varchar(64)" changeSchemaVersion=29
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="update argo_workflows set clustername = 'local' where clustername is null" changeSchemaVersion=30
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows alter column clustername set not null" changeSchemaVersion=31
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows add column version varchar(64)" changeSchemaVersion=32
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows add column nodes text" changeSchemaVersion=33
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="backfillNodes{argo_workflows}" changeSchemaVersion=34
time="2020-04-13T15:14:11Z" level=info msg="Backfill node status"
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows alter column nodes set not null" changeSchemaVersion=35
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop column workflow" changeSchemaVersion=36
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows add column updatedat timestamp not null default current_timestamp" changeSchemaVersion=37
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop constraint argo_workflows_pkey" changeSchemaVersion=38
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="drop index idx_name" changeSchemaVersion=39
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows drop column name" changeSchemaVersion=40
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows add primary key(clustername,uid,version)" changeSchemaVersion=41
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create index argo_workflows_i1 on argo_workflows (clustername,namespace)" changeSchemaVersion=42
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column workflow type json using workflow::json" changeSchemaVersion=43
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column name set not null" changeSchemaVersion=44
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create index argo_workflows_i2 on argo_workflows (clustername,namespace,updatedat)" changeSchemaVersion=45
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create table if not exists argo_archived_workflows_labels (\n\tclustername varchar(64) not null,\n\tuid varchar(128) not null,\n    name varchar(317) not null,\n    value varchar(63) not null,\n    primary key (clustername, uid, name),\n \tforeign key (clustername, uid) references argo_archived_workflows(clustername, uid) on delete cascade\n)" changeSchemaVersion=46
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_workflows alter column nodes type json using nodes::json" changeSchemaVersion=47
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows add column instanceid varchar(64)" changeSchemaVersion=48
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="update argo_archived_workflows set instanceid = '' where instanceid is null" changeSchemaVersion=49
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="alter table argo_archived_workflows alter column instanceid set not null" changeSchemaVersion=50
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="drop index argo_archived_workflows_i1" changeSchemaVersion=51
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create index argo_archived_workflows_i1 on argo_archived_workflows (clustername,instanceid,namespace)" changeSchemaVersion=52
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="drop index argo_workflows_i1" changeSchemaVersion=53
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="drop index argo_workflows_i2" changeSchemaVersion=54
time="2020-04-13T15:14:11Z" level=info msg="applying database change" change="create index argo_workflows_i1 on argo_workflows (clustername,namespace,updatedat)" changeSchemaVersion=55
time="2020-04-13T15:14:11Z" level=info msg="Node status offloading config" ttl=5m0s
time="2020-04-13T15:14:11Z" level=info msg="Node status offloading is enabled"
time="2020-04-13T15:14:11Z" level=info msg="Workflow archiving is enabled"
time="2020-04-13T15:14:11Z" level=info msg="Starting prometheus metrics server at 0.0.0.0:9090/metrics"
time="2020-04-13T15:14:11Z" level=info msg="Starting Workflow Controller" version=vv2.7.2+c52a65a.dirty
time="2020-04-13T15:14:11Z" level=info msg="Workers: workflow: 8, pod: 8"
time="2020-04-13T15:14:11Z" level=info msg="Starting CronWorkflow controller"
time="2020-04-13T15:14:11Z" level=info msg="Starting workflow TTL controller (resync 20m0s)"
time="2020-04-13T15:14:11Z" level=info msg="Performing periodic GC every 5m0s"
time="2020-04-13T15:14:11Z" level=info msg="Started workflow TTL worker"
time="2020-04-13T15:14:34Z" level=info msg="Processing workflow" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="Updated phase  -> Running" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="Steps node {output-parameter-ms85z output-parameter-ms85z output-parameter-ms85z Steps output-parameter nil    Running   2020-04-13 15:14:34.923722135 +0000 UTC 0001-01-01 00:00:00 +0000 UTC   <nil> nil nil [] []} initialized Running" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="StepGroup node {output-parameter-ms85z-3009655378 output-parameter-ms85z[0] [0] StepGroup output-parameter nil    Running output-parameter-ms85z  2020-04-13 15:14:34.923765636 +0000 UTC 0001-01-01 00:00:00 +0000 UTC   <nil> nil nil [] []} initialized Running" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="Pod node {output-parameter-ms85z-1252809517 output-parameter-ms85z[0].generate-parameter generate-parameter Pod whalesay nil    Pending output-parameter-ms85z  2020-04-13 15:14:34.923959764 +0000 UTC 0001-01-01 00:00:00 +0000 UTC   <nil> nil nil [] []} initialized Pending" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="Created pod: output-parameter-ms85z[0].generate-parameter (output-parameter-ms85z-1252809517)" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:34Z" level=info msg="Workflow step group node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34.923765636 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} not yet completed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:35Z" level=info msg="Workflow update successful" namespace=default phase=Running resourceVersion=3259 workflow=output-parameter-ms85z
time="2020-04-13T15:14:36Z" level=info msg="Processing workflow" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:36Z" level=info msg="Updating node &NodeStatus{ID:output-parameter-ms85z-1252809517,Name:output-parameter-ms85z[0].generate-parameter,DisplayName:generate-parameter,Type:Pod,TemplateName:whalesay,TemplateRef:nil,Phase:Pending,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} message: ContainerCreating"
time="2020-04-13T15:14:36Z" level=info msg="Workflow step group node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} not yet completed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:36Z" level=info msg="Workflow update successful" namespace=default phase=Running resourceVersion=3265 workflow=output-parameter-ms85z
time="2020-04-13T15:14:37Z" level=info msg="Processing workflow" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:37Z" level=info msg="Workflow step group node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} not yet completed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:38Z" level=info msg="Processing workflow" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:38Z" level=info msg="Updating node &NodeStatus{ID:output-parameter-ms85z-1252809517,Name:output-parameter-ms85z[0].generate-parameter,DisplayName:generate-parameter,Type:Pod,TemplateName:whalesay,TemplateRef:nil,Phase:Pending,BoundaryID:output-parameter-ms85z,Message:ContainerCreating,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} status Pending -> Running"
time="2020-04-13T15:14:38Z" level=info msg="Workflow step group node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} not yet completed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:38Z" level=info msg="Workflow update successful" namespace=default phase=Running resourceVersion=3273 workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Processing workflow" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Setting node &NodeStatus{ID:output-parameter-ms85z-1252809517,Name:output-parameter-ms85z[0].generate-parameter,DisplayName:generate-parameter,Type:Pod,TemplateName:whalesay,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} outputs"
time="2020-04-13T15:14:39Z" level=info msg="Updating node &NodeStatus{ID:output-parameter-ms85z-1252809517,Name:output-parameter-ms85z[0].generate-parameter,DisplayName:generate-parameter,Type:Pod,TemplateName:whalesay,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:&Outputs{Parameters:[]Parameter{Parameter{Name:hello-param,Default:nil,Value:*Foobar,ValueFrom:&ValueFrom{Path:/tmp/hello_world.txt,JSONPath:,JQFilter:,Parameter:,Default:Foobar,},GlobalName:,},},Artifacts:[]Artifact{},Result:nil,},Children:[],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} status Running -> Error"
time="2020-04-13T15:14:39Z" level=info msg="Updating node &NodeStatus{ID:output-parameter-ms85z-1252809517,Name:output-parameter-ms85z[0].generate-parameter,DisplayName:generate-parameter,Type:Pod,TemplateName:whalesay,TemplateRef:nil,Phase:Error,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:&Outputs{Parameters:[]Parameter{Parameter{Name:hello-param,Default:nil,Value:*Foobar,ValueFrom:&ValueFrom{Path:/tmp/hello_world.txt,JSONPath:,JQFilter:,Parameter:,Default:Foobar,},GlobalName:,},},Artifacts:[]Artifact{},Result:nil,},Children:[],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} message: failed to save outputs: Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly"
time="2020-04-13T15:14:39Z" level=info msg="Step group node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} deemed failed: child 'output-parameter-ms85z-1252809517' failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} phase Running -> Failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Failed,BoundaryID:output-parameter-ms85z,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} message: child 'output-parameter-ms85z-1252809517' failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z-3009655378,Name:output-parameter-ms85z[0],DisplayName:[0],Type:StepGroup,TemplateName:output-parameter,TemplateRef:nil,Phase:Failed,BoundaryID:output-parameter-ms85z,Message:child 'output-parameter-ms85z-1252809517' failed,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:2020-04-13 15:14:39.808738163 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-1252809517],OutboundNodes:[],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} finished: 2020-04-13 15:14:39.808738163 +0000 UTC" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="step group output-parameter-ms85z-3009655378 was unsuccessful: child 'output-parameter-ms85z-1252809517' failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Outbound nodes of output-parameter-ms85z-1252809517 is [output-parameter-ms85z-1252809517]" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Outbound nodes of output-parameter-ms85z is [output-parameter-ms85z-1252809517]" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z,Name:output-parameter-ms85z,DisplayName:output-parameter-ms85z,Type:Steps,TemplateName:output-parameter,TemplateRef:nil,Phase:Running,BoundaryID:,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-3009655378],OutboundNodes:[output-parameter-ms85z-1252809517],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} phase Running -> Failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z,Name:output-parameter-ms85z,DisplayName:output-parameter-ms85z,Type:Steps,TemplateName:output-parameter,TemplateRef:nil,Phase:Failed,BoundaryID:,Message:,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:0001-01-01 00:00:00 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-3009655378],OutboundNodes:[output-parameter-ms85z-1252809517],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} message: child 'output-parameter-ms85z-1252809517' failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="node &NodeStatus{ID:output-parameter-ms85z,Name:output-parameter-ms85z,DisplayName:output-parameter-ms85z,Type:Steps,TemplateName:output-parameter,TemplateRef:nil,Phase:Failed,BoundaryID:,Message:child 'output-parameter-ms85z-1252809517' failed,StartedAt:2020-04-13 15:14:34 +0000 UTC,FinishedAt:2020-04-13 15:14:39.808827328 +0000 UTC,PodIP:,Daemoned:nil,Inputs:nil,Outputs:nil,Children:[output-parameter-ms85z-3009655378],OutboundNodes:[output-parameter-ms85z-1252809517],StoredTemplateID:,WorkflowTemplateName:,TemplateScope:,ResourcesDuration:ResourcesDuration{},} finished: 2020-04-13 15:14:39.808827328 +0000 UTC" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Checking daemoned children of output-parameter-ms85z" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Updated phase Running -> Failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Updated message  -> child 'output-parameter-ms85z-1252809517' failed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Marking workflow completed" namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Checking daemoned children of " namespace=default workflow=output-parameter-ms85z
time="2020-04-13T15:14:39Z" level=info msg="Workflow update successful" namespace=default phase=Failed resourceVersion=3279 workflow=output-parameter-ms85z
time="2020-04-13T15:14:40Z" level=info msg="Labeled pod default/output-parameter-ms85z-1252809517 completed"

Kubernetes pod events from kubectl describe.
$ kubectl describe pod output-parameter-ms85z-12528
09517
Name:           output-parameter-ms85z-1252809517
Namespace:      default
Priority:       0
Node:           pfn-argo/192.168.99.107
Start Time:     Tue, 14 Apr 2020 00:14:34 +0900
Labels:         workflows.argoproj.io/completed=true
                workflows.argoproj.io/workflow=output-parameter-ms85z
Annotations:    workflows.argoproj.io/node-message:
                  Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too qu...
                workflows.argoproj.io/node-name: output-parameter-ms85z[0].generate-parameter
                workflows.argoproj.io/outputs:
                  {"parameters":[{"name":"hello-param","value":"Foobar","valueFrom":{"path":"/tmp/hello_world.txt","default":"Foobar"}}]}
                workflows.argoproj.io/template:
                  {"name":"whalesay","arguments":{},"inputs":{},"outputs":{"parameters":[{"name":"hello-param","valueFrom":{"path":"/tmp/hello_world.txt","d...
Status:         Failed
IP:             172.17.0.5
IPs:            <none>
Controlled By:  Workflow/output-parameter-ms85z
Containers:
  wait:
    Container ID:  docker://e5f0e1af6b453b2c98af21a141a815f442bab3e3591be6704a3abd9716cb37c2
    Image:         argoproj/argoexec:v2.7.2
    Image ID:      docker-pullable://argoproj/argoexec@sha256:8e9c6440e7ef62977077632ca56acf0eb4d86b29ba5842a531a53e85ececc5ff
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      wait
    State:          Terminated
      Reason:       Error
      Message:      Failed to determine pid for containerID 3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911: container may have exited too quickly
      Exit Code:    1
      Started:      Tue, 14 Apr 2020 00:14:35 +0900
      Finished:     Tue, 14 Apr 2020 00:14:38 +0900
    Ready:          False
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                    output-parameter-ms85z-1252809517 (v1:metadata.name)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:  pns
    Mounts:
      /argo/podmetadata from podmetadata (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-2zw64 (ro)
  main:
    Container ID:  docker://3e76e9a21e2dad264e3e71c06ccfc5fe9966ce0bf95a2ebfe19ba3f2a8690911
    Image:         docker/whalesay:latest
    Image ID:      docker-pullable://docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -c
    Args:
      sleep 1; echo -n hello world > /tmp/hello_world.txt
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 14 Apr 2020 00:14:38 +0900
      Finished:     Tue, 14 Apr 2020 00:14:39 +0900
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-2zw64 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  podmetadata:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.annotations -> annotations
  default-token-2zw64:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-2zw64
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  3m2s   default-scheduler  Successfully assigned default/output-parameter-ms85z-1252809517 to pfn-argo
  Normal  Pulled     3m1s   kubelet, pfn-argo  Container image "argoproj/argoexec:v2.7.2" already present on machine
  Normal  Created    3m1s   kubelet, pfn-argo  Created container
  Normal  Started    3m1s   kubelet, pfn-argo  Started container
  Normal  Pulling    3m1s   kubelet, pfn-argo  pulling image "docker/whalesay:latest"
  Normal  Pulled     2m58s  kubelet, pfn-argo  Successfully pulled image "docker/whalesay:latest"
  Normal  Created    2m58s  kubelet, pfn-argo  Created container
  Normal  Started    2m58s  kubelet, pfn-argo  Started container

Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

I think the deadline in the following code should be configurable.

I realized my assumption is wrong.
The PNS executor waits on initializing init containers.
https://github.com/argoproj/argo/blob/79217bc89e892ee82bdd5018b2bba65425924d36/workflow/executor/pns/pns.go#L145-L158
However, init containers don't exist in a specific situation.
https://github.com/argoproj/argo/blob/6c685c5baf281116340b7b0708f8a29764d72c47/workflow/controller/workflowpod.go#L193-L196

I got it. Init containers have nothing to do with the PNS executor.
WaitInit doesn't block at all here while the name of the function sounds waiting.
https://github.com/argoproj/argo/blob/79217bc89e892ee82bdd5018b2bba65425924d36/workflow/executor/pns/pns.go#L149
Is it expected behavior?

looks like WaitIniti  initializing step for Wait operation in Wait container.   Comments of the function is clear. In PNSExecutor case, It is trying to secure the "FS" for outputs.
// WaitInit is called before Wait() to signal the executor about an impending Wait call.
// For most executors this is a noop, and is only used by the the PNS executor
WaitInit() error

I think the go function doesn't wait for the main container.

I've encountered this problem now even when storing outputs in emptyDirs.  The problem for me isn't actually saving the outputs, it says it successfully saved the outputs. Here's the wait container logs.
time="2020-04-29T12:24:53Z" level=info msg="Starting Workflow Executor" version=vv2.7.1+2a3f59c.dirty
time="2020-04-29T12:24:53Z" level=info msg="Creating PNS executor (namespace: acquia-polaris-system, pod: code-redeploy-qsmpx-2720976418, pid: 6, hasOutputs: true)"
time="2020-04-29T12:24:53Z" level=info msg="Executor (version: vv2.7.1+2a3f59c.dirty, build_date: 2020-04-07T16:44:22Z) initialized (pod: acquia-polaris-system/code-redeploy-qsmpx-2720976418) with templat
e:\n{\"name\":\"get-envs\",\"arguments\":{},\"inputs\":{},\"outputs\":{\"parameters\":[{\"name\":\"json\",\"valueFrom\":{\"path\":\"/tmp/out.json\"}}]},\"metadata\":{},\"container\":{\"name\":\"\",\"image
\":\"881217801864.dkr.ecr.us-east-1.amazonaws.com/fn-taskstep:latest\",\"args\":[\"get-envs-by-git\",\"git@github.com:acquia/fn-example-repos.git\",\"e2e-d8-build-code-deploy\"],\"resources\":{},\"volumeM
ounts\":[{\"name\":\"out\",\"mountPath\":\"/tmp\"}]},\"volumes\":[{\"name\":\"out\",\"emptyDir\":{}}],\"retryStrategy\":{\"limit\":4}}"
time="2020-04-29T12:24:53Z" level=info msg="Waiting on main container"
time="2020-04-29T12:24:53Z" level=warning msg="Polling root processes (1m0s)"
time="2020-04-29T12:24:53Z" level=warning msg="Failed to stat /proc/27/root: stat /proc/27/root: permission denied"
time="2020-04-29T12:25:08Z" level=info msg="main container started with container ID: 0e63f624ba94dbf5b9dc69ee2ad28d2183ce7d2dbea4bfcd50a534ce343bdce9"
time="2020-04-29T12:25:08Z" level=info msg="Starting annotations monitor"
time="2020-04-29T12:25:08Z" level=warning msg="Failed to wait for container id '0e63f624ba94dbf5b9dc69ee2ad28d2183ce7d2dbea4bfcd50a534ce343bdce9': Failed to determine pid for containerID 0e63f624ba94dbf5b
9dc69ee2ad28d2183ce7d2dbea4bfcd50a534ce343bdce9: container may have exited too quickly"
time="2020-04-29T12:25:08Z" level=error msg="executor error: Failed to determine pid for containerID 0e63f624ba94dbf5b9dc69ee2ad28d2183ce7d2dbea4bfcd50a534ce343bdce9: container may have exited too quickly
\ngithub.com/argoproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/ar
goproj/argo/errors.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo
/workflow/executor/pns/pns.go:289\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:162\ngithub.com/argoproj/argo/workflo
w/executor.(*WorkflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:829\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.
16.7-beta.0/pkg/util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:828\ngithub.com/argoproj/argo/c
md/argoexec/commands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/
argo/cmd/argoexec/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:766\ngithub.com/spf13/cobra.(*Command
).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:852\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.2018102114111
4-fe5e611709b0/command.go:800\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm
_amd64.s:1357"
time="2020-04-29T12:25:08Z" level=info msg="Saving output parameters"
time="2020-04-29T12:25:08Z" level=info msg="Saving path output parameter: json"
time="2020-04-29T12:25:08Z" level=info msg="Copying /tmp/out.json from from volume mount"
time="2020-04-29T12:25:08Z" level=info msg="Successfully saved output parameter: json"
time="2020-04-29T12:25:08Z" level=info msg="No output artifacts"
time="2020-04-29T12:25:08Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2020-04-29T12:25:08Z" level=info msg="Annotating pod with output"
time="2020-04-29T12:25:08Z" level=info msg="/argo/podmetadata/annotations updated"
time="2020-04-29T12:25:08Z" level=info msg="Starting deadline monitor"
time="2020-04-29T12:25:08Z" level=info msg="Deadline monitor stopped"
time="2020-04-29T12:25:08Z" level=info msg="Killing sidecars"
time="2020-04-29T12:25:08Z" level=info msg="Alloc=4301 TotalAlloc=20985 Sys=71360 NumGC=7 Goroutines=9"
time="2020-04-29T12:25:08Z" level=fatal msg="Failed to determine pid for containerID 0e63f624ba94dbf5b9dc69ee2ad28d2183ce7d2dbea4bfcd50a534ce343bdce9: container may have exited too quickly\ngithub.com/arg
oproj/argo/errors.New\n\t/go/src/github.com/argoproj/argo/errors/errors.go:49\ngithub.com/argoproj/argo/errors.Errorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:55\ngithub.com/argoproj/argo/erro
rs.InternalErrorf\n\t/go/src/github.com/argoproj/argo/errors/errors.go:65\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).getContainerPID\n\t/go/src/github.com/argoproj/argo/workflow/execut
or/pns/pns.go:289\ngithub.com/argoproj/argo/workflow/executor/pns.(*PNSExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/pns/pns.go:162\ngithub.com/argoproj/argo/workflow/executor.(*Wor
kflowExecutor).Wait.func1\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:829\nk8s.io/apimachinery/pkg/util/wait.ExponentialBackoff\n\t/go/pkg/mod/k8s.io/apimachinery@v0.16.7-beta.0/pkg/
util/wait/wait.go:292\ngithub.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).Wait\n\t/go/src/github.com/argoproj/argo/workflow/executor/executor.go:828\ngithub.com/argoproj/argo/cmd/argoexec/comm
ands.waitContainer\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:40\ngithub.com/argoproj/argo/cmd/argoexec/commands.NewWaitCommand.func1\n\t/go/src/github.com/argoproj/argo/cmd/argoexe
c/commands/wait.go:16\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:766\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/g
o/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/command.go:852\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v0.0.4-0.20181021141114-fe5e611709b0/c
ommand.go:800\nmain.main\n\t/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:17\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"

i'm still hitting this issue.

I'm getting this with runAsNonRoot

I'm also having similar issue

PNS executor needs to run-as-root. Check that?

PNS executor needs to run-as-root. Check that?

It does not if you are on containerd or cri-o and modify the executor image a bit. I am using it rootless with pod security policies. Do you want me to make a pull request with the necessary changes? It depends a bit on
https://github.com/argoproj/argo/pull/3785#issuecomment-676052063

@juliusvonkohout can I get you to add your security policy to #/4186 as the first step so we can understand the solution?

@wreed @juliusvonkohout I've noted that when ones run PNS with runAsNonRoot and output artifacts, then you get the permission denied error, files are copied, but the wait container cannot determine when the main container to exit.

repo: argoproj/argo


text:
Incorrect statement about assuming the workflow-controller is running in UTC timezone

The statement about argo assuming that the workflow-controller is running in UTC is incorrect, as it actually expects the workflow-controller to be running in the same timezone as argo.
I've been testing this for my work, and by simply setting the TZ environment variable to a IANA standard timezone (in my case CET) for both the argo pod and the workflow-controller pod, UTC is completely out of the picture, and all logs and cron workflows are working correctly.
https://github.com/argoproj/argo/blob/7f2ff80f130b3cd5834b4c49ab6c1692dd93a76c/ui/src/app/cron-workflows/components/cron-workflow-summary-panel.tsx#L40
How did I deploy?
At work we are using a helm chart based on your documentation on deployment, and the argo-helm project.
But it all comes down to these two deployments:
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: argo-server
spec:
  selector:
    matchLabels:
      app: argo-server
  replicas: 2
  template:
    metadata:
      labels:
        app: argo-server
    spec:
      serviceAccountName: argo-server
      containers:
      - args:
        - server
        - --auth-mode
        - client
        env:
        - name: TZ
          value: CET
        image: argoproj/argocli:{{.Values.argoVersion}}
        name: argo-server

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: workflow-controller
spec:
  selector:
    matchLabels:
      app: workflow-controller
  replicas: 1
  template:
    metadata:
      labels:
        app: workflow-controller
    spec:
      serviceAccountName: argo
      containers:
      - args:
        - --configmap
        - workflow-controller-configmap
        - --executor-image
        - argoproj/argoexec:{{ .Values.argoVersion }}
        env:
        - name: TZ
          value: CET
        command:
        - workflow-controller
        image: argoproj/workflow-controller:{{ .Values.argoVersion }}
        name: workflow-controller

As you can see, I set TZ=CET env variable for both the argo and the workflow-controller, which makes it work perfectly for our environment. But in our case the note "(assumes workflow-controller is in UTC)" becomes very confusing for the users.
What should be changed?
As I see it, there are some alternatives:

The note in the UI (and other places if exists) should be changed depending on the configured timezone. as such:tz, _ := time.Now().Zone()
fmt.Sprintf("(assumes workflow-controller is in %s)", tz)

Read time information such as timezone from the workflow-controller, and warn in the WebUI if the pods are not configured equally. This would somehow be the preferable solution, as it would let the WebGUI be cleaner without confusing notes, as long as everything is installed correctly.

The issue here is that the workflow-controller does not communicate at all with the UI/Argo Server and the CLI. This is by design, as we always want the source of truth to be the CRDs on the cluster. Because there is no direct communication between the controller and the clients, there is no way for the clients to know what timezone the controller is using and therefore impossible to guarantee when the next scheduled run of a cron workflow will be from just looking at the CRD. This is also why your proposed solutions won't apply: we don't want the clients and the controller to be communicating directly.
When designing this field we considered allowing the controller to set a field in the CRD that contained its next runtime, but we decided against this.
We also ran an informal poll of our users and 100% of the poll respondents indicated that they use UTC as the timezone for their workflow-controller, regardless of their own timezone. This coincides with the industry-standard practice that all servers run on UTC time, regardless of where they are.

Is there a reason as to why your workflow-controller is not on UTC?

I second Simon. There are no circumstances where I could recommend you run your installations in a non-UTC timezone, neither production or non-production. Combined with the fact that it is rare to do this, means that assuming UTC is a reasonable assumption in most cases. We do sign-post this, so if you are running non-UTC - then we cater for you.

As a way to mitigate this, if a cron workflow has an explicit timezone set then we can confidently display its next runtime regardless of the timezone of the workflow-controller (and therefore get rid of this warning).
However, if not timezone is set this behavior remains the best way forward. I'll open a PR for this

Thank you for your input on this matter. I agree that it is a good pattern to use UTC as the default timezone in containers and on server hosts. Though this would make the logs a bit confusing for e.g. my workplace as we only exist within one timezone.
Even more confusing as we are still using summertime. So we toggle between CET and CEST every half year.
But I see your stand-point on this. And I agree that this is rather a question about our internal setup, monitoring and logging than about Argo as a project.
But since there is actually an easy way to implement timezones configured for the pods, and also for the separate CronWorkflows, I would like to see that Argo and Workflow-controller at least (separately) check their individual timezones and warn users (through logs) about using other timezones than UTC inside the container.
I never think it is a good idea to put a hard-coded message in the UI that does not really give a detailed explanation on the problem.

We´ve changed the timezone for our CronWorkflows internally now. That made me think that maybe the solution to this is just to add the timezone after the Z in the time format in the WebUI?

Here you see that the next scheduled time is in RFC3339 format, what about:

Simply explicitly adding the timezone to the end of the timestamp, regardless of configured timezone
Showing the next and last scheduled times in the timezone set for the CronWorkflow

Please also consider this: https://tools.ietf.org/html/rfc3339#section-4.3

@artheus Would you like to open a PR to fix these issues?

source: gharchive/issue

authors: alexec artheus simster7

license_type: permissive

license_source: github-api


text:
Add metadata to COD products

By request from sang-ho: good to have track numbers displayed on FacetSearch.
Gists:
stderr and stdout
product
Faceting on Track and subswath on S1-COD:

@jlinick @pymonger

@shitong01 looks good to me. @jlinick, @hookhua can you give a second pair of eyes?

@pymonger @jlinick I made further changes in our master to cater to Sang-Ho's requests on enabling user-defined azimuth and looks for creating COD product, also exposing the looks into the metadata. There are 3 additional fields: track_number, overriding_azimuth_looks, overriding_range_looks --> all of them are optional.

If the overriding az/rn looks are specified (in the comma separated format subswath1,subswath2,subswath3), they will override the looks from the SLCP metadata.
If the overriding az/rn looks are left blank, it will simply inherit looks from the master SLCP
If track_number is not specified, it will evaluate pairs for all SLCPs in that AOI.

source: gharchive/pull-request


text:
Add prefix to all rest calls

Is there an easy way to have a prefix added to all rest calls?
/endpoint -> /prefix/endpoint

Is there a hard way?

Well I don't know if this is the "correct" way but this worked if others want to know (referencing https://entgo.io/blog/2022/02/15/generate-rest-crud-with-ent-and-ogen/#add-custom-endpoints ):
oas, err := entoas.NewExtension(
		entoas.Spec(spec),
		entoas.Mutations(func(graph *gen.Graph, spec *ogen.Spec) error {
			p := make(ogen.Paths)
			for k, v := range spec.Paths {
				p["/rest"+k] = v
			}
			spec.Paths = p
			return nil
		}),
	)
	```
will prefix `/rest` to the endpoint

repo: ariga/ogent


text:
Alternative search suggestion view

Hi,
I would like to change the suggestion list view. Now it's 1 result per row, but I would like to have some kind of small buttons, or "chips" in a FlexBoxLayout. Something like this :

@echthard
Your suggestion is too radical of a change for this library at this point. But you can do something like this:
mSearchView.setOnBindSuggestionCallback(new SearchSuggestionsAdapter.OnBindSuggestionCallback() {
            @Override
            public void onBindSuggestion(View suggestionView, ImageView leftIcon,
                                         TextView textView, SearchSuggestion item, int itemPosition) {

                View view = LayoutInflater.from(suggestionView.getContext()).inflate(R.layout.your_layout, null);

                ((LinearLayout)suggestionView).removeAllViews();
                ((LinearLayout)suggestionView).addView(view);
     }

        });

Granted, not the best solution or event maybe not efficient to inflate dynamically on every bind, but you can use some creativity to come up with a solution. The idea is that you will get the same smooth slide down animation. In addition, I think the code in the project is understandable enough so you can download the project and mess around to come up with a solution for your needs.
Good luck,
Ari

authors: arimorty echthard

repo: arimorty/floatingsearchview

license_source: bigquery


text:
bug: VerifyInterfaceIPv4 seems to use wrong type for IPv4 Addresses

Hi,
when running an anta test like the following via CLI:
anta.tests.interfaces:
  - VerifyInterfaceIPv4:
      interfaces:
        - name: Ethernet3
          primary_ip: 10.20.2.2/30
      filters:
        tags: ["leaf1"]
      result_overwrite:
        description: "Underlay/IPConfig"

it get an error like this:
CRITICAL Test catalog is invalid! (from anta/anta_dev_test.yml)                                                                                logger.py:121
                    ValidationError: 1 validation error for AntaCatalogFile
                    inputs
                      VerifyInterfaceIPv4 test inputs are not valid: 6 validation errors for Input
                            interfaces.0.primary_ip
                              Input is not a valid IPv4 network

The code for anta test VerifyInterfaceIPv4 expects an instance of ipaddress.IPv4Network for primary_ip and secondary_ip. However the test is intended to validate host addresses, yet ipaddress.IPvNetwork will raise an expection by default when initialized with an address where host bits are set. So when providing a v4 address in CIDR notation in the catalog the above error is raised.
Since the unit test for the anta test uses the first addresses of /31 networks this error is not detected (for /31 networks the network address equals the first host address - therefore no exception occurs). You should be able to reproduce the issue by just updating one of the inputs in the unit test. For example change "primary_ip": "172.30.11.0/31" to  "primary_ip": "172.30.11.1/31".
The issue might be fixed by using ipaddress.IPv4Interface instead of ipaddress.IPv4Network for this anta test i guess.

Thanks @markus-sbg for reporting - fix in this PR https://github.com/aristanetworks/anta/pull/977

authors: gmuloc markus-sbg

repo: aristanetworks/anta


text:
Some tests failing on Windows

A couple look like they might be forward-back slash related.
Master branch, Windows 10, Visual Studio 2012
ff..E..F......F.......f......F..f.............s................E.......F.....E....f...
basics\require: ERROR
ERROR: Test group skipped
  ERROR: Error: Cannot find module 'require/require_spec.js'

basics\timeout: FAIL
 FAIL: did not exit as expected
  expected exit code -15 got 1

module\fs\fileattrs: FAIL
 FAIL: size/date queries on existing files
  assert_greater_than_equal: expected a number greater than or equal to 1454595802000 but got 1454574202559
  phantomjs://code/fileattrs.js:44:30

module\webpage\cookies: FAIL
 FAIL: page.cookies provides cookies only to appropriate requests
  assert_no_property: property "cookie" found on object, expected to be absent
  phantomjs://code/cookies.js:109:27

module\webpage\render: ERROR
ERROR: Test group skipped
  ERROR: Error: Cannot find module './renders'

module\webpage\url-encoding: FAIL
 FAIL: arguments to onResourceError and onResourceTimeout
  assert_equals: expected "http://localhost:51638/url-encoding?/%89i%8Bv" but got "http://localhost:51638/url-encoding?/re"
  phantomjs://code/url-encoding.js:110:22

module\webserver\requests: ERROR
ERROR: setup failed
  ERROR: assert_is_false: expected false got true

127.174s elapsed
  185 passed
    4 failed
    8 failed as expected
    3 had errors
    4 skipped

Thanks a lot for filing this issue! We'll triage and take a look at it as soon as possible!
And fyi: 2015 is not supported yet.

Oops. I have both 2012 and 2015 installed, but for this I used 2012. I edited the comment.

2012? I think it should be 2013 ;-)

Okay, VS versions confuse me. The command line app I used is: VS2012 x86 Native Tools Command Prompt, but you're right, it came with VS 2013.

authors: Vitallium mepard

repo: ariya/phantomjs


text:
Output of phantomjs with current git master is different to 2.1.1

Describe the problem
Because of another issue we wanted to upgrade to the current git master version. But the output of our pdf script is completly different.
Versions
2.1.1: works
Current git master: works not
Tested on: Debian Buster (10) and Debian Bullseye (11)
Steps to Reproduce
phantomjs pdf_script
Actual behavior
The rendered page is completly different to the 2.1.1 behavior
Expected behavior
Same behavior as with 2.1.1 :-)

test_211.pdf
[test_git.pdf](https://github.com/ariya/phantomjs/files/
pdf_script.txt
9468503/test_git.pdf)

Our script:
pdf_script.txt
Output with 2.1.1:
test_211.pdf
Output with git master (broken):
test_git.pdf

@the-me1988 The master branch is progressing towards a 3.x release, so it is not necessarily expected to be compatible with the 2.x interface.
https://github.com/ariya/phantomjs/blob/0a0b0facb16acfbabb7804822ecaf4f4b9dce3d2/src/consts.h#L38

So this is not a bug but a wanted behavior? Do you have a migration guide or something like that so we can adopt it to the new "format" and when will 3.0 be finished? :)

I should clarify that I'm not involved in PhantomJS development myself. I just noticed a commit which mentioned the 3.x release series.

So this is not a bug but a wanted behavior?

I don't think breaking that pdf script is intended per se. It's just that incompatible changes are considered permissible when upgrading the major version.

Do you have a migration guide or something like that so we can adopt it to the new "format" and when will 3.0 be finished? :)

I don't know the answers to these questions, sorry. To speed things up, you can donate and/or contribute code and/or encourage other people to do those things.


text:
This still requires active internet connection right?

I downloaded this because I assumed this is an offline tool so that I can work on my swagger API offline. But it seems to be connecting to swagger.io to preview the files... am I right?
If that is the case it does not add any value... I might as well you editor.swagger.io directly from Chrome.

You can totally use swagger-viewer offline. The preview is hosted locally.

@rosdi as @megakilo mentioned this works offline. If you face any issue while using it offline please do inform.

authors: arjun-g megakilo rosdi

repo: arjun-g/vs-swagger-viewer

license: mit


text:
Re-implement tree.DecodeClosure using txscript.Tokenizer

The current implementation of DecodeClosure is using bytes.LastIndex to search some opcodes in the script to decode. However, in case this opcode byte is included in public key, it could lead to unexpected errors.
We should rework the decode algorithm using txscript.NewTokenizer

Hey @louisinger , also interested in this.

authors: aruokhai louisinger

repo: ark-network/ark

license: MIT


text:
[NSKnownKeysDictionary1 _fastCStringContents:] iOS9

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSKnownKeysDictionary1 _fastCStringContents:]: unrecognized selector sent to instance 0x18a8de10'
during properties[entity.propertiesByName] in the  public static func keyForRemoteKey(remote: String, context: NSManagedObjectContext) -> String function
Only in iOS9!

Should be fixed in 0.0.4, let me know

repo: arkverse/SwiftRecord


text:
Upgrade ArgoCD lib to 2.2.10 from 2.2.9 to fix a critical CVE

(This is for main branch, similar to v0.3) Upgrade ArgoCD lib to 2.2.10 from 2.2.9 to fix a critical CVE detected by dependabot.

If you see the results of the checks performed by GitHub actions, the Trivy code scan results here indicate that there is no change in the status.
Not sure why. The Trivy action builds a docker image and scans it for vulnerabilities - only for main branch. The check will probably pass for the next PR once this one is merged in main.

Closing this PR and merged https://github.com/arlonproj/arlon/pull/97 (PR by dependabot) instead, since dependabot can provide better detail.

repo: arlonproj/arlon


text:
LoginLink API

Hi, I need the LoginLink API.  Do you have any objection to me finishing that out and then getting it pulled in here upstream?

No, please add, and I will get it merged.

I believe this is now included. Thanks for the PR.

authors: arlyon erichCompSci

repo: arlyon/async-stripe


text:
Bug fix: Allow setting the nameserver without existing flag

On first startup or boot of maestro, allow the nameserver to be sent
to maestro DB and deviceDB regardless of the existing flag.
Still allow existing flag to dictate future commits of the nameserver during
runtime

Refer to this link for build results (access rights to CI server needed):
https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/103/

repo: armPelionEdge/maestro


text:
feat: WIP - Remove Lookout V1 from armada-operator

Lookout V1 has been removed from Armada, the project has fully migrated to the V2 version - remove the V1 support from the armada-operator tooling.
Also, correct some outdated goreleaser usage options, update many image versions with recent Armada images from Docker Hub.

I'd love to see a way to extract the 0.3.103 tag repetition into a single value, but doesn't seem like a reason to block this PR.

I tried specifying tag: $(ARMADA_RELEASE_VERSION) with env ARMADA_RELEASE_VERSION=0.3.103 kubectl apply -n armada -f ./dev/quickstart/armada-crds.yaml (this is the standard step as we specify in the README) but the server always responded with Invalid value: "$ARMADA_RELEASE_VERSION": spec.image.tag in body should match '^[a-zA-Z0-9_.-]*$' errors.   Kubectl doesn't seem to expand env vars for input files nor propagate them to the server for processing, so we would have to add some sort of preprocessing, we could have the actual kubectl apply be done as a Makefile target instead.

repo: armadaproject/armada-operator


text:
Importing it as a module

ioc-parser didn't worked, as python doesn't like "-" (dash) in import statement
Default setting of patterns_ini would be nice, not requiring user of module to pass it unnecessarily and override only if required [LINE #84]
Ability to return python data structure (list, dict) along with csv/json/etc. currently supported

Three commits from Jul 1, 2015 should solve this:

Added default for patterns_ini
Added optional parameter output_handler when loaded as a module
Renamed ioc-parser.py to iocp.py

Thanks!

authors: armbues threatlead


text:
Update values.py

Add 2020 RAV4TSS2H FP & FW

V1 FP can be merged into one.
{36: 8, 37: 8, 166: 8, 170: 8, 180: 8, 295: 8, 296: 8, 401: 8, 426: 6, 452: 8, 466: 8, 467: 8, 550: 8, 552: 4, 560: 7, 562: 6, 581: 5, 608: 8, 610: 8, 643: 7, 658: 8, 713: 8, 728: 8, 740: 5, 742: 8, 743: 8, 761: 8, 764: 8, 765: 8, 767: 4, 800: 8, 810: 2, 812: 8, 814: 8, 818: 8, 822: 8, 824: 8, 829: 2, 830: 7, 835: 8, 836: 8, 863: 8, 865: 8, 869: 7, 870: 7, 871: 2, 877: 8, 881: 8, 882: 8, 885: 8, 889: 8, 891: 8, 896: 8, 898: 8, 900: 6, 902: 6, 905: 8, 913: 8, 918: 8, 921: 8, 933: 8, 934: 8, 935: 8, 944: 8, 945: 8, 950: 8, 951: 8, 953: 8, 955: 8, 956: 8, 971: 7, 975: 5, 987: 8, 993: 8, 998: 5, 999: 7, 1000: 8, 1001: 8, 1002: 8, 1014: 8, 1017: 8, 1020: 8, 1041: 8, 1042: 8, 1044: 8, 1056: 8, 1057: 8, 1059: 1, 1063: 8, 1071: 8, 1076: 8, 1077: 8, 1082: 8, 1084: 8, 1085: 8, 1086: 8, 1114: 8, 1132: 8, 1161: 8, 1162: 8, 1163: 8, 1164: 8, 1165: 8, 1166: 8, 1167: 8, 1172: 8, 1228: 8, 1235: 8, 1237: 8, 1263: 8, 1264: 8, 1279: 8, 1541: 8, 1552: 8, 1553: 8, 1556: 8, 1557: 8, 1568: 8, 1570: 8, 1571: 8, 1572: 8, 1592: 8, 1594: 8, 1595: 8, 1649: 8, 1696: 8, 1745: 8, 1775: 8, 1779: 8, 1786: 8, 1787: 8, 1788: 8, 1789: 8, 1792: 8, 1800: 8, 1808: 8, 1810: 8, 1816: 8, 1818: 8, 1872: 8, 1880: 8, 1904: 8, 1912: 8, 1937: 8, 1945: 8, 1953: 8, 1961: 8, 1968: 8, 1976: 8, 1990: 8, 1998: 8, 2015: 8, 2016: 8, 2024: 8}
Please use this one

V1 FP can be merged into one.
{36: 8, 37: 8, 166: 8, 170: 8, 180: 8, 295: 8, 296: 8, 401: 8, 426: 6, 452: 8, 466: 8, 467: 8, 550: 8, 552: 4, 560: 7, 562: 6, 581: 5, 608: 8, 610: 8, 643: 7, 658: 8, 713: 8, 728: 8, 740: 5, 742: 8, 743: 8, 761: 8, 764: 8, 765: 8, 767: 4, 800: 8, 810: 2, 812: 8, 814: 8, 818: 8, 822: 8, 824: 8, 829: 2, 830: 7, 835: 8, 836: 8, 863: 8, 865: 8, 869: 7, 870: 7, 871: 2, 877: 8, 881: 8, 882: 8, 885: 8, 889: 8, 891: 8, 896: 8, 898: 8, 900: 6, 902: 6, 905: 8, 913: 8, 918: 8, 921: 8, 933: 8, 934: 8, 935: 8, 944: 8, 945: 8, 950: 8, 951: 8, 953: 8, 955: 8, 956: 8, 971: 7, 975: 5, 987: 8, 993: 8, 998: 5, 999: 7, 1000: 8, 1001: 8, 1002: 8, 1014: 8, 1017: 8, 1020: 8, 1041: 8, 1042: 8, 1044: 8, 1056: 8, 1057: 8, 1059: 1, 1063: 8, 1071: 8, 1076: 8, 1077: 8, 1082: 8, 1084: 8, 1085: 8, 1086: 8, 1114: 8, 1132: 8, 1161: 8, 1162: 8, 1163: 8, 1164: 8, 1165: 8, 1166: 8, 1167: 8, 1172: 8, 1228: 8, 1235: 8, 1237: 8, 1263: 8, 1264: 8, 1279: 8, 1541: 8, 1552: 8, 1553: 8, 1556: 8, 1557: 8, 1568: 8, 1570: 8, 1571: 8, 1572: 8, 1592: 8, 1594: 8, 1595: 8, 1649: 8, 1696: 8, 1745: 8, 1775: 8, 1779: 8, 1786: 8, 1787: 8, 1788: 8, 1789: 8, 1792: 8, 1800: 8, 1808: 8, 1810: 8, 1816: 8, 1818: 8, 1872: 8, 1880: 8, 1904: 8, 1912: 8, 1937: 8, 1945: 8, 1953: 8, 1961: 8, 1968: 8, 1976: 8, 1990: 8, 1998: 8, 2015: 8, 2016: 8, 2024: 8}
Please use this one


text:
🛑 NWTFV is down

In 2be172a, NWTFV (https://nwtfv.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NWTFV is back up in 8e9c9c1.

repo: arnef/status


text:
Sudoku Game:Suggest any improvements/changes

Hello and Good Morning,
Do check my first contribution named Sudoku Game.
Tech Stack: HTML,CSS and JS.

Key Features:

Light and Dark Modes based on user requirements.
Difficulty level from Easy to Most Difficult(Inhuman)
Good and appealing UI

please link the issue in the description

https://github.com/arpit456jain/Amazing-Js-Projects/issues/244
Regards.

This looks beautiful! Did you follow any tutorial or made it completely on your own?

I referred to tutorials for CSS on Instagram since I am very weak at it. Rest HTML and JS are my own.


text:
Login with google UI update

Fixed #60

Hello @Bashamega, You have solved this problem for the Log-in page, Please fix it in the sign up page as well ✨

Thank you @arpittyagi102  I have updated it


text:
bedtools intersect -wao -S gives no results

hi,
the -wao options is not working when requiring different strands. the programs runs fine, but gives no output. same strand or any strand works, though:
bedtools intersect -a fileA.gtf -b fileA.gtf -wao -S
-wo -S works
bedtools intersect -a fileA.gtf -b fileA.gtf -wo -S
thank you!

Could you comment on what version of bedtools you are using and perhaps provide minimal tests files to reproduce this?


text:
annotate tool should support VCF

This is necessary for cases where one wants to annotate not just on position, but also on the specific allele.

this is implemented


text:
sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding parameter 51

I am currently using gemini 0.18.3 because I didn't want to break my installation. My command is:
gemini_python /mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py --legacy-compression vcfs/sample.snpeff.anno.vcf.gz sample.pedfile gemini/test.db

Here are the config files that I used in vcfanno:
vcfanno.conf
[[annotation]]
file = "ExAC.r0.3.sites.vep.tidy.vcf.gz"
fields = ["AC_Adj", "AN_Adj"]
names = ["exac_ac_all", "exac_an_all"]
ops = ["self", "self"]

[[annotation]]
file = "/home/rathik/grin_test/GRCh38/annotations/dbsnp137.coding.variants.sift.prediction.bed.gz"
columns = [14,15,18,19]
names = ["Provean_score","Provean_prediction","SIFT_score","SIFT_prediction"]
ops     = ["self", "self", "self", "self"]

[[annotation]]
file = "ESP6500SI.all.snps_indels.tidy.v2.vcf.gz"
fields = ["FG","AAC", "PH"]
names = ["functionGVS", "aminoAcidChange", "polyPhen"]
ops = ["self", "self", "self"]

[[annotation]]
file = "/home/rathik/grin_test/GRCh38/annotations/literaturegenes_GRCh38.bed.gz"
columns = [4]
names = ["literature_genes"]
ops = ["self"]

[[annotation]]
file = "/home/rathik/grin_test/GRCh38/annotations/recurrentgenes_GRCh38.bed.gz"
columns = [4]
names = ["recurrent_genes"]
ops = ["self"]

[[annotation]]
file = "/home/rathik/grin_test/GRCh38/annotations/rvis_GRCh38.bed.gz"
columns = [4,5]
names = ["rvis_genes","rvis_score"]
ops = ["self","self"]

[[postannotation]]
fields = ["exac_ac_all", "exac_an_all"]
name = "exac_af_all"
op = "lua:divfunc(exac_ac_all[1],exac_an_all)"
type = "Float"

vcfanno.lua
function divfunc(a, b)
        if(a == 0) then
                return 0.0
        else
        return string.format("%.9f", a / b)
    end
end

Even though I am getting the following error, a database is created:
setting exac_af_all to Type String because it has Number=.
/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py:185: SAWarning: Unicode type received non-unicode bind param value 'NLES10'. (this warning may be suppressed after 10 occurrences)
  (util.ellipses_string(value),))
/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py:185: SAWarning: Unicode type received non-unicode bind param value '733459'. (this warning may be suppressed after 10 occurrences)
  (util.ellipses_string(value),))
/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py:185: SAWarning: Unicode type received non-unicode bind param value '733482'. (this warning may be suppressed after 10 occurrences)
  (util.ellipses_string(value),))
/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py:185: SAWarning: Unicode type received non-unicode bind param value '733434'. (this warning may be suppressed after 10 occurrences)
  (util.ellipses_string(value),))
/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/sqltypes.py:185: SAWarning: Unicode type received non-unicode bind param value '1'. (this warning may be suppressed after 10 occurrences)
  (util.ellipses_string(value),))
10000 variant_impacts:44264	effects time: 7.6	chunk time:13.6	734.00 variants/second
20000 variant_impacts:43003	effects time: 7.2	chunk time:12.5	764.97 variants/second
30000 variant_impacts:42482	effects time: 7.4	chunk time:11.4	798.41 variants/second
40000 variant_impacts:45072	effects time: 7.3	chunk time:12.4	801.17 variants/second
50000 variant_impacts:54559	effects time: 8.7	chunk time:14.3	777.96 variants/second
60000 variant_impacts:48911	effects time: 7.9	chunk time:13.3	773.14 variants/second
70000 variant_impacts:40810	effects time: 7.2	chunk time:12.2	779.20 variants/second
80000 variant_impacts:39796	effects time: 7.0	chunk time:12.2	783.81 variants/second
90000 variant_impacts:48542	effects time: 8.1	chunk time:13.5	778.56 variants/second
100000 variant_impacts:41732	effects time: 7.2	chunk time:12.6	780.30 variants/second
Traceback (most recent call last):
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 720, in <module>
    blobber=blobber)
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 175, in __init__
    self.load()
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 240, in load
    self._load(self.vcf, create=False, start=i+1)
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 224, in _load
    self.insert(variants, expanded, keys, i)
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 279, in insert
    vilengths, variant_impacts)
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 307, in _insert
    self.__insert(v_objs, self.metadata.tables['variants'].insert())
  File "/mnt/isilon/cbmi/variome/bin/vcf2db/vcf2db.py", line 331, in __insert
    trans.execute(stmt, o)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/mnt/isilon/cbmi/variome/bin/gemini/data/anaconda/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding parameter 51 - probably unsupported type.
[SQL: u'INSERT INTO variants (variant_id, chrom, start, "end", vcf_id, ref, alt, qual, filter, type, sub_type, call_rate, num_hom_ref, num_het, num_hom_alt, aaf, gene, transcript, is_exonic, is_coding, is_lof, is_splicing, exon, codon_change, aa_change, aa_length, biotype, impact, impact_so, impact_severity, polyphen_pred, polyphen_score, sift_pred, sift_score, an, baseqranksum, clippingranksum, dp, fs, lof, mq, mqranksum, nmd, provean_prediction, provean_score, qd, readposranksum, sift_prediction, sor, aminoacidchange, exac_af_all, exac_an_all, functiongvs, literature_genes, polyphen, recurrent_genes, rvis_genes, rvis_score, gts, gt_types, gt_phases, gt_depths, gt_ref_depths, gt_alt_depths, gt_quals) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (154484, 'chr11', 1016967, 1016968, None, 'T', 'G,C', 7694.89990234375, None, 'snp', 'unknown', 1.0, 0, 3, 0, 0.5, 'MUC6', 'ENST00000421673', 1, 1, 0, 0, '31', 'Aca/Cca', 'T1945P', 2439, 'protein_coding', 'missense_variant', 'missense_variant', 'MED', None, None, None, None, 6, 7.900000095367432, -0.39399999380111694, 2251, 49.323001861572266, 'None', 64.66000366210938, -2.3959999084472656, 'None', None, None, 3.430000066757202, 2.5, None, 4.144999980926514, 'None', inf, (110356, 110356), 'None', 'MUC6', 'None', None, 'MUC6', '1.26', <read-only buffer for 0x2aaac57ac7b0, size -1, offset 0 at 0x2aaac7c65eb0>, <read-only buffer for 0x2aaac57ac850, size -1, offset 0 at 0x2aaac7c653b0>, <read-only buffer for 0x2aaac57ac8f0, size -1, offset 0 at 0x2aaac7c65130>, <read-only buffer for 0x2aaac4daddf8, size -1, offset 0 at 0x2aaac7c558f0>, <read-only buffer for 0x2aaac4dadea0, size -1, offset 0 at 0x2aaac7c55930>, <read-only buffer for 0x2aaac4dadf48, size -1, offset 0 at 0x2aaac7c55970>, <read-only buffer for 0x2aaac57ac990, size -1, offset 0 at 0x2aaac7c559b0>)]

Why do the values at the end look weird?
Thanks!

the values at the end arent the problem. they are the encoded numpy arrays for gt_depth, gt_types, etc.
the 51th column is exac_af_all and the error message is setting exac_af_all to Type String because it has Number=.
This is because if it knows that it can possible have multipe values so it has to use string.
you can get around it by doing vt decompose on the ExAC dataset.
or, before your current postannotation, you could add, e.g.:
[[postannotation]]
fields = ["exac_ac_all"]
name = "exac_ac_all_min"
op = "min"
type = "Float"

to make sure you only have a single value for the AC and then use:
[[postannotation]]
fields = ["exac_ac_all_min", "exac_an_all"]
name = "exac_af_all"
op = "div2"
type = "Float"

I'll also think about how to handle this better.

The Exac dataset is the default one that comes with gemini installation. It says tidy so I am assuming it was already decomposed and normalized using vt. Isn't that so?

yes, that is so. the vcf header must not have been adjusted, I guess. Did making the change to the conf file help?

Yes it did. So Exac vcf wasn't decomposed properly I guess? I guess I will go with using min/max values instead of self to circumvent this problem in the future. Thanks!!

ok. please keep us posted. we are using the new loader as well, but you are bound to find issue we haven't seen.

and I'll see how to improve the situation for cases like the one you report.

authors: brentp komalsrathi


text:
Add missing link to migration script

The link to the migration script that refers the documentation was missing.

Thank you @gutiory 🙌

authors: gutiory nomisRev

repo: arrow-kt/arrow-website


text:
Use org.freedesktop.portal.Trash

Sandboxed applications (Flatpak/Snap) usually don't have direct filesystem access to the Trash directory in ~/.local/share/Trash and the $XDG_DATA_HOME variable inside the sandbox is set to $HOME/.var/app/<application-id>/data (for flatpak). So files are ending in the "wrong" trashcan.
Adding a permanent filesystem hole to ~/.local/share/Trash  is not desirable for sandboxed applications.
Please consider using the Trash portal https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.portal.Trash
Thanks!

Ah I just realised this is a dupe of https://github.com/arsenetar/send2trash/issues/46


text:
androidGradlePlugin in dependencies

Hello,
can you tell me what the significance of this item is in your dependencies.gradle:
androidGradlePlugin          : '2.0.0'
It is not used anywhere at all.  Can you tell me what the 2.0.0 refers to?
Thank you,
Igor

It is used in dependencies.gradle below.
Concept here is that all versions are in version map, all artifacts are in libraries and gradlePlugins maps.

I see.  Unfortunately when I do a global search in Android Studio 2.2 for androidGradlePlugin, it returns no results because this string is in a Groovy closure.  Very confusing.

@artem-zinnatullin Thanks for this nice sample!  @changetip $1

Hi @artem-zinnatullin, @IgorGanapolsky sent you a tip worth 1,449 bits ($1.00), and I'm here to deliver it ➔ collect your tip.
Learn more about ChangeTip

Hah, thanks :D

repo: artem-zinnatullin/qualitymatters


text:
🛑 Invidious is down

In 6977ffc, Invidious (https://yt.artemislena.eu) was down:

HTTP code: 502
Response time: 6655 ms

Resolved: Invidious is back up in 84ac6ad.

repo: artemislena/upptime


text:
🛑 Invidious is down

In 4baed1a, Invidious (https://yt.artemislena.eu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Invidious is back up in a8682f8.


text:
🛑 Nitter is down

In c4d6e51, Nitter (https://tw.artemislena.eu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nitter is back up in d73efd8.


text:
🛑 Libreddit is down

In 286e208, Libreddit (https://lr.artemislena.eu) was down:

HTTP code: 404
Response time: 980 ms

Resolved: Libreddit is back up in 85d1e8e after 281 days, 16 hours, 30 minutes.


text:
🛑 ProxiTok is down

In 8e72bf9, ProxiTok (https://tok.artemislena.eu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ProxiTok is back up in 203b77a after 23 hours, 59 minutes.


text:
Work on versioning

Understand and implement the necessary means to keep versions updated.

contemplet by https://github.com/arthurpaulino/miraiml/commit/94cb851c3dc0533b80e7d9a4366f4674258ce6ee

repo: arthurpaulino/miraiml