Skip to content

fix(vm_workload_showroom): publish runner port to bastion host for FTL health check#73

Merged
prakhar1985 merged 1 commit into
mainfrom
fix/vm-runner-publish-port-8501
Jun 17, 2026
Merged

fix(vm_workload_showroom): publish runner port to bastion host for FTL health check#73
prakhar1985 merged 1 commit into
mainfrom
fix/vm-runner-publish-port-8501

Conversation

@prakhar1985

Copy link
Copy Markdown
Contributor

What broke and why

PR #63 replaced ansible_runner_api_service.j2 with service_runtime_automation.j2. The old template had:

ports:
  - "8501:80"

The new template dropped the ports: section entirely — only traefik labels remain.

The vm_runtime_automation_load_test role (used for FTL E2E load testing) curls http://localhost:<port>/health directly on the bastion host. Without the port binding, the container's port 8501 is only reachable inside the podman network via traefik, not from the host. Every FTL health check times out with Connection refused.

The fix

Add ports: back to service_runtime_automation.j2, mapping the configurable _runner_port to the same port on the bastion host:

ports:
  - "{{ _runner_port }}:{{ _runner_port }}"

This restores the direct host-side accessibility needed by vm_runtime_automation_load_test while keeping traefik routing intact.

Verified on

  • LB1305 (lb1305-event-1.0.0) provision on aap2-prod-us-east-2, GUID n6xxd
  • Manually confirmed: curl http://localhost:8501/health → 200 after fix applied

Diff

Old (ansible_runner_api_service.j2) New (service_runtime_automation.j2) — before this PR
ports: "8501:80" missing

ports: missing = localhost:8501 unreachable from bastion = FTL load test fails on every VM-based lab.

cc @andrew-jones — introduced in #63

…L health check

The vm_runtime_automation_load_test role checks http://localhost:<port>/health
from the bastion host. PR #63 replaced the old ansible_runner_api_service.j2
(which had `ports: - "8501:80"`) with service_runtime_automation.j2 which
dropped the ports section entirely.

Without the port binding, localhost:8501 on the bastion is unreachable and
every FTL E2E load test fails at the health check with Connection refused.

Add ports back, mapping the configurable runner port to the same port on the
bastion host so both the FTL health check and traefik routing work.
@prakhar1985 prakhar1985 merged commit 4bc1602 into main Jun 17, 2026
1 check passed
prakhar1985 added a commit that referenced this pull request Jun 17, 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