1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Use radio to select VPS maste

This commit is contained in:
Ycarus 2019-01-14 18:13:04 +01:00
parent 95f637e6c1
commit dae7c63ba7
3 changed files with 21 additions and 9 deletions

View file

@ -256,26 +256,27 @@ function wizard_add()
end end
-- Retrieve all server settings -- Retrieve all server settings
local getconf = 0
local serversnb = 0 local serversnb = 0
local servers = luci.http.formvaluetable("server") local servers = luci.http.formvaluetable("server")
for server, _ in pairs(servers) do for server, _ in pairs(servers) do
local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" local server_ip = luci.http.formvalue("%s.server_ip" % server) or ""
local backup = luci.http.formvalue("%s.backup" % server) or "0" local master = luci.http.formvalue("master") or ""
-- OpenMPTCProuter VPS -- OpenMPTCProuter VPS
local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or "" local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or ""
ucic:set("openmptcprouter",server,"server") ucic:set("openmptcprouter",server,"server")
ucic:set("openmptcprouter",server,"username","openmptcprouter") ucic:set("openmptcprouter",server,"username","openmptcprouter")
ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key) ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key)
if backup == "0" and getconf == 0 then if master == server then
ucic:set("openmptcprouter",server,"get_config","1") ucic:set("openmptcprouter",server,"get_config","1")
getconf = getconf + 1 ucic:set("openmptcprouter",server,"master","1")
ucic:set("openmptcprouter",server,"backup","0")
else else
ucic:set("openmptcprouter",server,"get_config","0") ucic:set("openmptcprouter",server,"get_config","0")
ucic:set("openmptcprouter",server,"master","0")
ucic:set("openmptcprouter",server,"backup","1")
end end
ucic:set("openmptcprouter",server,"ip",server_ip) ucic:set("openmptcprouter",server,"ip",server_ip)
ucic:set("openmptcprouter",server,"backup",backup)
ucic:set("openmptcprouter",server,"port","65500") ucic:set("openmptcprouter",server,"port","65500")
ucic:save("openmptcprouter") ucic:save("openmptcprouter")
if server_ip ~= "" then if server_ip ~= "" then
@ -290,13 +291,13 @@ function wizard_add()
local ss_ip local ss_ip
for server, _ in pairs(servers) do for server, _ in pairs(servers) do
local backup = luci.http.formvalue("%s.backup" % server) or "0" local master = luci.http.formvalue("master") or ""
local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" local server_ip = luci.http.formvalue("%s.server_ip" % server) or ""
-- We have an IP, so set it everywhere -- We have an IP, so set it everywhere
if server_ip ~= "" then if server_ip ~= "" then
-- Check if we have more than one IP, in this case use Nginx HA -- Check if we have more than one IP, in this case use Nginx HA
if serversnb > 1 then if serversnb > 1 then
if backup == "0" then if master == server then
ss_ip=server_ip ss_ip=server_ip
table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=2 fail_timeout=20s") table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=2 fail_timeout=20s")
table.insert(ss_servers_ha,server_ip .. ":65101 check") table.insert(ss_servers_ha,server_ip .. ":65101 check")

View file

@ -88,9 +88,13 @@ end
%> %>
<br /> <br />
<div class="cbi-value"> <div class="cbi-value">
<label class="cbi-value-title"><%:Set server as backup%></label> <label class="cbi-value-title"><%:Set server as master%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input class="cbi-input-checkbox" type="checkbox" name="<%=servername%>.backup" value="1" <% if uci:get("openmptcprouter",servername,"backup") == "1" or uci:get("openmptcprouter",servername,"backup") == "" then %>checked<% end %>/> <input class="cbi-input-radio" type="radio" name="master" value="<%=servername%>" <% if uci:get("openmptcprouter",servername,"master") == "1" then %>checked<% end %>/>
<br />
<div class="cbi-value-description">
<%:Only one server can be master, else all servers are set as backup.%>
</div>
</div> </div>
</div> </div>
<% <%

View file

@ -33,6 +33,13 @@ if [ "$(uci -q get openmptcprouter.vps)" != "server" ]; then
commit openmptcprouter commit openmptcprouter
EOF EOF
fi fi
if [ "$(uci -q get openmptcprouter.vps.master)" = "" ]; then
uci -q batch <<-EOF
set openmptcprouter.vps.master=1
set openmptcprouter.vps.backup=0
commit openmptcprouter
EOF
fi
if [ "$(uci -q get openmptcprouter.omr)" != "router" ]; then if [ "$(uci -q get openmptcprouter.omr)" != "router" ]; then
uci -q batch <<-EOF uci -q batch <<-EOF
set openmptcprouter.omr=router set openmptcprouter.omr=router