Skip to content

feat(scenarios): add test_rocketchat scenario - #87

Closed
t0kubetsu wants to merge 4 commits into
devfrom
feat/test-rocketchat-scenario
Closed

feat(scenarios): add test_rocketchat scenario#87
t0kubetsu wants to merge 4 commits into
devfrom
feat/test-rocketchat-scenario

Conversation

@t0kubetsu

@t0kubetsu t0kubetsu commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the test_rocketchat dual-lan scenario that deploy-tests the catalog admin-rocketchat box + software.install.rocketchat role. Verified end-to-end: Rocket.Chat 8.4.3 healthy on :3000 with provisioning.

Contents

  • scenarios/test_rocketchat/ — lan1 admin-rocketchat-00 (.150.2) + lan2 debian-jump-00 (.151.2), dual-lan layout.
  • Distinct template build IPs (small .140.3 / medium .140.2): the box-octet-derived template IP collided when two boxes share an octet across subnets, which hung the concurrent template boot. The fix lives in the generator (allocate.py, PR feat(r42playbooks): scenario generator — CLI/TUI/API over range42-catalog #77); this scenario carries the corrected output.
  • default_vm_ci_dns_ips set (node resolver substituted at workspace creation; 1.1.1.1 is firewalled in-range).
  • NTP-and-update-time not enabled (no reachable NTP in egress-filtered ranges; host kvm-clock time is correct).
  • _reserved.json registers the scenario.

Dependencies

Requires the r42playbooks generator (PR #77) and the catalog admin-rocketchat box template + software.install.rocketchat role (range42-catalog PR #189). All coexist on dev_ada, where the end-to-end deploy was verified.

Test plan

  • Deployed via range42-context: templates (with disks) -> VMs -> stage_01 -> software.install.rocketchat -> docker compose up.
  • Rocket.Chat 8.4.3 healthy on MongoDB 8.0.23; web UI on :3000.
  • Set real creds in the stack .env before non-throwaway use.

Dual-lan test scenario exercising the new admin-rocketchat box template
(range42-catalog): a lan1 admin-rocketchat box + a lan2 debian-jump box,
generated by the scenario generator. For deploy-testing the Rocket.Chat
bootstrap (software.install.rocketchat) on the deployer.
The template-create play reads {{ default_vm_ci_dns_ips | default('1.1.1.1') }},
but the generated scenario shipped without the var, so cloud-init fell back to
1.1.1.1 — firewalled on the target network — and templates hung forever at
"WAIT for cloud-init to auto-poweroff". Define the var (range42-init.py
substitutes the node resolver at workspace creation), matching all other
scenarios. Fixes the generator omission for this scenario; the generator gap
itself is fixed separately.
Bring the scenario to the state that deploys cleanly (verified live):
- distinct template build IPs (small .140.3 / medium .140.2) — the box-octet
  mirroring collided when two boxes share an octet across subnets, hanging the
  concurrent template boot; fixed in the generator (allocate.py, PR #77);
- drop INSTALL_PACKAGES_NTP_AND_UPDATE_TIME on the rocketchat box (no reachable
  NTP in egress-filtered ranges; host kvm-clock time is correct);
- refresh _reserved.json.
@t0kubetsu

Copy link
Copy Markdown
Contributor Author

🔗 test_rocketchat deploy chain (verified end-to-end on dev_ada)

  • This PRrange42/range42-playbooks#87: the test_rocketchat scenario (lan1 admin-rocketchat + lan2 debian-jump).
  • Generator it needsrange42/range42-playbooks#77: the template-IP + DNS fixes (this scenario carries their corrected output).
  • Catalog box/role/stack it deploysrange42/range42-catalog#189 (which builds on catalog #180/#188/#181).

Land #77 and catalog #189 before/with this one (all verified together on dev_ada).

@t0kubetsu t0kubetsu closed this Jun 12, 2026
@hyde-repo hyde-repo mentioned this pull request Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant