diff --git a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/cli/KubevirtListApiConfigsCommand.java b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/cli/KubevirtListApiConfigsCommand.java
index 5b9c268..75d4ced 100644
--- a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/cli/KubevirtListApiConfigsCommand.java
+++ b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/cli/KubevirtListApiConfigsCommand.java
@@ -33,7 +33,7 @@
         description = "Lists all KubeVirt API server configs registered to the service")
 public class KubevirtListApiConfigsCommand extends AbstractShellCommand {
 
-    private static final String FORMAT = "%-10s%-20s%-10s%-25s%-10s";
+    private static final String FORMAT = "%-10s%-20s%-10s%-25s%-10s%-20s%-20s";
 
     @Override
     protected void doExecute() throws Exception {
@@ -43,14 +43,14 @@
         if (outputJson()) {
             print("%s", json(config));
         } else {
-            print(FORMAT, "Scheme", "Server IP", "Port", "Controller IP", "State");
+            print(FORMAT, "Scheme", "Server IP", "Port", "Controller IP", "State", "Datacenter ID", "Cluster ID");
             String controllerIp = "N/A";
             if (config != null) {
                 if (config.controllerIp() != null) {
                     controllerIp = config.controllerIp().toString();
                 }
                 print(FORMAT, config.scheme().name(), config.ipAddress().toString(),
-                        config.port(), controllerIp, config.state().name());
+                        config.port(), controllerIp, config.state().name(), config.datacenterId(), config.clusterId());
             } else {
                 print("Kubevirt config not found!");
             }
