Vagrant Grid5000 Provider

Gem Version

This is a Vagrant plugin that adds a provider for machines running on the Grid'5000 testbed to Vagrant.

Installation and usage

$ vagrant plugin install vagrant-grid5000

Each provider needs at least one ''box''. This does not really make sense here, so we are providing a dummy one.

$ vagrant box add --name dummy https://github.com/lnussbaum/vagrant-grid5000/raw/master/dummy.box

Example basic Vagrantfile:

Vagrant.configure("2") do |config|

  # Global configuration for Grid'5000
  config.vm.provider "grid5000" do |g5k|
    # Ruby-Cute's authentication parameters
    #g5k.cute_parameters = { :conf_file => "config file path" }
    # For details about allowed parameters see
    # https://github.com/lnussbaum/vagrant-grid5000/blob/master/lib/vagrant-grid5000/config.rb
  end

  config.vm.define :my_g5k_box do |g5k|
    g5k.vm.box = "dummy"
  end
end

Then try

$ vagrant up --provider=grid5000
$ vagrant ssh
$ vagrant provision
$ vagrant destroy

For more details about Vagrantfile configuration parameters, see https://github.com/lnussbaum/vagrant-grid5000/blob/master/Vagrantfile

Synced folders

Synced folders are a bit tricky. You need to install 'rsync' (which is not installed on jessie-x64-min), and then issue a ''vagrant reload'' to reload the configuration. Note that you can also use 'rsync-auto' to auto-synchronize changes.

License

The gem is available as free software under the terms of the MIT License.

Development

To work on the vagrant-grid5000 plugin, clone this repository out, and use Bundler to get the dependencies:

$ bundle

You can test the plugin without installing it into your Vagrant environment by using the Vagrantfile in the top level of this directory and use bundler to execute Vagrant.

$ bundle exec vagrant up --provider=grid5000

etc.

To debug stuff, use vagrant --debug.