When using virsh secret-list - if the secret types are cephx or iscsi,
then allow fetch/print of the usage information. Prior to the change
the following would print:
UUID Usage
-----------------------------------------------------------
1b40a534-8301-45d5-b1aa-11894ebb1735 Unused
a5ba3efe-6adf-4a6a-b243-f010a043e314 Unused
Afterwards:
UUID Usage
-----------------------------------------------------------
1b40a534-8301-45d5-b1aa-11894ebb1735 ceph ceph_example
a5ba3efe-6adf-4a6a-b243-f010a043e314 iscsi libvirtiscsi
---
tools/virsh-secret.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c
index 9d34c1a..30027fe 100644
--- a/tools/virsh-secret.c
+++ b/tools/virsh-secret.c
@@ -38,6 +38,7 @@
#include "virfile.h"
#include "virutil.h"
#include "virxml.h"
+#include "conf/secret_conf.h"
static virSecretPtr
vshCommandOptSecret(vshControl *ctl, const vshCmd *cmd, const char **name)
@@ -536,23 +537,19 @@ cmdSecretList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
for (i = 0; i < list->nsecrets; i++) {
virSecretPtr sec = list->secrets[i];
- const char *usageType = NULL;
-
- switch (virSecretGetUsageType(sec)) {
- case VIR_SECRET_USAGE_TYPE_VOLUME:
- usageType = _("Volume");
- break;
- }
-
+ int usageType = virSecretGetUsageType(sec);
+ const char *usageStr = virSecretUsageTypeTypeToString(usageType);
char uuid[VIR_UUID_STRING_BUFLEN];
+
if (virSecretGetUUIDString(list->secrets[i], uuid) < 0) {
vshError(ctl, "%s", _("Failed to get uuid of secret"));
goto cleanup;
}
- if (usageType) {
+ if (usageType > VIR_SECRET_USAGE_TYPE_NONE &&
+ usageType < VIR_SECRET_USAGE_TYPE_LAST) {
vshPrint(ctl, "%-36s %s %s\n",
- uuid, usageType,
+ uuid, usageStr,
virSecretGetUsageID(sec));
} else {
vshPrint(ctl, "%-36s %s\n",
--
1.8.3.1