Skip to content

Fix local CI run#2

Closed
jvd10 wants to merge 1 commit into
OpenCHAMI:mainfrom
jvd10:fix-local-ci-run
Closed

Fix local CI run#2
jvd10 wants to merge 1 commit into
OpenCHAMI:mainfrom
jvd10:fix-local-ci-run

Conversation

@jvd10

@jvd10 jvd10 commented Jun 10, 2026

Copy link
Copy Markdown

Description
This PR hardens local CI reliability for the integration sandbox, especially on macOS/arm64 and environments without host Vault tooling.

Summary of changes:

Made startup resilient when the optional IPMI simulator image is unavailable by conditionally enabling the ipmi profile and warning instead of failing.
Removed host Vault CLI dependency in both fixture seeding and Bats smoke tests by executing Vault commands inside the sandbox-vault container.
Fixed docker-compose interpolation warning in bmc-sim TLS cert generation by escaping HOSTNAME correctly for container-time expansion.
Added linux/amd64 platform pin for power-control to avoid architecture pull/runtime issues on arm64 hosts.
Tuned fru-tracker SQLite connection settings with busy timeout and WAL mode to reduce lock contention during reconcile-heavy runs.
Reduced UC4 JWT timing flake by adding parser leeway in the integration test.
Motivation/context:

Local make ci runs were failing due to environment sensitivity (missing optional image, missing host Vault CLI, arm64 image/platform friction, and test timing/database contention edge cases).
These changes improve portability and reduce flaky failures during local verification.

…ation failures

This commit groups local CI stability fixes discovered while running make ci on macOS/arm64 and in environments without host-side Vault CLI tools.

Changes included:

1) scripts/up.sh
- Gate the ipmi profile on actual image availability.
- If SBX_IPMI_SIM_IMAGE is neither present locally nor pullable, continue without COMPOSE_PROFILES=ipmi instead of failing up/ci.
- Emit heartbeat + stderr warning to make the fallback explicit.

2) fixtures/vault-seed.sh
- Remove dependency on a host-installed vault binary.
- Add a shell function that executes vault commands inside sandbox-vault via docker exec, forwarding VAULT_ADDR and VAULT_TOKEN.
- Keeps seeding self-contained and consistent with the running stack.

3) tests/bats/cli-smoke.bats
- Same portability fix as seed script: run vault commands inside sandbox-vault instead of requiring host vault CLI.
- Eliminates command-not-found failures in bats smoke tests on fresh machines.

4) compose/bmc-sim.yaml
- Escape HOSTNAME in the openssl subject from  to 18386{HOSTNAME}.
- Prevents docker compose host-side interpolation warning and preserves container runtime expansion.

5) compose/core.yaml
- power-control: set platform: linux/amd64 to avoid manifest/platform resolution failures on arm64 hosts.
- fru-tracker: tune sqlite DSN with _busy_timeout=5000 and _journal_mode=WAL to reduce write-lock contention during reconcile-heavy UC7 runs.

6) tests/integration/uc4_tokensmith_smd_test.go
- Add jwt.WithLeeway(30*time.Second) to token parsing.
- Reduces false negatives caused by minor clock skew where freshly minted tokens can briefly appear 'not valid yet'.

Net effect:
- Sandbox startup is more resilient when optional/local images are missing.
- Vault seed + bats smoke no longer require host vault installation.
- Compose warning noise is removed.
- UC4 claim validation is less flaky across hosts.
- Host architecture and sqlite contention edge cases are handled better for local CI iteration.

Signed-off-by: jvd10 <jay.depasse@hpe.com>
@jvd10
jvd10 force-pushed the fix-local-ci-run branch from cb59615 to 4a1e2c4 Compare June 10, 2026 23:34
@jvd10 jvd10 closed this Jun 10, 2026
@jvd10
jvd10 deleted the fix-local-ci-run branch June 10, 2026 23:34
@jvd10
jvd10 restored the fix-local-ci-run branch June 10, 2026 23:35
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