Problem
For a topology with more than one orchestration release, the topology e2e phase runs one leg per
orchestration release. The second leg cannot pass, because process data is created through a
single shared Web Modeler that deploys to one cluster, while each leg asserts against its own
cluster's Operate and Tasklist.
Observed on multinamespace-2orch (mns2) on GKE, chart 8.10. All three releases deployed
successfully; both e2e legs failed:
| leg |
passed |
failed |
skipped |
duration |
orcha |
16 |
3 |
5 |
18.9m |
orchb |
7 |
12 |
4 |
27.4m |
Leg 2's failures are overwhelmingly data-visibility, not UI:
View Process Instance in Operate, assert it completes and assert result expression
Complete User Task in Tasklist & assert process complete in Operate
Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible
View Process Instance in Operate and complete User Task in Tasklist
Assert Diagram Has Successfully Completed in Operate
Ensure Modeler is not Accessible
… 13 in total
with 314 occurrences of not found in table, and one instance retried for 610s across 21 attempts
before giving up.
Root cause
The Hub's Web Modeler has both orchestration clusters registered:
$ kubectl -n <hub-ns> exec pod/postgresql-… -- \
psql -d webmodeler -t -A -c 'SELECT name FROM clusters ORDER BY name'
Orchestration A
Orchestration B
hub
The suite has no way to select a cluster per leg. It creates its fixture processes through Modeler,
which deploys to whichever cluster it resolves, so only the leg whose cluster happens to match can
observe its own data. The other leg queries an Operate that never received the records — hence
not found in table rather than an assertion or timing failure.
Ensure Modeler is not Accessible failing fits the same picture: that test's assumption does not hold
when one Modeler is shared across clusters reached on different hosts.
Scope
This is a property of the suite, not of any chart change. It is the same class of gap as the suite not
being Physical-Tenant aware: it is not cluster-aware either, because
global.topology.clusters[].components.orchestration is singular and the suite resolves apps against
a single baseURL plus per-app context paths.
Attribution note: this surfaced while validating an unrelated values change. That change renders the
affected releases byte-identically, and the Camunda exporter feeding Operate reads
orchestration.index.prefix, which it does not touch.
Options
- Run a single e2e leg for multi-orchestration topologies. Cheapest, and honest about the
coverage boundary: one cluster gets exercised, the rest get deploy-only verification. Worth a
comment in the scenario file so the next reader knows why.
- Teach the suite to target a named cluster per leg, e.g. a
CLUSTER_NAME env var the Modeler
deployment step honours. Correct fix, but it is a change in
c8-cross-component-e2e-tests plus an npm release, so cross-repo.
Until one of these lands, enabling two legs for a multi-orchestration topology enables a leg that
cannot pass, which reads as a product failure when it is a harness limitation.
Problem
For a topology with more than one orchestration release, the topology e2e phase runs one leg per
orchestration release. The second leg cannot pass, because process data is created through a
single shared Web Modeler that deploys to one cluster, while each leg asserts against its own
cluster's Operate and Tasklist.
Observed on
multinamespace-2orch(mns2) on GKE, chart 8.10. All three releases deployedsuccessfully; both e2e legs failed:
orchaorchbLeg 2's failures are overwhelmingly data-visibility, not UI:
with 314 occurrences of
not found in table, and one instance retried for 610s across 21 attemptsbefore giving up.
Root cause
The Hub's Web Modeler has both orchestration clusters registered:
The suite has no way to select a cluster per leg. It creates its fixture processes through Modeler,
which deploys to whichever cluster it resolves, so only the leg whose cluster happens to match can
observe its own data. The other leg queries an Operate that never received the records — hence
not found in tablerather than an assertion or timing failure.Ensure Modeler is not Accessiblefailing fits the same picture: that test's assumption does not holdwhen one Modeler is shared across clusters reached on different hosts.
Scope
This is a property of the suite, not of any chart change. It is the same class of gap as the suite not
being Physical-Tenant aware: it is not cluster-aware either, because
global.topology.clusters[].components.orchestrationis singular and the suite resolves apps againsta single
baseURLplus per-app context paths.Attribution note: this surfaced while validating an unrelated values change. That change renders the
affected releases byte-identically, and the Camunda exporter feeding Operate reads
orchestration.index.prefix, which it does not touch.Options
coverage boundary: one cluster gets exercised, the rest get deploy-only verification. Worth a
comment in the scenario file so the next reader knows why.
CLUSTER_NAMEenv var the Modelerdeployment step honours. Correct fix, but it is a change in
c8-cross-component-e2e-testsplus an npm release, so cross-repo.Until one of these lands, enabling two legs for a multi-orchestration topology enables a leg that
cannot pass, which reads as a product failure when it is a harness limitation.