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:
parent
95f637e6c1
commit
dae7c63ba7
3 changed files with 21 additions and 9 deletions
|
@ -256,26 +256,27 @@ function wizard_add()
|
|||
end
|
||||
|
||||
-- Retrieve all server settings
|
||||
local getconf = 0
|
||||
local serversnb = 0
|
||||
local servers = luci.http.formvaluetable("server")
|
||||
for server, _ in pairs(servers) do
|
||||
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
|
||||
local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or ""
|
||||
ucic:set("openmptcprouter",server,"server")
|
||||
ucic:set("openmptcprouter",server,"username","openmptcprouter")
|
||||
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")
|
||||
getconf = getconf + 1
|
||||
ucic:set("openmptcprouter",server,"master","1")
|
||||
ucic:set("openmptcprouter",server,"backup","0")
|
||||
else
|
||||
ucic:set("openmptcprouter",server,"get_config","0")
|
||||
ucic:set("openmptcprouter",server,"master","0")
|
||||
ucic:set("openmptcprouter",server,"backup","1")
|
||||
end
|
||||
ucic:set("openmptcprouter",server,"ip",server_ip)
|
||||
ucic:set("openmptcprouter",server,"backup",backup)
|
||||
ucic:set("openmptcprouter",server,"port","65500")
|
||||
ucic:save("openmptcprouter")
|
||||
if server_ip ~= "" then
|
||||
|
@ -290,13 +291,13 @@ function wizard_add()
|
|||
local ss_ip
|
||||
|
||||
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 ""
|
||||
-- We have an IP, so set it everywhere
|
||||
if server_ip ~= "" then
|
||||
-- Check if we have more than one IP, in this case use Nginx HA
|
||||
if serversnb > 1 then
|
||||
if backup == "0" then
|
||||
if master == server then
|
||||
ss_ip=server_ip
|
||||
table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=2 fail_timeout=20s")
|
||||
table.insert(ss_servers_ha,server_ip .. ":65101 check")
|
||||
|
|
|
@ -88,9 +88,13 @@ end
|
|||
%>
|
||||
<br />
|
||||
<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">
|
||||
<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>
|
||||
<%
|
||||
|
|
|
@ -33,6 +33,13 @@ if [ "$(uci -q get openmptcprouter.vps)" != "server" ]; then
|
|||
commit openmptcprouter
|
||||
EOF
|
||||
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
|
||||
uci -q batch <<-EOF
|
||||
set openmptcprouter.omr=router
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue