Prior to this patch, if the openssl command returned a zero exit code
and wrote details to stderr, nova would raise a RuntimeError exception.
This patch changes the behavior to only raise a RuntimeError exception
when openssl returns a non-zero exit code. Regardless of the exit code
a warning will always be logged with stderr details if stderr is not
None. Note that processutils.execute will now raise a
processutils.ProcessExecutionError exception for any non-zero exit code
since we are passing check_exit_code=True, which we convert to a
Runtime error.
Thanks to Dimitri John Ledkov <xnox@ubuntu.com> and Eric Fried
<openstack@fried.cc> for helping with this patch.
Conflicts:
nova/virt/xenapi/agent.py
NOTE(coreycb): The conflict is due to
Ibe2f478288db42f8168b52dfc14d85ab92ace74b not being in stable/rocky.
Change-Id: I212ac2b5ccd93e00adb7b9fe102fcb70857c6073
Partial-Bug: #1771506
(cherry picked from commit 1da71fa4ab)
(cherry picked from commit 64793cf6f7)