Include the coordinator in rolling fleet membership

e6592720187f · AtlantisPleb · · parent 2426f9ab2191

Include the coordinator in rolling fleet membership

Deploy story

What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.

Not deployed through the forge lane

No push, promotion, build, or deploy receipt references this commit (receipts are scanned over a bounded recent window). Changes shipped by full node replacement carry their proof in the release gate receipt instead.

Changed files

  • modified lib/openagents/forge/rolling_provider/gcp.ex
  • modified test/openagents/forge/rolling_provider/gcp_test.exs

Diff

2 files changed, +15 -0

lib/openagents/forge/rolling_provider/gcp.ex modified +4

@@ -20,9 +20,13 @@ defmodule OpenAgents.Forge.RollingProvider.Gcp do

20 20
    with {:ok, config} <- config() do
21 21
      configured = config |> Keyword.fetch!(:instances) |> Map.keys() |> MapSet.new()
22 22
23
      local_node = Keyword.get(config, :local_node, Node.self())
24
23 25
      config
24 26
      |> Keyword.get(:node_list, &connected_nodes/0)
25 27
      |> then(& &1.())
28
      |> then(&[local_node | &1])
29
      |> Enum.uniq()
26 30
      |> Enum.filter(&MapSet.member?(configured, to_string(&1)))
27 31
      |> Enum.sort()
28 32
    else
test/openagents/forge/rolling_provider/gcp_test.exs modified +11

@@ -163,6 +163,17 @@ defmodule OpenAgents.Forge.RollingProvider.GcpTest do

163 163
    assert Gcp.members() == [hd(@nodes), Enum.at(@nodes, 2)]
164 164
  end
165 165
166
  test "includes the coordinator in the configured fleet inventory" do
167
    rpc = fn _node, _module, _function, _arguments, _timeout -> :ok end
168
169
    put_config(rpc,
170
      local_node: hd(@nodes),
171
      node_list: fn -> tl(@nodes) end
172
    )
173
174
    assert Gcp.members() == @nodes
175
  end
176
166 177
  defp context do
167 178
    %{
168 179
      sha: @sha,

This page updates live while a promote is in flight · changelog