Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 19 additions & 7 deletions cartridge/lua-api/edit-topology.lua
Original file line number Diff line number Diff line change
Expand Up @@ -331,10 +331,14 @@ local function edit_topology(args)
}
end

local servers = args.servers
if servers == nil then
servers = {}
end
local i = 0
for _, srv in pairs(args.servers or {}) do
for _, srv in pairs(servers) do
i = i + 1
if args.servers[i] == nil then
if servers[i] == nil then
error('bad argument args.servers' ..
' to edit_topology (it must be a contiguous array)', 2
)
Expand All @@ -346,10 +350,14 @@ local function edit_topology(args)
end
end

local replicasets = args.replicasets
if replicasets == nil then
replicasets = {}
end
local i = 0
for _, rpl in pairs(args.replicasets or {}) do
for _, rpl in pairs(replicasets) do
i = i + 1
if args.replicasets[i] == nil then
if replicasets[i] == nil then
error('bad argument args.replicasets' ..
' to edit_topology (it must be a contiguous array)', 2
)
Expand Down Expand Up @@ -422,12 +430,16 @@ local function edit_topology(args)
return nil, err
end

for _, srv in pairs(args.servers or {}) do
for _, srv in pairs(servers) do
table.insert(ret.servers, topology.servers[srv.uuid])
end

for _, rpl in pairs(args.replicasets or {}) do
for _, srv in pairs(rpl.join_servers or {}) do
for _, rpl in pairs(replicasets) do
local join_servers = rpl.join_servers
if join_servers == nil then
join_servers = {}
end
for _, srv in pairs(join_servers) do
table.insert(ret.servers, topology.servers[srv.uuid])
end
table.insert(ret.replicasets, topology.replicasets[rpl.uuid])
Expand Down
Loading