Skip to content

Commit

Permalink
Use node instead of cluster member
Browse files Browse the repository at this point in the history
  • Loading branch information
zacksiri committed Jan 9, 2025
1 parent b966cd6 commit fef4c5b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
8 changes: 6 additions & 2 deletions lib/uplink/availability.ex
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,13 @@ defmodule Uplink.Availability do
Query.index_types()
|> Enum.map(&Metrics.index/1)

members = LXD.list_cluster_members()
nodes =
LXD.list_cluster_members()
|> Enum.map(fn member ->
LXD.get_node(member.server_name)
end)

query = Query.build(members, indices)
query = Query.build(nodes, indices)

Metrics.query!(monitor, query)
end
Expand Down
10 changes: 5 additions & 5 deletions lib/uplink/availability/query.ex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
defmodule Uplink.Availability.Query do
alias Uplink.Clients.LXD.Node
alias Uplink.Availability.Attribute
alias Uplink.Clients.LXD.Cluster.Member

@metrics_mappings %{
"metrics-system.memory-" => :memory,
Expand Down Expand Up @@ -33,16 +33,16 @@ defmodule Uplink.Availability.Query do
Map.values(@metrics_mappings)
end

@spec build([Member.t()] | Member.t(), [String.t()]) :: String.t()
def build(members, indices) when is_list(members) do
members
@spec build([Node.t()] | Member.t(), [String.t()]) :: String.t()
def build(nodes, indices) when is_list(members) do
nodes
|> Enum.flat_map(fn node ->
build(node, indices)
end)
|> Enum.join("\n")
end

def build(%Member{server_name: key}, indices)
def build(%Node{name: key}, indices)
when is_list(indices) do
valid_prefixes = Map.keys(@metrics_mappings)

Expand Down
2 changes: 2 additions & 0 deletions lib/uplink/clients/lxd/node.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ defmodule Uplink.Clients.LXD.Node do
use Ecto.Schema
import Ecto.Changeset

@type t :: %__MODULE__{}

@derive Jason.Encoder

@primary_key false
Expand Down
2 changes: 2 additions & 0 deletions test/uplink/availability_test.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
defmodule Uplink.AvailabilityTest do
end

0 comments on commit fef4c5b

Please sign in to comment.