Merge pull request #1851 from dibdot/lxc_fix

luci-app-lxc: made container creation more reliable
This commit is contained in:
Dirk Brenken 2018-06-04 09:07:45 +02:00 committed by GitHub
commit 1ce88dced6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 10 deletions

View file

@ -18,7 +18,7 @@ module("luci.controller.lxc", package.seeall)
local uci = require "luci.model.uci".cursor()
local util = require "luci.util"
local fs = require "nixio"
local nx = require "nixio"
function index()
if not nixio.fs.access("/etc/config/lxc") then
@ -60,8 +60,8 @@ end
function lxc_create(lxc_name, lxc_template)
luci.http.prepare_content("text/plain")
local check = lxc_get_config_path()
if not check then
local path = lxc_get_config_path()
if not path then
return
end
@ -80,6 +80,10 @@ function lxc_create(lxc_name, lxc_template)
ssl_status
}
}), src_err)
while (nx.fs.access(path .. lxc_name .. "/partial")) do
nx.nanosleep(1)
end
end
function lxc_action(lxc_action, lxc_name)
@ -96,7 +100,7 @@ function lxc_get_config_path()
local ret = content:match('^%s*lxc.lxcpath%s*=%s*([^%s]*)')
if ret then
if nixio.fs.access(ret) then
if nx.fs.access(ret) then
local min_space = tonumber(uci:get("lxc", "lxc", "min_space")) or 100000
local free_space = tonumber(util.exec("df " ..ret.. " | awk '{if(NR==2)print $4}'"))
if free_space and free_space >= min_space then
@ -150,7 +154,7 @@ function lxc_configuration_set(lxc_name)
end
function lxc_get_arch_target()
local target = fs.uname().machine
local target = nx.uname().machine
local target_map = {
armv5 = "armel",
armv6 = "armel",

View file

@ -15,8 +15,8 @@ Author: Petar Koretic <petar.koretic@sartura.hr>
-%>
<%-
local fs = require "nixio"
local target = fs.uname().machine
local nx = require "nixio"
local target = nx.uname().machine
-%>
<fieldset class="cbi-section">
@ -159,7 +159,7 @@ local target = fs.uname().machine
var div3 = document.createElement("div");
div3.className = "td";
div3.style.width = "50%";
div3.innerHTML = actions
div3.innerHTML = actions;
document.getElementById("t_lxc_list").appendChild(div0);
div0.appendChild(div1);
@ -213,8 +213,8 @@ local target = fs.uname().machine
}
else if (action == "destroy")
{
var div = self.parentNode.parentNode
var img = div.querySelector('img')
var div = self.parentNode.parentNode;
var img = div.querySelector('img');
if (img.getAttribute('src') != window.img["red"])
{