Merge pull request #1920 from dibdot/lxc_fix
authorDirk Brenken <dev@brenken.org>
Sat, 30 Jun 2018 21:08:16 +0000 (23:08 +0200)
committerGitHub <noreply@github.com>
Sat, 30 Jun 2018 21:08:16 +0000 (23:08 +0200)
luci-app-lxc: small fixes & cosmetics

applications/luci-app-lxc/luasrc/controller/lxc.lua
applications/luci-app-lxc/luasrc/model/cbi/lxc.lua
applications/luci-app-lxc/luasrc/view/lxc.htm

index 8557f2b82107fe8960661ec71fac50f2b3253207..dcba51bf7b417f1ae6cb7ca56de5f0df0a7628f1 100644 (file)
@@ -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
index 8a8fc2be0d532bb6f90ee2622928b7fe8f0179cb..db7d19eb26d0f3b153be6505286e641958b82fdd 100644 (file)
@@ -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"))
index b45e27f51f3fd514fa625a062bac5dd0a62470ed..47cc1a5f3f7a2bb4ceae2a3ca34bcc047cd1ea12 100644 (file)
@@ -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 />