luci-app-lxc: small fixes & cosmetics
* backingstore support via ubus does not work, remove it for now * fix target mapping for linuximages.org * cosmetics Signed-off-by: Dirk Brenken <dev@brenken.org>
This commit is contained in:
parent
2b43ebe92f
commit
b198de11bc
3 changed files with 32 additions and 30 deletions
|
@ -19,6 +19,7 @@ module("luci.controller.lxc", package.seeall)
|
|||
local uci = require "luci.model.uci".cursor()
|
||||
local util = require "luci.util"
|
||||
local nx = require "nixio"
|
||||
local url = uci:get("lxc", "lxc", "url")
|
||||
|
||||
function index()
|
||||
if not nixio.fs.access("/etc/config/lxc") then
|
||||
|
@ -38,12 +39,12 @@ function index()
|
|||
end
|
||||
|
||||
function lxc_get_downloadable()
|
||||
local target = lxc_get_arch_target()
|
||||
local templates = {}
|
||||
local target = lxc_get_arch_target(url)
|
||||
local ssl_status = lxc_get_ssl_status()
|
||||
local templates = {}
|
||||
|
||||
local f = io.popen('sh /usr/share/lxc/templates/lxc-download --list %s --server %s 2>/dev/null'
|
||||
%{ ssl_status, util.shellquote(uci:get("lxc", "lxc", "url")) }, 'r')
|
||||
%{ ssl_status, util.shellquote(url) }, 'r')
|
||||
local line
|
||||
for line in f:lines() do
|
||||
local dist, version, dist_target = line:match("^(%S+)%s+(%S+)%s+(%S+)%s+default%s+%S+$")
|
||||
|
@ -65,18 +66,17 @@ function lxc_create(lxc_name, lxc_template)
|
|||
return
|
||||
end
|
||||
|
||||
local ssl_status = lxc_get_ssl_status()
|
||||
|
||||
local src_err
|
||||
local ssl_status = lxc_get_ssl_status()
|
||||
local lxc_dist, lxc_release = lxc_template:match("^(.+):(.+)$")
|
||||
luci.http.write(util.ubus("lxc", "create", {
|
||||
name = lxc_name,
|
||||
template = "download",
|
||||
args = {
|
||||
"--server", uci:get("lxc", "lxc", "url"),
|
||||
"--server", url,
|
||||
"--dist", lxc_dist,
|
||||
"--release", lxc_release,
|
||||
"--arch", lxc_get_arch_target(),
|
||||
"--arch", lxc_get_arch_target(url),
|
||||
ssl_status
|
||||
}
|
||||
}), src_err)
|
||||
|
@ -153,19 +153,21 @@ function lxc_configuration_set(lxc_name)
|
|||
luci.http.write("0")
|
||||
end
|
||||
|
||||
function lxc_get_arch_target()
|
||||
function lxc_get_arch_target(url)
|
||||
local target = nx.uname().machine
|
||||
local target_map = {
|
||||
armv5 = "armel",
|
||||
armv6 = "armel",
|
||||
armv7 = "armhf",
|
||||
armv8 = "arm64",
|
||||
x86_64 = "amd64"
|
||||
}
|
||||
local k, v
|
||||
for k, v in pairs(target_map) do
|
||||
if target:find("^" ..k.. "$") then
|
||||
return v
|
||||
if url and url:match("images.linuxcontainers.org") then
|
||||
local target_map = {
|
||||
armv5 = "armel",
|
||||
armv6 = "armel",
|
||||
armv7 = "armhf",
|
||||
armv8 = "arm64",
|
||||
x86_64 = "amd64"
|
||||
}
|
||||
local k, v
|
||||
for k, v in pairs(target_map) do
|
||||
if target:find(k) then
|
||||
return v
|
||||
end
|
||||
end
|
||||
end
|
||||
return target
|
||||
|
|
|
@ -16,7 +16,7 @@ Author: Petar Koretic <petar.koretic@sartura.hr>
|
|||
|
||||
m = Map("lxc", translate("LXC Containers"),
|
||||
translate("<b>Please note:</b> For LXC Containers you need a custom OpenWrt image.<br />")
|
||||
.. translate("The image should include at least support for 'kernel cgroups', 'kernel namespaces' and 'miscellaneous LXC related options'."))
|
||||
.. translate("The image should include at least support for 'kernel cgroups', 'kernel namespaces' and 'miscellaneous LXC related options' plus 'kmod-veth' for optional network support."))
|
||||
m:section(SimpleSection).template = "lxc"
|
||||
|
||||
s = m:section(TypedSection, "lxc", translate("Options"))
|
||||
|
|
|
@ -19,8 +19,8 @@ local nx = require "nixio"
|
|||
local target = nx.uname().machine
|
||||
-%>
|
||||
|
||||
<fieldset class="cbi-section">
|
||||
<legend><%:Available Containers%></legend>
|
||||
<div class="cbi-section">
|
||||
<h3><%:Available Containers%></h3>
|
||||
<div class="cbi-section-node">
|
||||
<div class="table cbi-section-table" id="t_lxc_list">
|
||||
<div class="tr cbi-section-table-titles">
|
||||
|
@ -30,15 +30,15 @@ local target = nx.uname().machine
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<fieldset class="cbi-section">
|
||||
<div class="cbi-section">
|
||||
<span id="lxc-list-output"></span>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<fieldset class="cbi-section">
|
||||
<legend><%:Create New Container%></legend>
|
||||
<div class="cbi-section">
|
||||
<h3><%:Create New Container%></h3>
|
||||
<div class="cbi-section-node">
|
||||
<div class="table cbi-section-table" id="t_lxc_create">
|
||||
<div class="tr cbi-section-table-titles">
|
||||
|
@ -56,11 +56,11 @@ local target = nx.uname().machine
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<fieldset class="cbi-section">
|
||||
<div class="cbi-section">
|
||||
<span id="lxc-add-output"></span>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
|
Loading…
Reference in a new issue