tripleo-heat-templates/common
Michele Baldessari cea234d40e Use '0' instead of root in container-puppet.py
Even though the number of user lookups have been reduced from two to one
via https://github.com/containers/libpod/pull/1978, we still see the
following error from time to time:
time="2019-11-22T19:19:33Z" level=debug msg="ExitCode msg: \"unable to find user root: no matching entries in passwd file\""
time="2019-11-22T19:19:33Z" level=error msg="unable to find user root: no matching entries in passwd file"

The TLDR; is that podman/docker, when passed a --user=<name> parameter,
will parse the /etc/passwd file inside the container and detect the
uid/gid to switch to. The problem seems to be that sometimes this
/etc/passwd is either read as empty or non-existant when we try and
parse it (the root-cause of which is the real underlying bug).

Since it seems that root-causing this will take a rather large amount of
time, we can just pass the UID directly which will not fail when
the parsing code cannot find the specified user in /etc/passwd, as it
simply uses the provided UID:
https://github.com/containers/libpod/blob/master/vendor/github.com/opencontainers/runc/libcontainer/user/user.go#L333

Tested this by running a reproducer on three machines for a total
of ~800 runs and had 0 occurrences of this error. Previously I could
reproduce this issue in about 30 to 60 runs at most.

Related rhbz: 1776766
Related-Bug: #1803544

NB: Cherry-pick not 100% clean

Change-Id: Ia9860107c35e543a05775596076873ea950b7400
(cherry picked from commit 393e96b5b9)
(cherry picked from commit 871c1a3032)
2020-04-16 20:00:27 +00:00
..
services Make krb-service-principal metadata per-Role 2019-04-05 14:22:20 +00:00
container-puppet.py Use '0' instead of root in container-puppet.py 2020-04-16 20:00:27 +00:00
deploy-steps-tasks-step-0.j2.yaml Make sure we apply all deploy step-0 during update. 2019-11-25 10:31:19 +01:00
deploy-steps-tasks.yaml Merge "Check that facter.conf is a file" into stable/stein 2019-12-02 16:39:31 +00:00
deploy-steps.j2 deploy-steps: use lookup() to get pre|post_deployments_role variables 2019-12-13 09:00:11 -05:00
post.j2.yaml Consolidate puppet/docker deployments with one deploy steps workflow 2017-08-11 17:25:02 +00:00