From 91a2c700cbaebb2c9570a72939230ccca8f0ffd4 Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Thu, 3 Mar 2016 14:22:53 -0500 Subject: [PATCH] Add API call to show iohyve version REST Request: ------------------------------- PUT /sysadm/iohyve { "action" : "version" } WebSocket Request: ------------------------------- { "namespace" : "sysadm", "args" : { "action" : "version" }, "id" : "fooid", "name" : "iohyve" } Response: ------------------------------- { "args": { "version": { "version": "iohyve v0.7.3 2016/01/08 Bear in a Datacenter Edition" } }, "id": "fooid", "name": "response", "namespace": "sysadm" } --- src/server/WebBackend.cpp | 4 ++++ src/server/library/sysadm-iohyve.cpp | 10 +++++++++- src/server/library/sysadm-iohyve.h | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index eb60c8b..c3cf76c 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -648,6 +648,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmIohyveRequest(const QJsonVal ok = true; out->insert("stop", sysadm::Iohyve::stopGuest(in_args.toObject())); } + else if(act=="version"){ + ok = true; + out->insert("version", sysadm::Iohyve::version()); + } //qDebug() << " - iohyve action finished:" << act << ok; } //end of "action" key usage diff --git a/src/server/library/sysadm-iohyve.cpp b/src/server/library/sysadm-iohyve.cpp index e6d938c..b7d3b24 100644 --- a/src/server/library/sysadm-iohyve.cpp +++ b/src/server/library/sysadm-iohyve.cpp @@ -252,7 +252,6 @@ QJsonObject Iohyve::listDisks(QJsonObject jsin) { return retObject; } - // List the VMs on the box QJsonObject Iohyve::listVMs() { QJsonObject retObject; @@ -479,3 +478,12 @@ QJsonObject Iohyve::stopGuest(QJsonObject jsin) { retObject.insert("name", name); return retObject; } + +// List the version of iohyve +QJsonObject Iohyve::version() { + QJsonObject retObject; + QString output = General::RunCommand("iohyve version").simplified(); + retObject.insert("version", output); + return retObject; +} + diff --git a/src/server/library/sysadm-iohyve.h b/src/server/library/sysadm-iohyve.h index 81e469c..7ba98f9 100644 --- a/src/server/library/sysadm-iohyve.h +++ b/src/server/library/sysadm-iohyve.h @@ -31,6 +31,7 @@ public: static QJsonObject setupIohyve(QJsonObject); static QJsonObject startGuest(QJsonObject); static QJsonObject stopGuest(QJsonObject); + static QJsonObject version(); };