Handle rolling reboot transitions
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
docs/operations/release-deployment-fallbacks.md -
modified
lib/openagents/forge/rolling_provider.ex -
modified
lib/openagents/forge/rolling_provider/gcp.ex -
modified
lib/openagents/forge/rolling_replacement.ex -
modified
test/openagents/forge/rolling_provider/gcp_test.exs -
modified
test/openagents/forge/rolling_replacement_test.exs -
modified
test/support/openagents/test/rolling_provider.ex
Diff
7 files changed, +95 -7
docs/operations/release-deployment-fallbacks.md modified +11
@@ -137,6 +137,12 @@ not deployment identity. Pass only the digest to the replacement provider.
| 137 | 137 |
|
| 138 | 138 |
|
| 139 | 139 |
|
| 140 |
|
|
| 141 |
|
|
| 142 |
|
|
| 143 |
|
|
| 144 |
|
|
| 145 |
|
|
| 140 | 146 |
|
| 141 | 147 |
|
| 142 | 148 |
|
@@ -149,6 +155,11 @@ For each node, the coordinator performs this sequence:
| 149 | 155 |
|
| 150 | 156 |
|
| 151 | 157 |
|
| 158 |
|
|
| 159 |
|
|
| 160 |
|
|
| 161 |
|
|
| 162 |
|
|
| 152 | 163 |
|
| 153 | 164 |
|
| 154 | 165 |
|
lib/openagents/forge/rolling_provider.ex modified +1
@@ -16,6 +16,7 @@ defmodule OpenAgents.Forge.RollingProvider do
| 16 | 16 |
|
| 17 | 17 |
|
| 18 | 18 |
|
| 19 |
|
|
| 19 | 20 |
|
| 20 | 21 |
|
| 21 | 22 |
|
lib/openagents/forge/rolling_provider/gcp.ex modified +31
@@ -15,6 +15,21 @@ defmodule OpenAgents.Forge.RollingProvider.Gcp do
| 15 | 15 |
|
| 16 | 16 |
|
| 17 | 17 |
|
| 18 |
|
|
| 19 |
|
|
| 20 |
|
|
| 21 |
|
|
| 22 |
|
|
| 23 |
|
|
| 24 |
|
|
| 25 |
|
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 29 |
|
|
| 30 |
|
|
| 31 |
|
|
| 32 |
|
|
| 18 | 33 |
|
| 19 | 34 |
|
| 20 | 35 |
|
@@ -121,11 +136,24 @@ defmodule OpenAgents.Forge.RollingProvider.Gcp do
| 121 | 136 |
|
| 122 | 137 |
|
| 123 | 138 |
|
| 139 |
|
|
| 124 | 140 |
|
| 125 | 141 |
|
| 126 | 142 |
|
| 127 | 143 |
|
| 128 | 144 |
|
| 145 |
|
|
| 146 |
|
|
| 147 |
|
|
| 148 |
|
|
| 149 |
|
|
| 150 |
|
|
| 151 |
|
|
| 152 |
|
|
| 153 |
|
|
| 154 |
|
|
| 155 |
|
|
| 156 |
|
|
| 129 | 157 |
|
| 130 | 158 |
|
| 131 | 159 |
|
@@ -135,6 +163,8 @@ defmodule OpenAgents.Forge.RollingProvider.Gcp do
| 135 | 163 |
|
| 136 | 164 |
|
| 137 | 165 |
|
| 166 |
|
|
| 167 |
|
|
| 138 | 168 |
|
| 139 | 169 |
|
| 140 | 170 |
|
@@ -145,6 +175,7 @@ defmodule OpenAgents.Forge.RollingProvider.Gcp do
| 145 | 175 |
|
| 146 | 176 |
|
| 147 | 177 |
|
| 178 |
|
|
| 148 | 179 |
|
| 149 | 180 |
|
| 150 | 181 |
|
lib/openagents/forge/rolling_replacement.ex modified +8 -7
@@ -21,7 +21,7 @@ defmodule OpenAgents.Forge.RollingReplacement do
| 21 | 21 |
|
| 22 | 22 |
|
| 23 | 23 |
|
| 24 |
|
|
| 24 |
|
|
| 25 | 25 |
|
| 26 | 26 |
|
| 27 | 27 |
|
@@ -83,7 +83,7 @@ defmodule OpenAgents.Forge.RollingReplacement do
| 83 | 83 |
|
| 84 | 84 |
|
| 85 | 85 |
|
| 86 |
|
|
| 86 |
|
|
| 87 | 87 |
|
| 88 | 88 |
|
| 89 | 89 |
|
@@ -234,16 +234,17 @@ defmodule OpenAgents.Forge.RollingReplacement do
| 234 | 234 |
|
| 235 | 235 |
|
| 236 | 236 |
|
| 237 |
|
|
| 237 |
|
|
| 238 |
|
|
| 238 | 239 |
|
| 239 |
|
|
| 240 |
|
|
| 240 |
|
|
| 241 |
|
|
| 241 | 242 |
|
| 242 | 243 |
|
| 243 | 244 |
|
| 244 | 245 |
|
| 245 |
|
|
| 246 |
|
|
| 246 |
|
|
| 247 |
|
|
| 247 | 248 |
|
| 248 | 249 |
|
| 249 | 250 |
|
test/openagents/forge/rolling_provider/gcp_test.exs modified +28
@@ -105,6 +105,34 @@ defmodule OpenAgents.Forge.RollingProvider.GcpTest do
| 105 | 105 |
|
| 106 | 106 |
|
| 107 | 107 |
|
| 108 |
|
|
| 109 |
|
|
| 110 |
|
|
| 111 |
|
|
| 112 |
|
|
| 113 |
|
|
| 114 |
|
|
| 115 |
|
|
| 116 |
|
|
| 117 |
|
|
| 118 |
|
|
| 119 |
|
|
| 120 |
|
|
| 121 |
|
|
| 122 |
|
|
| 123 |
|
|
| 124 |
|
|
| 125 |
|
|
| 126 |
|
|
| 127 |
|
|
| 128 |
|
|
| 129 |
|
|
| 130 |
|
|
| 131 |
|
|
| 132 |
|
|
| 133 |
|
|
| 134 |
|
|
| 135 |
|
|
| 108 | 136 |
|
| 109 | 137 |
|
| 110 | 138 |
|
test/openagents/forge/rolling_replacement_test.exs modified +13
@@ -26,6 +26,18 @@ defmodule OpenAgents.Forge.RollingReplacementTest do
| 26 | 26 |
|
| 27 | 27 |
|
| 28 | 28 |
|
| 29 |
|
|
| 30 |
|
|
| 31 |
|
|
| 32 |
|
|
| 33 |
|
|
| 34 |
|
|
| 35 |
|
|
| 36 |
|
|
| 37 |
|
|
| 38 |
|
|
| 39 |
|
|
| 40 |
|
|
| 29 | 41 |
|
| 30 | 42 |
|
| 31 | 43 |
|
test/support/openagents/test/rolling_provider.ex modified +3
@@ -11,6 +11,9 @@ defmodule OpenAgents.Test.RollingProvider do
| 11 | 11 |
|
| 12 | 12 |
|
| 13 | 13 |
|
| 14 |
|
|
| 15 |
|
|
| 16 |
|
|
| 14 | 17 |
|
| 15 | 18 |
|
| 16 | 19 |
|