tripleo-ansible/tripleo_ansible/roles/tripleo_multipathd/tasks
Alan Bishop a3f9d84534 Fix how tripleo_multipathd updates multipath.conf
This patch fixes a problem that causes a stack update to fail as a
result of changing the multipathd configuration. The original code
modifies /etc/multipath.conf on the host, and uses "podman cp" to
refresh the contents of the containers that require a copy.

The original intent was to avoid restarting containers that
asynchronously read from /etc/multipath.conf, but that approach no
longer works. Instead, the new code restarts each container that
needs its multipath.conf file refreshed.

At some point, podman (or something related) started using locks on
files used in a container volume mount. Now, attempts to update the
contents of /etc/multipath.conf inside a container will fail. Here's
an example when running the same command that tripleo_multipathd
executes:

[root@standalone ~]# podman cp /etc/multipath.conf multipathd:/etc/
Error: 2 errors occurred:
        * error copying to container: copier: put: error creating "/etc/multipath.conf": copier: put: error removing item to be overwritten "/etc/multipath.conf": unlinkat /etc/multipath.conf: device or resource busy
        * error copying from host: copier: get: "/etc/multipath.conf": error copying /etc/multipath.conf: io: read/write on closed pipe

Depends-On: Ia6a8d27fd2ae6310544bc3767cf7f1fb246939c3
Change-Id: I6bd5249e3cf930108f93aee1dbcad76dda94eaee
(cherry picked from commit 91768c6e69)
2022-02-15 17:10:47 -08:00
..
configure.yml Ensure we get the relevant fcontext overrides 2021-06-21 09:56:05 +02:00
host_prep.yml Ensure we get the relevant fcontext overrides 2021-06-21 09:56:05 +02:00
main.yml Fix how tripleo_multipathd updates multipath.conf 2022-02-15 17:10:47 -08:00
restart.yml Fix how tripleo_multipathd updates multipath.conf 2022-02-15 17:10:47 -08:00