]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tools: virsh: metadata: do not report error on missing metadata
authorJán Tomko <jtomko@redhat.com>
Thu, 20 Feb 2025 22:23:34 +0000 (23:23 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 3 Apr 2025 12:08:30 +0000 (14:08 +0200)
Similarly to `desc` and `net-desc`, return an empty string if
there is no metadata to be returned.

https://issues.redhat.com/browse/RHEL-27172

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tools/virsh-domain.c
tools/virsh-network.c

index ceff6789d8c67c1661ea13e7fadc94bbfa766d66..c0ea4cd184c6cddd5a2c2d68b9f177b72b0acab5 100644 (file)
@@ -8933,8 +8933,14 @@ cmdMetadata(vshControl *ctl, const vshCmd *cmd)
         g_autofree char *data = NULL;
         /* get */
         if (!(data = virDomainGetMetadata(dom, VIR_DOMAIN_METADATA_ELEMENT,
-                                          uri, flags)))
-            return false;
+                                          uri, flags))) {
+            if (virGetLastErrorCode() == VIR_ERR_NO_DOMAIN_METADATA) {
+                virResetLastError();
+                data = g_strdup("");
+            } else {
+                return false;
+            }
+        }
 
         vshPrint(ctl, "%s\n", data);
     }
index da396c000235a3c5df570c9157595f9123c138b8..5382070031085f8b384d81281e3841468d246350 100644 (file)
@@ -604,8 +604,14 @@ cmdNetworkMetadata(vshControl *ctl, const vshCmd *cmd)
 
         /* get */
         if (!(data = virNetworkGetMetadata(net, VIR_NETWORK_METADATA_ELEMENT,
-                                           uri, flags)))
-            return false;
+                                           uri, flags))) {
+            if (virGetLastErrorCode() == VIR_ERR_NO_NETWORK_METADATA) {
+                virResetLastError();
+                data = g_strdup("");
+            } else {
+                return false;
+            }
+        }
 
         vshPrint(ctl, "%s\n", data);
     }