Skip to content

integration: Adds Minion pools tests#426

Open
claudiubelu wants to merge 2 commits into
cloudbase:masterfrom
claudiubelu:minion-pools-integration-tests
Open

integration: Adds Minion pools tests#426
claudiubelu wants to merge 2 commits into
cloudbase:masterfrom
claudiubelu:minion-pools-integration-tests

Conversation

@claudiubelu
Copy link
Copy Markdown
Member

Adds BaseDestinationMinionPoolProvider to TestImportProvider and implements all abstract methods. The test provider now advertises the PROVIDER_TYPE_DESTINATION_MINION_POOL capability.

TestImportProvider.create_minion() starts a coriolis-data-minion container, waits for SSH, deploys the HTTP backup writer, and returns real connection / writer info.

start_minion / shutdown_minion / delete_minion map to docker start / stop / remove.

attach_volumes_to_minion hotplugs block devices into the container's mount
namespace via nsenter + mknod.

healthcheck_minion opens an SSH connection to verify liveness.

Adds _InProcessTaskflowRunner that runs pool task flows in daemon threads instead of child processes, keeping them inside the shared fake:// transport.

Add _InProcessMinionManagerServerEndpoint that uses the in-thread runner.

Start the MinionManagerServerEndpoint in the harness.

Patch coriolis.keystone.delete_trust globally (no real Keystone in tests).

Disable the automatic pool-refresh cron (period=0) to prevent Keystone calls during pool lifecycle tests.

Adds integration tests for minion pool lifecycle. Adds test for allocating / deallocating minion pools.

Adds transfer, transfer execution, and deployment tests using minion pools.

…ider

Adds BaseDestinationMinionPoolProvider to TestImportProvider and implements
all abstract methods. The test provider now advertises the
PROVIDER_TYPE_DESTINATION_MINION_POOL capability.

TestImportProvider.create_minion() starts a coriolis-data-minion
container, waits for SSH, deploys the HTTP backup writer, and returns
real connection / writer info.

start_minion / shutdown_minion / delete_minion map to
docker start / stop / remove.

attach_volumes_to_minion hotplugs block devices into the container's mount
namespace via nsenter + mknod.

healthcheck_minion opens an SSH connection to verify liveness.
- Adds _InProcessTaskflowRunner that runs pool task flows in daemon threads
  instead of child processes, keeping them inside the shared fake://
  transport.
- Add _InProcessMinionManagerServerEndpoint that uses the in-thread runner.
- Start the MinionManagerServerEndpoint in the harness.
- Patch coriolis.keystone.delete_trust globally (no real Keystone in tests).
- Disable the automatic pool-refresh cron (period=0) to prevent Keystone
  calls during pool lifecycle tests.
- Adds integration tests for minion pool lifecycle. Adds test for
  allocating / deallocating minion pools.
- Adds transfer, transfer execution, and  deployment tests using minion
  pools.

updates
@claudiubelu claudiubelu force-pushed the minion-pools-integration-tests branch from 44156df to 031c441 Compare May 11, 2026 09:41
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