Skip to content

Commit

Permalink
feat(clustering): remove rpc of dynamic log level (#13766)
Browse files Browse the repository at this point in the history
  • Loading branch information
chronolaw authored Nov 5, 2024
1 parent a44e59d commit d4ab528
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 300 deletions.
6 changes: 0 additions & 6 deletions changelog/unreleased/kong/dynamic-log-level-rpc.yml

This file was deleted.

1 change: 0 additions & 1 deletion kong-3.9.0-0.rockspec
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ build = {
["kong.clustering.rpc.utils"] = "kong/clustering/rpc/utils.lua",
["kong.clustering.rpc.concentrator"] = "kong/clustering/rpc/concentrator.lua",

["kong.clustering.services.debug"] = "kong/clustering/services/debug.lua",
["kong.clustering.services.sync"] = "kong/clustering/services/sync/init.lua",
["kong.clustering.services.sync.rpc"] = "kong/clustering/services/sync/rpc.lua",
["kong.clustering.services.sync.hooks"] = "kong/clustering/services/sync/hooks.lua",
Expand Down
70 changes: 0 additions & 70 deletions kong/clustering/services/debug.lua

This file was deleted.

4 changes: 0 additions & 4 deletions kong/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -699,10 +699,6 @@ function Kong.init()
kong.sync = require("kong.clustering.services.sync").new(db, is_control_plane(config))
kong.sync:init(kong.rpc)
end

if is_data_plane(config) then
require("kong.clustering.services.debug").init(kong.rpc)
end
end
end

Expand Down
10 changes: 7 additions & 3 deletions spec/02-integration/18-hybrid_rpc/01-rpc_spec.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
local helpers = require "spec.helpers"
local cjson = require("cjson.safe")

for _, inc_sync in ipairs { "on", "off" } do
-- we need incremental sync to verify rpc
for _, inc_sync in ipairs { "on" } do
for _, strategy in helpers.each_strategy() do
describe("Hybrid Mode RPC #" .. strategy .. " inc_sync=" .. inc_sync, function()

Expand Down Expand Up @@ -50,12 +51,15 @@ for _, strategy in helpers.each_strategy() do
local body = assert.res_status(200, res)
local json = cjson.decode(body)

assert(json)

-- TODO: perhaps need a new test method
for _, v in pairs(json.data) do
if v.ip == "127.0.0.1" and v.rpc_capabilities and #v.rpc_capabilities ~= 0 then
table.sort(v.rpc_capabilities)
assert.near(14 * 86400, v.ttl, 3)
-- kong.debug.log_level.v1 should be the first rpc service
assert.same("kong.debug.log_level.v1", v.rpc_capabilities[1])
-- check the available rpc service
assert.same("kong.sync.v2", v.rpc_capabilities[1])
return true
end
end
Expand Down
185 changes: 0 additions & 185 deletions spec/02-integration/18-hybrid_rpc/02-log-level_spec.lua

This file was deleted.

38 changes: 7 additions & 31 deletions spec/02-integration/18-hybrid_rpc/04-concentrator_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ local helpers = require "spec.helpers"
local cjson = require("cjson.safe")


local function obtain_dp_node_id()
-- keep it for future usage
local function obtain_dp_node_id() -- luacheck: ignore
local dp_node_id

helpers.wait_until(function()
Expand All @@ -27,7 +28,8 @@ local function obtain_dp_node_id()
end


for _, inc_sync in ipairs { "on", "off" } do
-- we need incremental sync to verify rpc
for _, inc_sync in ipairs { "on" } do
for _, strategy in helpers.each_strategy() do
describe("Hybrid Mode RPC over DB concentrator #" .. strategy .. " inc_sync=" .. inc_sync, function()

Expand Down Expand Up @@ -77,35 +79,9 @@ for _, strategy in helpers.each_strategy() do
helpers.stop_kong()
end)

describe("Dynamic log level over RPC", function()
it("can get the current log level", function()
local dp_node_id = obtain_dp_node_id()

-- this sleep is *not* needed for the below wait_until to succeed,
-- but it makes the wait_until tried succeed sooner because this
-- extra time gives the concentrator enough time to report the node is
-- online inside the DB. Without it, the first call to "/log-level"
-- will always timeout after 5 seconds
ngx.sleep(1)

helpers.wait_until(function()
local admin_client = helpers.admin_client()
finally(function()
admin_client:close()
end)

local res = assert(admin_client:get("/clustering/data-planes/" .. dp_node_id .. "/log-level"))
if res.status == 200 then
local body = assert.res_status(200, res)
local json = cjson.decode(body)
assert.equal(0, json.timeout)
assert.equal("debug", json.current_level)
assert.equal("debug", json.original_level)
return true
end
end, 10)
end)
end)
-- TODO: test with other rpc
--describe("XXX over RPC", function()
--end)
end)
end -- for _, strategy
end -- for inc_sync

1 comment on commit d4ab528

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bazel Build

Docker image available kong/kong:d4ab528fa2414d996861a43e58406c02b4978157
Artifacts available https://github.com/Kong/kong/actions/runs/11678834918

Please sign in to comment.