Что такое Vagrant? Процитирую википедию. Это открытый инструментарий для упрощения формирования, установки и управления образами виртуальных машин при решении задач разработки и тесирования проектов с использованием различных систем виртуализации. В базовой поставке система предоставляет средства интеграции с VirtualBox, а с помощью плагинов позволяет использовать и другие системы виртуализации. Например, VMWare (недешёвое удовольствие, $79 за лицензию). Или, что очень интересно, можно подключаться к компаниям, предоставляющим сервис VPS, например, Digital Ocean.

VirtualBox меня вполне устраивает, но хотелось использовать коммерческую систему виртуализации Parallels Desktop, которую я использую достаточно редко (Windows на десктопе я запускаю раз в несколько месяцев, а Linux’ы использую в VPS и на серверах). В октябре я общался на тему интеграции Vagrant с Parallels, результат был отрицательным:

Конкретно для Vagrant такого плагина пока нет, и о том, когда он появится в планах, пока не можем сказать, хотя этот вопрос у нас совершенно точно активно обсуждался.

Вчера я снова решил заняться вопросом и увидел, что плагин провайдера Parallels уже доступен и работает. Что вдвойне приятно, Parallels предлагает этот плагин бесплатно в отличие от VMWare!

Поставил по-новому Vagrant из установочного пакета, дальше в консоли выполнил команды:

$ vagrant -v
    Vagrant 1.5.3

$ vagrant plugin install vagrant-parallels
    Installing the 'vagrant-parallels' plugin. This can take a few minutes...
    Installed the plugin 'vagrant-parallels (1.0.6)'!

$ vagrant init parallels/ubuntu-12.04
    A `Vagrantfile` has been placed in this directory. You are now
    ready to `vagrant up` your first virtual environment! Please read
    the comments in the Vagrantfile as well as documentation on
    `vagrantup.com` for more information on using Vagrant.

$ vagrant up --provider=parallels
    Bringing machine 'default' up with 'parallels' provider...
    ==> default: Box 'parallels/ubuntu-12.04' could not be found. Attempting to find and install...
        default: Box Provider: parallels
        default: Box Version: >= 0
    ==> default: Loading metadata for box 'parallels/ubuntu-12.04'
        default: URL: https://vagrantcloud.com/parallels/ubuntu-12.04
    ==> default: Adding box 'parallels/ubuntu-12.04' (v0.1.0) for provider: parallels
        default: Downloading: https://vagrantcloud.com/parallels/ubuntu-12.04/version/1/provider/parallels.box
    ==> default: Successfully added box 'parallels/ubuntu-12.04' (v0.1.0) for 'parallels'!
    ==> default: Importing base box 'parallels/ubuntu-12.04'...
    ==> default: Checking if box 'parallels/ubuntu-12.04' is up to date...
    ==> default: Setting the name of the VM: ctrld_default_1397804419682_71537
    ==> default: Preparing network interfaces based on configuration...
        default: Adapter 0: shared
    ==> default: Clearing any previously set network interfaces...
    ==> default: Booting VM...
    ==> default: Waiting for machine to boot. This may take a few minutes...
        default: SSH address: 10.211.55.4:22
        default: SSH username: vagrant
        default: SSH auth method: private key
    ==> default: Machine booted and ready!
    ==> default: Checking for Parallels Tools installed on the VM...
    ==> default: The Parallels Tools on this VM do not match the installed version of
    ==> default: Parallels Desktop! In most cases this is fine, but in rare cases it can
    ==> default: cause things such as shared folders to not work properly. If you see
    ==> default: shared folder errors, please update the Parallels Tools within the
    ==> default: virtual machine and reload your VM.
    ==> default:
    ==> default: Parallels Tools Version: 9.0.24215.978862
    ==> default: Parallels Desktop Version: 9.0.24172.951362
    ==> default: Mounting shared folders...
        default: /vagrant => /Users/ctrld

$ vagrant ssh
    Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.11.0-15-generic x86_64)

     * Documentation:  https://help.ubuntu.com/
    Last login: Tue Feb 25 11:21:17 2014
    vagrant@precise64:~$

Буквально за пару минут у меня есть работающая виртуальная машина.

Остановка виртуальной машины:

$ vagrant halt
    ==> default: Attempting graceful shutdown of VM...

Детальнее можно изучить Vagrant по документации или книге, написанной разработчиком системы Митчелом Хашимото “Vagrant: Up and Running”.

Пока я не могу сказать, насколько лучше или хуже провайдер Parallels работает в отличие от VirtualBox, я написал заметку, как только увидел, что он запускается.

Меня очень интересует вопрос DevOps и эта заметка — начало серии статей на эту тему.