From 737e90c42a0e8bab079a675bf8f37d80a98763d3 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Fri, 2 Jun 2017 08:24:45 -0400 Subject: [PATCH] NEW API CALL: sysadm/iocage "action"="fetchreleases" This will fetch any remotely-available FreeBSD releases and update/cache them on the local system for use when spinning up jails. REQUIRED ARGUMENTS: "action" = "fetchreleases" "releases": String *or* Array of strings containing the version/release to fetch. Changelog: yes ----------------- REST Request (example): ------------------------------- PUT /sysadm/iocage { "action" : "fetchreleases", "releases" : [ "10.3-RELEASE", "10.2-RELEASE" ] } WebSocket Request: ------------------------------- { "args" : { "releases" : [ "10.3-RELEASE", "10.2-RELEASE" ], "action" : "fetchreleases" }, "name" : "iocage", "namespace" : "sysadm", "id" : "fooid" } Response: ------------------------------- { "args": { "fetchreleases": { "started_dispatcher_id": [ "sysadm_iocage_fetch_release_10.3-RELEASE", "sysadm_iocage_fetch_release_10.2-RELEASE" ] } }, "id": "fooid", "name": "response", "namespace": "sysadm" } --- src/server/WebBackend.cpp | 1 + src/server/library/sysadm-iocage.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 450f9cd..2e9f019 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -706,6 +706,7 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmIocageRequest(const QJsonVal else if(act=="listjails"){ retObj = sysadm::Iocage::listJails(); } else if(act=="listtemplates"){ retObj = sysadm::Iocage::listTemplates(); } else if(act=="listreleases"){ retObj = sysadm::Iocage::listReleases(); } + else if(act=="fetchreleases"){ retObj = sysadm::Iocage::fetchReleases(in_args.toObject()); } else if(act=="listplugins"){ retObj = sysadm::Iocage::listPlugins(); } ok = !retObj.keys().isEmpty(); if(ok){ out->insert(act,retObj); } diff --git a/src/server/library/sysadm-iocage.cpp b/src/server/library/sysadm-iocage.cpp index 37c639c..86ba97f 100644 --- a/src/server/library/sysadm-iocage.cpp +++ b/src/server/library/sysadm-iocage.cpp @@ -192,7 +192,7 @@ QJsonObject Iocage::fetchReleases(QJsonObject inobj){ QString jobprefix = "sysadm_iocage_fetch_release_"; QJsonArray started; for(int i=0; iqueueProcess(jobprefix+releases[i], "iocage fetch --verify -r "+releases[i]); started << jobprefix+releases[i];