zfs: findings is a state of the module's state list, not of requires, so the conditions keeper reads it
mesh/delivery merged: source.main moved to novox/mesh-catalog@32f1566cc879
mesh/delivery-group group feature/1979-zfs-owns-zfs merged: every member is merged
mesh/check being carried to 0041b69d1736 on 32f1566cc879 | from 117f933dacf0, mesh-delivery 7221a1e5cd7f, mesh-host 0193949efe9f, mesh-sdk e42b9491c93…
mesh/delivery merged: source.main moved to novox/mesh-catalog@32f1566cc879
mesh/delivery-group group feature/1979-zfs-owns-zfs merged: every member is merged
mesh/check being carried to 0041b69d1736 on 32f1566cc879 | from 117f933dacf0, mesh-delivery 7221a1e5cd7f, mesh-host 0193949efe9f, mesh-sdk e42b9491c93…
The validator refused zfs and mesh-conditions: mesh-conditions reads zfs.findings, which zfs had moved to bus state in requires, where the new form has no readers (ADR 0596 section 2). The keeper process's bus.state keeps naming findings. The manifest test holds it. Builds: design 42 zfs-owns-zfs A-46 (A-32, 26, 27)
This commit is contained in:
@@ -480,13 +480,15 @@ func TestTheManifestsBusStateKeeperAndTools(t *testing.T) {
|
||||
if ev["storage"] != "stream" || ev["template"] != "events" || opts["max-age-days"] != float64(30) || strings.Join(kinds, ",") != strings.Join(EventKinds, ",") {
|
||||
t.Errorf("the events stream: %v", ev)
|
||||
}
|
||||
for _, n := range []string{"applied", "schedule", "findings"} {
|
||||
for _, n := range []string{"applied", "schedule"} {
|
||||
if e := reqs[n]; e == nil || e["storage"] != "key-value" || e["template"] != "state" {
|
||||
t.Errorf("the state %s: %v", n, e)
|
||||
}
|
||||
}
|
||||
if reqs["findings"]["options"] != nil {
|
||||
t.Errorf("findings declares no stream of its own (A-32): %v", reqs["findings"])
|
||||
// A-46: findings is a state of the module's `state` list, as every observer's, and not asked for in requires, where the
|
||||
// conditions keeper would not read it.
|
||||
if reqs["findings"] != nil || fmt.Sprint(tree["state"]) != "[findings]" {
|
||||
t.Errorf("findings is a state of the state list, not of requires (A-46): %v, %v", tree["state"], reqs["findings"])
|
||||
}
|
||||
l := reqs[LedgerName]
|
||||
lo, _ := l["options"].(map[string]any)
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
"owner": "zfs-keeper"
|
||||
}
|
||||
},
|
||||
"state": [
|
||||
"findings"
|
||||
],
|
||||
"requires": [
|
||||
{
|
||||
"name": "events",
|
||||
@@ -49,11 +52,6 @@
|
||||
"storage": "key-value",
|
||||
"template": "state"
|
||||
},
|
||||
{
|
||||
"name": "findings",
|
||||
"storage": "key-value",
|
||||
"template": "state"
|
||||
},
|
||||
{
|
||||
"name": "snapshots",
|
||||
"storage": "ledger",
|
||||
|
||||
Reference in New Issue
Block a user