Skip to content

e2e --lifecycle cycles the chain nodes on every deploying run, so bench-ci still needs its node guard #2676

Description

@pithead-developer

Problem

#2639 made the e2e deploy and restore leave monerod and tari running when the branch leaves them unchanged. Both deploying e2e modes, targeted and matrix, also run --lifecycle (tests/integration/lib/run-lifecycle.sh). That phase drives pithead from the e2e checkout:

  • a whole-stack restart
  • a pool-flip pithead apply -y
  • a down → restore → up backup round trip

Both chain services bind-mount paths inside the checkout, which Compose hashes into their config (#2650). So the apply and the round trip recreate both nodes from the e2e checkout on every deploying run, and the restore then recreates them again from the baseline. The restore proof records this as "recreated", which is correct, but bench-ci can never skip its node-guard write for a deploying e2e job. That skip is the goal #2639 was filed for (bench-ci#599).

Options

  1. Run lifecycle's apply and up with PITHEAD_KEEP_RUNNING over the nodes the deploy kept (CHAIN_KEPT). The restart and the backup round trip stop the nodes by design, so they would still need the guard.
  2. Split --lifecycle into a node-touching part and a part that is not, and run only the second in targeted.
  3. Leave it until Chain services: mount nothing from the checkout, so a directory move leaves monerod and tari running #2650 makes the nodes' definitions path-independent. Then the apply leaves them alone, and only the round trip's down remains.

Acceptance

A deploying e2e mode exists whose run leaves unchanged chain nodes with the same container ID and start time from deploy to restore, and bench-ci can key its node guard off it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    infraDeployment, packaging, releasestestingTests, CI, and test infrastructure

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions