hashicorp / vagrant

Vagrant is a tool for building and distributing development environments.
https://www.vagrantup.com
Other
26.32k stars 4.44k forks source link

Support BitTorrent for adding boxes #1248

Closed sferik closed 11 years ago

sferik commented 11 years ago

Downloading boxes is slow. It could be faster if Vagrant supported BitTorrent.

mitchellh commented 11 years ago

If you really want to do this, then just download using bit torrent externally and then add the box using a file path.

Vagrant uses cURL now under the covers, so downloading boxes is very fast (as fast as your network connection allows), whereas before the bandwidth was actually limited by Ruby being bad.

danberghjohnsson commented 10 years ago

I just want to support the idea. I try to promote vagrant by using it when many people need the same setup, i e a hack-day with "try out java 8". Right now I publish the box on S3, and everyone make their own download when "vagrant up" with the Vagrantfile I give them. However, as many people are in the same place, they would feasible seed each other - and I would have a full seed carried with me. I am aware of the workaround. However the difference between saying "now vagrant up", and "first torrent down box, then vagrant add, then vagrant up" is enormous in how impressed they become with vagrant. Actually - as things are now I chose to use BitTorrent and skip Vagrant, which is a pity.

nacht commented 10 years ago

+1

v6 commented 8 years ago

// , Mitchell obviously knows the direction he wants Vagrant to take, but for what it's worth, I, personally, feel like optional torrent use would be in keeping with the "batteries included" approach Vagrant and Atlas usually take with box management.

Perhaps this could be a "pro" plugin for paid Atlas users?

On the one hand, it brings in revenue, and on the other hand, it limits (for now) the amount of support necessary.

v6 commented 8 years ago

// , Plus, torrents iz kew.

faddat commented 8 years ago

Forget the plus, torrents iz kew.... well, except they are. Mitchell, you've clearly not been to some of the more bandwidth constrained places on the planet.

It's not really "as fast as my network connection can allow" if traffic gets slaughtered at the border of a country I'm in, now is it? plus, yay resilience and making your tool more robust.

Bittorrent support for vagrant is a great idea, and really, should be baked into anything that downloads large files routinely.

winni2k commented 8 years ago

+1

timcharper commented 8 years ago

Not supporting bittorrent for this action is a tremendous lost opportunity. Bandwidth can't be free for hashicorp.

faddat commented 8 years ago

screenshot from 2016-03-17 14-03-16

what would / could fix this situation, I wonder?

eisnerd commented 8 years ago

I was really surprised to find that there's no built in p2p/torrenting in a modern tool used for downloading massive files. Even in our fairly well connected office, having a whole team cURL a 1GB image simultaneously would be a bit obnoxious. Workarounds with vagrant box add really spoil the experience. Most of the team, not being vagrant evangelists, will be wondering why they didn't just torrent the ISOs and set up a VM in their tried and tested way.

v6 commented 8 years ago

// , Well, I guess there's always room for someone to develop a plugin to support torrent magnet links in the value for config.vm.box_url inside the ./Vagrantfile.

v6 commented 8 years ago

@eisnerd, if an image gets frequent usage, there's always artifactory or something for storing images on the local network, right? Then one can just set config.vm.box_url to that location.

bradisbell commented 8 years ago

@mitchellh Please consider revisiting this issue. Hashicorp's hosting is not sufficient.

    default: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160509.1.0/providers/virtualbox.box
    default: Progress: 10% (Rate: 45088/s, Estimated time remaining: 2:08:43)

This is a typical experience for me, on various networks, even in various cities. I'm able to download from the rest of the internet fine. SpeedTest.net typically reports download speeds of 100+ mbit.

There are command line tools available for torrents. If you don't want to bundle one with Vagrant, perhaps there could be an option for a user to specify their own tool for downloading torrents? Then Vagrant Cloud could store Magent URIs, allowing the client to decide whether to use HTTPS or BitTorrent for the download.

faddat commented 8 years ago

Or, the metalink protocol, which combines bittorrent, HTTP and FTP.

On Fri, May 13, 2016, 00:36 Brad Isbell notifications@github.com wrote:

@mitchellh https://github.com/mitchellh Please consider revisiting this issue. Hashicorp's hosting is not sufficient.

default: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160509.1.0/providers/virtualbox.box
default: Progress: 10% (Rate: 45088/s, Estimated time remaining: 2:08:43)

This is a typical experience for me, on various networks, even in various cities. I'm able to download from the rest of the internet fine. SpeedTest.net typically reports download speeds of 100+ mbit.

There are command line tools available for torrents. If you don't want to bundle one with Vagrant, perhaps there could be an option for a user to specify their own tool for downloading torrents? Then Vagrant Cloud could store Magent URIs, allowing the client to decide whether to use HTTPS or BitTorrent for the download.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mitchellh/vagrant/issues/1248#issuecomment-218829916

gschwarz commented 8 years ago

Adding torrent support for downloading images sounds like a terrific idea, and that is exactly what I would need to make some presentation where everyone can follow instructions and hopefully download something from my machine by simply typing "vagrant up".

How to do this exactly?

One possibility would be that you are serving files from all computers which have vagrant installed, but that would be very bad for people who once installed vagrant and then begun unknowingly serving files for the rest of their life... people would complain that it looks like a virus.

Another possibility would be that yu have to explcitly type:

vagrant serve

or something like that to serve files on the internet, so that you know exactly when you are serving files.

DirtyB commented 8 years ago

@gschwarz is right about the question of how to make users serve boxes. If it would be downloaded on vagrant up it would never be served,

I think it would be just great to have ability to download image via torrent client and manually add it to Vagrant as alternative way if regular download is too slow.

rogue780 commented 8 years ago

+1 This would be amazingly helpful

lucascdsilva commented 7 years ago

+1

mcandre commented 6 years ago

+1

poige commented 5 years ago

What about allowing external URLs to be magnet links?

Even if you guys (at Hashicorp) don't want to host a tracker, it still can be useful a lot!

ghost commented 4 years ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.