Skip to content

Latest commit

 

History

History

vagrant

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Vagrant

The intent of the Vagrant directory is to provide multiple examples of installing PyEZ using tools such as Ansible, Puppet, and Chef. The host and guest operating systems will vary based on capability of each provisioner, and updates are provided as best effort.


Prerequisites

vagrant status

Display status of configured machines.

vagrant up or vagrant up <boxname>

This will bring up a new virtual machine, after downloading the image from Opscode's Bento project.

vagrant ssh <boxname>

Creates an SSH session to the VM

vagrant halt or vagrant halt <boxname>

Stop the VM(s). Leaving the machine name out will perform the action on all created VMs. This doesn't work with all commands.

vagrant destroy or vagrant destory <boxname>

Delete the virtual machines from your system. The actual base box files will remain in .vagrant.d in your home directory, and can be listed with vagrant box list, and removed with vagrant box delete <boxname>.

vagrant provision <boxname>

Provisions a VM, e.g. installs prerequisites and builds/installs py-junos-eznc. (Runs automatically after vagrant up. Only needed when something fails. Safe to run multiple times (idempotent))

NOTE: See the official Vagrant documentation for a more detailed information


Usage

  • Manually testing the build against different host platforms
  • Creating builders that can be called from jenkins-ci
  • Determining the best practices for prerequisite and Python installs, e.g. CentOS 6 only supports Python up to 2.6 with EPEL, so Python should be installed from source, with pyenv (as the local user, not system-wide), etc.
  • The Vagrantfile can be very easily modified to use cloud environments or VMware, as opposed to virtualbox