From 647fb1917f1552779bf931844d3f8fd78e79be4c Mon Sep 17 00:00:00 2001 From: Eugenio Marzo Date: Sat, 9 Jan 2021 12:38:23 +0100 Subject: [PATCH] set max nodes to show --- main/mymodules/node.lua | 68 ++++++++++++++++++++++---------------- main/mymodules/pod_api.lua | 5 ++- main/spaceship.script | 6 ++++ 3 files changed, 48 insertions(+), 31 deletions(-) diff --git a/main/mymodules/node.lua b/main/mymodules/node.lua index ad95c23..f81b83e 100644 --- a/main/mymodules/node.lua +++ b/main/mymodules/node.lua @@ -15,16 +15,6 @@ function M.deploy_chaos_node_result(self, _, response) print(response.status) print(response.response) print(response.headers) - --msg.post("ui#gui","open_kubelinter_box",{ position = vmath.vector3(850, 550, 0) }) - --kubelinter_read = true - --kubelinter_index = 0 - - --for i,value in ipairs(kubelinter_table) do - -- kubelintermessage = value - -- kubelinter_index = kubelinter_index + 1 - -- msg.post("ui#gui", "set_kubelinter_text",{ kubelintermessage = value }) - -- break - --end end function M.http_node_metrics_result(self, _, response) @@ -37,34 +27,56 @@ end function M.http_get_nodes_result(self, _, response) kubernetes_nodes = {} + local kubernetes_nodes_temp = {} + local nodes = json.decode(response.response) + local node_items = nodes["items"] + local node_items_size = table.getn(node_items) + local pos_x = 80 + local pos_y = 500 + local nodes_cnt = 1 + print("Get nodes output") print('/api/v1/nodes response: ' .. response.status) - nodes = json.decode(response.response) - node_items = nodes["items"] - node_items_size = table.getn(node_items) print("Node table size: " .. node_items_size) - pos_x = 80 - pos_y = 500 + nodes_cnt = 1 for k, v in pairs(node_items) do for k1, v2 in pairs(v) do if v2["name"] then - print("Found k8s node: " .. v2["name"]) - pos = vmath.vector3(pos_x, pos_y, 0) - new_node = factory.create("/k8s_node#k8s_node_factory", pos) - table.insert(kubernetes_nodes,{ name = v2["name"], id = new_node }) - - if ((nodes_cnt % 15 ) == 0) then - pos_y = pos_y + 200 - pos_x = 80 - else - pos_x = pos_x + 80 - end - - nodes_cnt = nodes_cnt + 1 + table.insert(kubernetes_nodes_temp,{ name = v2["name"], id = '' }) end end end + local node_deleted = 0 + if table.getn(kubernetes_nodes_temp) > max_nodes then + print("Nodes number are greater than the max_nodes. Going to to select randomly " .. max_nodes .. " nodes") + while (table.getn(kubernetes_nodes_temp) > max_nodes) do + print("foo") + math.randomseed(os.clock()*100000000000) + table.remove(kubernetes_nodes_temp,math.random(1,max_nodes)) + node_deleted = node_deleted + 1 + end + print("New size of kubernetes_nodes table is " .. table.getn(kubernetes_nodes_temp)) + end + + kubernetes_nodes = kubernetes_nodes_temp + + for k1, v2 in pairs(kubernetes_nodes) do + if v2["name"] then + print("Found k8s node: " .. v2["name"]) + pos = vmath.vector3(pos_x, pos_y, 0) + new_node = factory.create("/k8s_node#k8s_node_factory", pos) + kubernetes_nodes[k1] = { name = v2["name"], id = new_node } + if ((nodes_cnt % 15 ) == 0) then + pos_y = pos_y + 200 + pos_x = 80 + else + pos_x = pos_x + 80 + end + + nodes_cnt = nodes_cnt + 1 + end + end end return M \ No newline at end of file diff --git a/main/mymodules/pod_api.lua b/main/mymodules/pod_api.lua index b66ec32..9ed313b 100644 --- a/main/mymodules/pod_api.lua +++ b/main/mymodules/pod_api.lua @@ -119,12 +119,11 @@ function M.http_pod_result(self, _, response) end pos.y = y_pos - if phase == "Running" and this_pod['metadata']['deletionTimestamp'] == nil then + if phase == "Running" and phase ~= "Succeeded" and this_pod['metadata']['deletionTimestamp'] == nil then local pod = factory.create("/pod#podfactory", pos) table.insert(current_pods, { id = pod , color = "white", pod_name = this_pod['metadata']['name'] }) check_current_pods = true - -- elseif phase ~= "Succeeded" then - else + elseif phase ~= "Succeeded" then local pod = factory.create("/pod_not_running#podfactory", pos) table.insert(current_pods, { id = pod , color = "red", pod_name = this_pod['metadata']['name'] }) check_current_pods = true diff --git a/main/spaceship.script b/main/spaceship.script index 55f1625..7217379 100644 --- a/main/spaceship.script +++ b/main/spaceship.script @@ -95,6 +95,12 @@ kubernetes_nodes_request_show = false -- keep time of the latest request of showing nodes latest_kubernetes_nodes_request_show = 0 +-- max number of pod to show +max_pods = 5 + +-- max number of node to show +max_nodes = 5 + local COLLISION_RESPONSE = hash("collision_response") local timer = require "main.mymodules.timer" local spaceship = require "main.mymodules.spaceship"