1) Render the app with the parameters file.
2) Install the app with the parameters file.
3) Inspect the installed service's environment variables spec.
Describe the results you received:
Running docker app render with the parameters file shows SOME_ENV with the value 9999.
But, when installed, the configs.a.b.c value from the parameters file is not always applied. SOME_ENV sometimes has the value 1111 from the app's default parameters, and sometimes has the value 9999 from the parameters file. The other parameter (configs.d) is always substituted correctly.
Bad install:
$ docker app install dots --parameters-file params.yml
Creating network dots_default
Creating service dots_nginx
Application "dots" installed on context "default"
$ docker service inspect dots_nginx --format '{{ .Spec.TaskTemplate.ContainerSpec.Env }}'
[ANOTHER_ENV=ZZZZ SOME_ENV=1111]
Good install:
$ docker app install dots --parameters-file params.yml
Creating network dots_default
Creating service dots_nginx
Application "dots" installed on context "default"
$ docker service inspect dots_nginx --format '{{ .Spec.TaskTemplate.ContainerSpec.Env }}'
[ANOTHER_ENV=ZZZZ SOME_ENV=9999]
Describe the results you expected:
SOME_ENV should always have the value 9999 instead of 1111, in this example.
Additional information you deem important (e.g. issue happens only occasionally):
The bad substitution doesn't always happen. Seems random to me, whether it will work or not.
Output of docker version:
Client: Docker Engine - Community
Version: 19.03.0-rc2
API version: 1.40
Go version: go1.12.5
Git commit: f97efcc
Built: Wed Jun 5 01:37:53 2019
OS/Arch: darwin/amd64
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 19.03.0-rc2
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: f97efcc
Built: Wed Jun 5 01:42:10 2019
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
Output of docker app version:
Version: v0.8.0-rc1
Git commit: 73d86744
Built: Wed Jun 5 01:45:27 2019
OS/Arch: darwin/amd64
Experimental: off
Renderers: none
Invocation Base Image: docker/cnab-app-base:v0.8.0-rc1
Description
If a parameter name has dots in it, the parameter values are resolved correctly when rendered, but not always when the app is installed.
Steps to reproduce the issue:
Given the following app and parameter files.
dots.dockerapp
params.yml
1) Render the app with the parameters file. 2) Install the app with the parameters file. 3) Inspect the installed service's environment variables spec.
Describe the results you received:
Running
docker app render
with the parameters file showsSOME_ENV
with the value9999
.But, when installed, the
configs.a.b.c
value from the parameters file is not always applied.SOME_ENV
sometimes has the value1111
from the app's default parameters, and sometimes has the value9999
from the parameters file. The other parameter (configs.d
) is always substituted correctly.Bad install:
Good install:
Describe the results you expected:
SOME_ENV
should always have the value9999
instead of1111
, in this example.Additional information you deem important (e.g. issue happens only occasionally):
The bad substitution doesn't always happen. Seems random to me, whether it will work or not.
Output of
docker version
:Output of
docker app version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.):