tartelet: Runners not starting

I’m experiencing the same issue(s) as https://github.com/shapehq/tartelet/issues/63. I’m creating a new issue since that other issue is closed.

Problem: Starting a runner (Virtual Machine --> Start) doesn’t start a runner.

Debug logs: The debug log from Tartelet mentions this error:

2024-02-29T12:44:16Z [VirtualMachineResourcesCopier] [Info] Failed removing resources at file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/runner-1/.Trashes: “.Trashes” couldn’t be removed because you don’t have permission to access it.
2024-02-29T12:44:16Z [VirtualMachineResourcesCopier] [Info] Failed copying resources from file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/Virtual%20Machine%20Resources/.Trashes/ to file:///Users/anne/Library/Application%20Support/dk.shape.Tartelet/runner-1/.Trashes: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.
2024-02-29T12:44:16Z [EphemeralVirtualMachineFactory] [Error] Failed making ephemeral virtual machine as resources could not be created: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.
2024-02-29T12:44:16Z [VirtualMachineFleetLive] [Error] Could not create virtual machine named runner-1: “.Trashes” couldn’t be copied because you don’t have permission to access “runner-1”.

When I delete this Trashes directory manually via sudo rm -rf ~/Library/Application\ Support/dk.shape.Tartelet/Virtual\ Machine\ Resources/.Trashes a runner is started, but exits immediately with the following error:

image

Steps to reproduce:

I was able to reproduce it with the normal installation steps as described in the wiki: https://github.com/shapehq/tartelet/wiki/Configuring-Tartelet. Using a newer IPSW file did not make a difference.

# old
tart create runner --disk-size=120 --from-ipsw=https://updates.cdn-apple.com/2023WinterFCS/fullrestores/032-48346/EFF99C1E-C408-4E7A-A448-12E1468AF06C/UniversalMac_13.2.1_22D68_Restore.ipsw

# new
tart create runner --disk-size=120 --from-ipsw=https://updates.cdn-apple.com/2024WinterFCS/fullrestores/052-40770/72916BCC-D357-422D-A4A2-EF1DEDF6968C/UniversalMac_14.3.1_23D60_Restore.ipsw

Other details:

Tartelet shows an ‘Unknown’ VM image

These files exist in my Virtual Machine Resources: image

Used versions

Tartelet: Version 0.7.1 (1)
Tart: 2.6.1

Tartelet did work in the past without any issues! I’m not sure when it exactly broke, but I did upgrade MacOS (to 14.3.1 (23D60)) and maybe updated Tart via a brew upgrade.

Does somebody have an idea what is wrong?

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Comments: 20 (5 by maintainers)

Most upvoted comments

Just wanted to give everyone an update on this. I’m working on a version of Tartelet that addresses this issue by using SSH to transfer files between the host machine and the virtual machines, as recommended by @fkorotkov.

We’ve just started testing this internally at Shape and I hope we can release a version of Tartelet that uses this very soon.

You can find the changes on the feature/ssh branch. I’m also using this as an opportunity to heavily clean up the codebase to make Tartelet easier to maintain going forward.

Tartelet 0.8.0 is now available and fixes this issue. Please consult the release notes for details on migrating from 0.7.1 to 0.8.0. Specifically, this involves:

  1. Enabling Remote Login on the virtual machine.
  2. Configuring Tartelet with the credentials needed to SSH into the virtual machine. If you’ve followed the guide on configuring Tartelet the username will be runner and the password will be runner too.

I consider this issue to be addressed now and will close it.

Admittedly, 0.8.0 brings some bigger changes to Tartelet. Please don’t hesitate to open a new issue if you encounter any challenges with these changes 🙏

@antonnyman Normally, I’d very much love a PR for fixes like this, but I’m so close to having moved Tartelet away from using the resources folder altogether that I don’t think it makes sense. I have good faith that copying the resources from the host machine to the virtual machine will be more reliable than what we’ve been using up until now 😊