Bug Description
In cmd/virtwork/main.go, the service creation loop calls registry.Get() and silently discards errors with continue (around line 447). This is inconsistent with the identical call earlier in the same function (around line 280), which properly returns the error. A workload that fails to initialize for service creation is silently skipped — no log message, no audit record, no error returned to the user.
Steps to Reproduce
- Configure a workload with invalid parameters that cause
registry.Get() to fail
- Run
virtwork run — the workload's service creation is silently skipped
- The VMs may still be created (from the earlier successful
registry.Get call) but without their required service
- No error or warning is shown to the user
Expected Behavior
The error should either be returned (consistent with the earlier call) or at minimum logged and recorded in the audit trail. If a workload requires a service and the service cannot be created, this should be surfaced to the user.
Actual Behavior
w, err := registry.Get(name, wlCfg, registryOpts...)
if err != nil {
continue // silent skip — no log, no audit, no error
}
The error is silently swallowed and the loop continues to the next workload.
Command
virtwork run
Affected Files
cmd/virtwork/main.go — service creation loop registry.Get() error handling (around line 447) vs proper error handling at line 280
Bug Description
In
cmd/virtwork/main.go, the service creation loop callsregistry.Get()and silently discards errors withcontinue(around line 447). This is inconsistent with the identical call earlier in the same function (around line 280), which properly returns the error. A workload that fails to initialize for service creation is silently skipped — no log message, no audit record, no error returned to the user.Steps to Reproduce
registry.Get()to failvirtwork run— the workload's service creation is silently skippedregistry.Getcall) but without their required serviceExpected Behavior
The error should either be returned (consistent with the earlier call) or at minimum logged and recorded in the audit trail. If a workload requires a service and the service cannot be created, this should be surfaced to the user.
Actual Behavior
The error is silently swallowed and the loop continues to the next workload.
Command
virtwork run
Affected Files
cmd/virtwork/main.go— service creation loopregistry.Get()error handling (around line 447) vs proper error handling at line 280