Code Monkey home page Code Monkey logo

firefly-packer's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.