Skip to content

First Run bonus: exercise the Multipass integration workflow #82

@nicococo

Description

@nicococo

Challenge

Take the advanced lane from #81 and test MLOX against disposable Multipass VMs. The goal is to verify that setup, test execution, failure output, and cleanup are understandable on a machine that has never run the integration suite before.

This task changes local VM state and is best for contributors comfortable with Docker, virtualization, and slower tests.

Test route

Start from a repository development install:

task first:steps
conda activate mlox-dev
task tests:unit:run

Install or verify Multipass:

task deps:install:tools
multipass version
multipass list

Then choose one lane:

# Focused service test
task tests:integration:service SERVICE=mlflow3

# Or the complete integration suite
task tests:integration:run

Optionally start a VM explicitly and use the Streamlit UI to create a project and add a Multipass-backed Ubuntu server with the Docker backend:

task vm:start

Cleanup

Inspect VM names before removing anything:

multipass list
task tests:integration:cleanup
multipass list

Do not remove VMs that were not created by MLOX testing.

Report

OS + architecture:
Multipass version/driver:
Docker version:
Test lane and duration:
VMs created:
Result: pass / partial / fail
First confusing step:
Failure output or flaky behavior:
Cleanup result:
Suggested fix:

Done when

  • at least one integration test reaches a clear pass or actionable failure
  • VM lifecycle and cleanup are verified
  • docs/UX gaps are submitted as a small PR or reproducible follow-up issue

Useful findings include missing prerequisites, misleading task output, VM leaks, platform-specific failures, flaky waits, and cleanup that is too broad.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions