Check dbus error on container runtime start/stop

We should evaluate the error, otherwise we risk to hang indefinately on
waiting for the `reschan` in:

64939b66c6/test/e2e_node/util.go (L419)

We also increase the timeout, because it can take a bit longer for
runtimes to determinate depending on the work they have to be done on
running containers.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
This commit is contained in:
Sascha Grunert 2023-07-10 13:42:41 +02:00
parent 64939b66c6
commit 3bae26ae58
No known key found for this signature in database
GPG Key ID: 09D97D153EF94D93

View File

@ -393,7 +393,7 @@ const (
)
func performContainerRuntimeUnitOp(op containerRuntimeUnitOp) error {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()
conn, err := dbus.NewWithContext(ctx)
@ -409,12 +409,13 @@ func performContainerRuntimeUnitOp(op containerRuntimeUnitOp) error {
switch op {
case startContainerRuntimeUnitOp:
conn.StartUnitContext(ctx, containerRuntimeUnitName, "replace", reschan)
_, err = conn.StartUnitContext(ctx, containerRuntimeUnitName, "replace", reschan)
case stopContainerRuntimeUnitOp:
conn.StopUnitContext(ctx, containerRuntimeUnitName, "replace", reschan)
_, err = conn.StopUnitContext(ctx, containerRuntimeUnitName, "replace", reschan)
default:
framework.Failf("Unexpected container runtime op: %v", op)
}
framework.ExpectNoError(err, "dbus connection error")
job := <-reschan
framework.ExpectEqual(job, "done", "Expected job to complete with done")