When a remote node not return a json, we got and error.
This is fixing this:
pvesh set /nodes/localname/network
UPID:kvmformation2:
0034937B:
09352894:
5E41106C:srvreload:networking:root@pam:
pvesh set /nodes/remotenode/network
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at /usr/share/perl5/PVE/CLI/pvesh.pm line 125.
This patch simply return raw result if it's not a json
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE::Tools::run_command($remcmd, errmsg => "proxy handler failed",
outfunc => sub { $json .= shift });
- return decode_json($json);
+ my $decoded_json = undef;
+ eval {
+ $decoded_json = decode_json($json);
+ };
+ if ($@) {
+ return $json;
+ }
+ return $decoded_json;
}
sub extract_children {