All Projects → JNPRAutomate → firefly-packer

JNPRAutomate / firefly-packer

Licence: Apache-2.0 license
Packer scripts for building cloud-automatation-friendly Firefly images

Programming Languages

HTML
75241 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects

firefly-packer

Build Status

Packer scripts for building cloud-automatation-friendly vSRX (aka Firefly Perimeter) images

Usage

Please see the Packer documentation if you plan on building these images yourself!

  1. Grab the latest packer 0.7.5 or newer.
  2. Clone this repo, e.g. git clone https://github.com/JNPRAutomate/firefly-packer
  3. Procure Firefly images, and place in images/firefly/download in the firefly-packer git directory
  4. Run the image-prep.sh script to prepare the images.
  5. Modify the templates for your environment, if desired
  6. packer validate <templatename> will validate the JSON templates provided. If any of the source VMs, files, scripts, or automation inputs are missing, validate will tell you which ones (in addition to JSON syntax)
  7. packer build <templatename> will build the VMs for VMware and VirtualBox. You need both installed, or you need to specify -only virtualbox-ovf or -only vmware-vmx
  8. The finished VM boxes will be placed in builds/<provider>

PROTIP:

Or... you can make use of the VMs at Atlas

VMs

These vSRX boxes are experimental, but should work fine for all of your lab and testing needs. They also serve as a preview of how OpenStack or VMware vSphere deployment tools could work (same Vagrant commands).

VM Settings

Since these boxes are designed to use NAT networks with port forwarding for access, their administrative plane will not be exposed, unless you choose to expose it. It is recommended that you change these defaults in exposed lab environments, or build your own VMs using the firefly-packer project and packer.

  • root password is set to Juniper
  • vagrant account uses the Vagrant project's insecure public key, but will automatically change this to a unique key for your install. You can also specify your own key, but since the key is auto-generated, we recommend using that
  • a single interface is enabled, which maps to the default VMware or VirtualBox NAT network
  • this interface is a member of the functional-zone management, with host-inbound-traffic system services all and host-inbound-traffic protocols all for ge-0/0/0.0

Notes

  • vagrant plugin add vagrant-junos will install a guest plugin for Junos
  • vagrant plugin add vagrant-host-shell is a requirement for the
  • The most common issues are centered around host and hypervisor issues:
    • disable or limit host firewall function to accommodate virtual networks and port forwarding
    • disconnect from VPNs, and have a good understanding of split tunneling and host routing, and how it affects VMs in your environment
    • VBoxManage list vms will show running VMs and orphans. If you're using VirtualBox, it's recommended that you understand as much as possible about VBoxManage, since it will allow for further image + network configuration
    • If you're using VMware, vmrun list will list all running VMs, and it's recommended that you understand what vmrun commands are at your disposal

##Additional Documentation

##Issues

Please open any issues on the firefly-packer github issue tracker. Please make sure you've checked out the common issues before opening a ticket.

##TODO Look into performance tuning options

Setting kern.hz in /boot/loader.conf. Currently set to 200, reducing latency it should be set to 1000. https://www.freebsd.org/doc/handbook/virtualization-guest.html

On VTY to Flowd: set i386 ft_sleep disable

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].