multipass: introduce Multipass and MultipassError
Metadata
Current evaluation
PR #9 by cjp256 merged into craft-providers (commit e418497), adding a Multipass class wrapping the multipass CLI plus MultipassError, unit/integration tests (test_todo dropped), and pytest-subprocess in requirements-dev.
Resolution: closed resolved
Reason: The pull request was approved by two reviewers and merged, landing as commit e418497 'multipass: introduce Multipass and MultipassError' in craft_providers/multipass/multipass.py. The Multipass class has since been built upon by later work such as #120 and #193.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- Introduce Multipass, a class to wrap the functionality
of the multipass command-line executable.
- Introduce MultipassError, an exception class for all
Multipass provider errors.
- Include unit and integration tests. Drop placeholder
test_todo module.
- Add pytest-subprocess to requirements-dev for use in
the unit tests.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | PR #9 by cjp256 merged into craft-providers (commit e418497), adding a Multipass class wrapping the multipass CLI plus MultipassError, unit/integration tests (test_todo dropped), and pytest-subprocess in requirements-dev. | |
| qwen/qwen3.6-35b-a3b | — | closed resolved | Merged PR #9 introducing Multipass class and MultipassError exception to wrap the multipass CLI, including unit and integration tests and adding pytest-subprocess to requirements-dev. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
canonical/craft-providers#120
(confidence 40%)
Later multipass follow-up ('multipass: do not leak start command') built on the merged Multipass class
-
Related To:
canonical/craft-providers#49
(confidence 30%)
Later dependency bump/freezing PR related to the pytest-subprocess requirement discussed in review
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #75 multipass: introduce ensure_multipass_is_ready() (CRAFT-438) | craft-providers | merged | Merged PR #75 added ensure_multipass_is_ready() to verify Multipass installation and version support; merge commit 1f1ddce. | |
| #21 multipass: introduce MultipassProvider | craft-providers | closed | Closed unmerged after prolonged inactivity, with four unresolved review comments. MultipassProvider later landed via #163 (commit fa5a5e7). | |
| #491 providers: introduce multipass support (CRAFT-409) | charmcraft | merged | Multipass support was merged in canonical/charmcraft#491 via merge commit 1b855093, with implementation commit 84132dc1 adding provider selection and tests. | |
| #22 multipass: introduce installation support | craft-providers | merged | Merged PR #22 via commit e163f50, adding Linux and macOS Multipass installation support, error handling, tests, and CI uninstall support. | |
| #17 multipass: introduce MultipassProvider | craft-providers | closed | Closed unmerged; MultipassProvider was later added by merged PR #163 in commit fa5a5e7, superseding this abandoned implementation. | |
| #28 multipass tests: cleanup after launch tests | craft-providers | merged | Merged PR #28 to ensure temporary Multipass instances are cleaned up after launch tests, adding explicit teardown handling in the multipass test fixture. | |
| #27 multipass: doc fix and require check for Multipass._run() | craft-providers | merged | Merged PR #27 (2891d9d, merge 6c1b4fa), requiring check for Multipass._run() and correcting its documentation. | |
| #42 multipass: is_supported_version() interface and require >=1.7 | craft-providers | merged | Merged in craft-providers#42 via ce6356d; commit 1166096 added Multipass.is_supported_version() and raised the minimum supported version to 1.7. | |
| #1796303 Check version of multipass | snapcraft (launchpad) | closed | Added a Multipass minimum-version check via canonical/craft-providers#42, requiring Multipass 1.7+; merged as ce6356d. | |
| #628 Check Multipass version for 24.04 VMs | craft-providers | closed | Implemented a Multipass >=1.14.1 requirement for Noble/24.04 launches in commit a977369 and released it in craft-providers 1.24.2 and 2.0.1. |