luci-app-lxc: Use correct path for configuration
authorMichal Hrusecky <redacted>
Thu, 9 Jun 2016 07:42:15 +0000 (09:42 +0200)
committerMichal Hrusecky <redacted>
Thu, 9 Jun 2016 07:42:15 +0000 (09:42 +0200)
Adjusting LuCI app for LXC to try to read path to your LXC containers from
configuration file and if not succeeding falling back to /srv/lxc to match
previous commit.

Signed-off-by: Michal Hrusecky <redacted>
utils/luci-app-lxc/files/controller/lxc.lua

index f3f5d07ba78da9d20792add2f79b225608df5854..de4fa9ff5caf059e7c401fd2d807b61acae8f751 100644 (file)
@@ -93,10 +93,22 @@ function lxc_action(lxc_action, lxc_name)
        luci.http.write_json(ec and {} or data)
 end
 
+function lxc_get_config_path()
+       local f = io.open("/etc/lxc/lxc.conf", "r")
+       local content = f:read("*all")
+       f:close()
+       local ret = content:match('^%s*lxc.lxcpath%s*=%s*([^%s]*)')
+       if ret then
+               return ret .. "/"
+       else
+               return "/srv/lxc/"
+       end
+end
+
 function lxc_configuration_get(lxc_name)
        luci.http.prepare_content("text/plain")
 
-       local f = io.open("/lxc/" .. lxc_name .. "/config", "r")
+       local f = io.open(lxc_get_config_path() .. lxc_name .. "/config", "r")
        local content = f:read("*all")
        f:close()
 
@@ -112,7 +124,7 @@ function lxc_configuration_set(lxc_name)
                return luci.http.write("1")
        end
 
-       local f, err = io.open("/lxc/" .. lxc_name .. "/config","w+")
+       local f, err = io.open(lxc_get_config_path() .. lxc_name .. "/config","w+")
        if not f then
                return luci.http.write("2")
        end
git clone https://git.99rst.org/PROJECT