MultipassInstance: `push_file_io()` method works regardless of working dir
Metadata
Current evaluation
Merged PR #193 in commit a41d0b4, fixing MultipassInstance.push_file_io() to work regardless of host working-directory permissions; released in craft-providers 1.7.0.
Resolution: closed resolved
Reason: The approved PR was merged as commit a41d0b4. The 1.7.0 changelog confirms that MultipassInstance.push_file_io() was updated to work regardless of the host working directory.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
The method `push_file_io()` fails when it executes inside a working directory that the `ubuntu` user does not have access to. This scenario can occur after *craft applications mount the host's working directory to /root/project.
This minor defect was a side effect of the release of Multipass v1.10.0. (see [release notes](https://github.com/canonical/multipass/releases/tag/v1.10.0) and [updated documentation](https://multipass.run/docs/exec-command)).
The change itself is small. The PR is mostly docstrings and comments.
(CRAFT-1544)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #193 in commit a41d0b4, fixing MultipassInstance.push_file_io() to work regardless of host working-directory permissions; released in craft-providers 1.7.0. | |
| qwen/qwen3.6-35b-a3b | — | closed resolved | Merged PR #193 fixing push_file_io() to work regardless of the working directory, addressing permission failures introduced by Multipass v1.10.0. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #268 multipass(MultipassInstance): refactor push_file_io | craft-providers | merged | Merged PR #268 as commit 9c18861, extracting _create_temp_file() from push_file_io(); no functional changes. The refactor prepared PR #269 to reuse the helper. | |
| #269 multipass(MultipassInstance): push files to any location | craft-providers | merged | Merged PR #269 (commit 49c1a63) made MultipassInstance.push_file() transfer through a temporary file before moving it to any destination, resolving #169. | |
| #4010 providers: push .bashrc to Multipass instances | snapcraft | merged | PR #4010 merged as commit 3b6220cb: re-enabled pushing .bashrc into Multipass instances via craft-providers push_file_io, dropping the host temp-file workaround added in #3967 (CRAFT-1545). | |
| #2784 [multipass] use stdio to get data in/out of Multipass | snapcraft | merged | Merged PR #2784 (commit 888707cf3) replaced the Multipass `--cloud-init` file transfer with stdio-based push_file/pull_file for strict Multipass support; later moved into craft-providers. |