Skip the But it Works on My Machine Excuse with Vagrant



Similar documents
Automated Configuration of Open Stack Instances at Boot Time

Cloud-init. Marc Skinner - Principal Solutions Architect Michael Heldebrant - Solutions Architect Red Hat

Training module 2 Installing VMware View

HP SDN VM and Ubuntu Setup

Extending Remote Desktop for Large Installations. Distributed Package Installs

Using Vagrant for Magento development. Alexander

Using VirtualBox ACHOTL1 Virtual Machines

APPLICATION NOTE. How to build pylon applications for ARM

Virtual machine W4M- Galaxy: Installation guide

Accessing VirtualBox Guests from Host using SSH, WinSCP and Tunnelling

Automated deployment of virtualization-based research models of distributed computer systems

CommandCenter Secure Gateway

13.1 Backup virtual machines running on VMware ESXi / ESX Server

About the VM-Series Firewall

MATLAB on EC2 Instructions Guide

How To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint

Data Center Automation with the VM-Series

A SHORT INTRODUCTION TO BITNAMI WITH CLOUD & HEAT. Version

Configuring High Availability for VMware vcenter in RMS Distributed Setup

The FlexiSchools Online Order Management System Installation Guide

Laboration 3 - Administration

Setting up VMware Server v1 for 2X VirtualDesktopServer Manual

Table of Contents. Online backup Manager User s Guide

"Infrastructure as Code" für Anfänger. XP Days Germany David Völkel

The FlexiSchools Online Order Management System Installation Guide

Introduction. Installation of SE S AM E BARCODE virtual machine distribution. (Windows / Mac / Linux)

Cedric Rajendran VMware, Inc. Security Hardening vsphere 5.5

Cloud Homework instructions for AWS default instance (Red Hat based)

Backup of ESXi Virtual Machines using Affa

POD INSTALLATION AND CONFIGURATION GUIDE. EMC CIS Series 1

OCS Virtual image. User guide. Version: Viking Edition

Setting up VMware ESXi for 2X VirtualDesktopServer Manual

Virtual Systems with qemu

INSTALLATION GUIDE El Jefe 2.1 Document version: June 2014

Testing your Linux Virtual Box

NetIQ Aegis Adapter for VMware vcenter Server

HOWTO configure Xinu under Virtual Box

How To Set Up A Network Map In Linux On A Ubuntu 2.5 (Amd64) On A Raspberry Mobi) On An Ubuntu (Amd66) On Ubuntu 4.5 On A Windows Box

VIRTUAL NETWORKING WITH "VMware Player" Summary:

Putting It All Together. Vagrant Drush Version Control

Deployment - post Xserve

HOWTO: Set up a Vyatta device with ThreatSTOP in router mode

depl Documentation Release depl contributors

ECT362 Installing Linux Virtual Machine in KL322

WA2192 Introduction to Big Data and NoSQL. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1

Hadoop Data Warehouse Manual

VX 9000E WiNG Express Manager INSTALLATION GUIDE

Quick Start Guide for Parallels Virtuozzo

CloudCIX Bootcamp. The essential IaaS getting started guide.

Advantages and Disadvantages of Application Network Marketing Systems

Equalizer VLB Beta I. Copyright 2008 Equalizer VLB Beta I 1 Coyote Point Systems Inc.

Virtualization & Cloud Computing (2W-VnCC)

FEEG Applied Programming 3 - Version Control and Git II

UForge 3.4 Release Notes

Vembu BDR v Release Notes. Major features in v Other features in Vembu BDR. Cloud Disaster Recovery Service. VMware UltraBlaze.

2XApplication Server XG v10.6

2XApplication Server XG v10.1

Intelligent Video Analytics. Server Installation Guide. - Windows - Linux

How To Use Outlook On A Virtual Desktop On A Pc Or Macbook

Integration Guide: Using Unidesk 3.x with Citrix XenDesktop

Installing Sun's VirtualBox on Windows XP and setting up an Ubuntu VM

Building a Private Cloud Cloud Infrastructure Using Opensource

NOC PS manual. Copyright Maxnet All rights reserved. Page 1/45 NOC-PS Manuel EN version 1.3

User Manual. User Manual for Version

PARALLELS SERVER BARE METAL 5.0 README

Before You Begin: NOTE: Please read each step of these instructions carefully as not all steps include accompanying pictures.

Symantec Cyber Readiness Challenge Player s Manual

Virtual Appliance Setup Guide

ONLINE BACKUP MANAGER TROUBLESHOOTING MISSING BACKUP JOBS

Platform as a Service and Container Clouds

HP Operations Orchestration Software

Verax Service Desk Installation Guide for UNIX and Windows

Dell UPS Local Node Manager USER'S GUIDE EXTENSION FOR MICROSOFT VIRTUAL ARCHITECTURES Dellups.com

Git - Working with Remote Repositories

Hadoop Basics with InfoSphere BigInsights

deploying meteor with meteor up

Quick Start Guide for VMware and Windows 7

Evaluating the Balabit Shell Control Box

PowerPanel Business Edition Installation Guide

How to install and set up the WinSCP software for Secure File Transfer

Upgrading to Ubuntu Server Edition LTS

Kaviza VDI-in-a-box Administration Guide Version 3.0 kaviza Inc. (

Déployer son propre cloud avec OpenStack. GULL François Deppierraz

Magento Search Extension TECHNICAL DOCUMENTATION

Creating a Linux Virtual Machine using Virtual Box

ADFS 2.0 Application Director Blueprint Deployment Guide

The FlexiSchools Online Order Management (FOOM) Installation Guide

Author A.Kishore/Sachin VNC Background

Patch Management. Module VMware Inc. All rights reserved

Eaton NetWatch NetWatch installation and configuration guide VMware ESX 3 Virtual architecture

1. Downloading. 2. Installation and License Acquiring. Xilinx ISE Webpack + Project Setup Instructions

How To Install An Org Vm Server On A Virtual Box On An Ubuntu (Orchestra) On A Windows Box On A Microsoft Zephyrus (Orroster) 2.5 (Orner)

Virtual Managment Appliance Setup Guide

The FlexiSchools Online Order Management System Installation Guide

Wolfr am Lightweight Grid M TM anager USER GUIDE

Installing and Administering VMware vsphere Update Manager

VMware for Bosch VMS. en Software Manual

SAS University Edition: Installation Guide for Linux

Transcription:

Skip the Excuse with Vagrant Ohio LinuxFest 2015

Outline 1 2 3 4

Agenda 1 2 3 4

JVM and Big Data Developer Stylophile Coffee aficionado joseph@josephbeard.net @jbeard6 http://josephbeard.net

Agenda 1 2 3 4

Vagrant A tool for creating, managing, and distributing portable development environments.

Agenda 1 2 3 4

$ vagrant init hashicorp/precise64 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. $ ls Vagrantfile $ cat Vagrantfile

$ vagrant init hashicorp/precise64 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. $ ls Vagrantfile $ cat Vagrantfile

$ vagrant init hashicorp/precise64 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. $ ls Vagrantfile $ cat Vagrantfile

$ vagrant init hashicorp/precise64 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. $ ls Vagrantfile $ cat Vagrantfile

$ vagrant up Bringing machine default up with vmware_workstation provider... ==> default: Box hashicorp/precise64 could not be found. default: Attempting to find and install... default: Box Provider: vmware_desktop, vmware_fusion, vmware_workstation default: Box Version: >= 0 ==> default: Loading metadata for box hashicorp/precise64 default: URL: https://atlas.hashicorp.com/hashicorp/precise64 ==> default: Adding box hashicorp/precise64 (v1.1.0) default: Downloading: https://vagrantcloud.com/hashicorp/boxes/... ==> default: Successfully added box hashicorp/precise64 (v1.1.0)! ==> default: Cloning VMware VM: hashicorp/precise64. default: This can take some time... ==> default: Checking if box hashicorp/precise64 is up to date... ==> default: Verifying vmnet devices are healthy... ==> default: Preparing network adapters... ==> default: Starting the VMware VM...

$ vagrant up Bringing machine default up with vmware_workstation provider... ==> default: Box hashicorp/precise64 could not be found. default: Attempting to find and install... default: Box Provider: vmware_desktop, vmware_fusion, vmware_workstation default: Box Version: >= 0 ==> default: Loading metadata for box hashicorp/precise64 default: URL: https://atlas.hashicorp.com/hashicorp/precise64 ==> default: Adding box hashicorp/precise64 (v1.1.0) default: Downloading: https://vagrantcloud.com/hashicorp/boxes/... ==> default: Successfully added box hashicorp/precise64 (v1.1.0)! ==> default: Cloning VMware VM: hashicorp/precise64. default: This can take some time... ==> default: Checking if box hashicorp/precise64 is up to date... ==> default: Verifying vmnet devices are healthy... ==> default: Preparing network adapters... ==> default: Starting the VMware VM...

$ vagrant up Bringing machine default up with vmware_workstation provider... ==> default: Box hashicorp/precise64 could not be found. default: Attempting to find and install... default: Box Provider: vmware_desktop, vmware_fusion, vmware_workstation default: Box Version: >= 0 ==> default: Loading metadata for box hashicorp/precise64 default: URL: https://atlas.hashicorp.com/hashicorp/precise64 ==> default: Adding box hashicorp/precise64 (v1.1.0) default: Downloading: https://vagrantcloud.com/hashicorp/boxes/... ==> default: Successfully added box hashicorp/precise64 (v1.1.0)! ==> default: Cloning VMware VM: hashicorp/precise64. default: This can take some time... ==> default: Checking if box hashicorp/precise64 is up to date... ==> default: Verifying vmnet devices are healthy... ==> default: Preparing network adapters... ==> default: Starting the VMware VM...

$ vagrant up Bringing machine default up with vmware_workstation provider... ==> default: Box hashicorp/precise64 could not be found. default: Attempting to find and install... default: Box Provider: vmware_desktop, vmware_fusion, vmware_workstation default: Box Version: >= 0 ==> default: Loading metadata for box hashicorp/precise64 default: URL: https://atlas.hashicorp.com/hashicorp/precise64 ==> default: Adding box hashicorp/precise64 (v1.1.0) default: Downloading: https://vagrantcloud.com/hashicorp/boxes/... ==> default: Successfully added box hashicorp/precise64 (v1.1.0)! ==> default: Cloning VMware VM: hashicorp/precise64. default: This can take some time... ==> default: Checking if box hashicorp/precise64 is up to date... ==> default: Verifying vmnet devices are healthy... ==> default: Preparing network adapters... ==> default: Starting the VMware VM...

==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 172.16.69.128:22 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it s present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Forwarding ports... default: -- 22 => 2222 ==> default: Configuring network adapters within the VM... ==> default: Waiting for HGFS kernel module to load... ==> default: Enabling and configuring shared folders... default: -- /home/joseph/projects/vagrant-demos/simple-demo: /vagrant $

==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 172.16.69.128:22 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it s present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Forwarding ports... default: -- 22 => 2222 ==> default: Configuring network adapters within the VM... ==> default: Waiting for HGFS kernel module to load... ==> default: Enabling and configuring shared folders... default: -- /home/joseph/projects/vagrant-demos/simple-demo: /vagrant $

==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 172.16.69.128:22 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it s present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Forwarding ports... default: -- 22 => 2222 ==> default: Configuring network adapters within the VM... ==> default: Waiting for HGFS kernel module to load... ==> default: Enabling and configuring shared folders... default: -- /home/joseph/projects/vagrant-demos/simple-demo: /vagrant $

Host $ lsb_release -d Description: Fedora release 22 (Twenty Two) Guest $ vagrant ssh Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-virtual x86_64) * Documentation: https://help.ubuntu.com/ Last login: Thu Jan 31 13:48:53 2013 vagrant@precise64:~$ ls /vagrant Vagrantfile vagrant@precise64:~$ logout Connection to 172.16.69.128 closed.

Host $ lsb_release -d Description: Fedora release 22 (Twenty Two) Guest $ vagrant ssh Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-virtual x86_64) * Documentation: https://help.ubuntu.com/ Last login: Thu Jan 31 13:48:53 2013 vagrant@precise64:~$ ls /vagrant Vagrantfile vagrant@precise64:~$ logout Connection to 172.16.69.128 closed.

Host $ lsb_release -d Description: Fedora release 22 (Twenty Two) Guest $ vagrant ssh Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-virtual x86_64) * Documentation: https://help.ubuntu.com/ Last login: Thu Jan 31 13:48:53 2013 vagrant@precise64:~$ ls /vagrant Vagrantfile vagrant@precise64:~$ logout Connection to 172.16.69.128 closed.

Host $ lsb_release -d Description: Fedora release 22 (Twenty Two) Guest $ vagrant ssh Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-virtual x86_64) * Documentation: https://help.ubuntu.com/ Last login: Thu Jan 31 13:48:53 2013 vagrant@precise64:~$ ls /vagrant Vagrantfile vagrant@precise64:~$ logout Connection to 172.16.69.128 closed.

$ vagrant halt ==> default: Attempting graceful shutdown of VM... $ vagrant status Current machine states: default not running (vmware_workstation) The VM is powered off. To restart the VM, run vagrant up $

$ vagrant halt ==> default: Attempting graceful shutdown of VM... $ vagrant status Current machine states: default not running (vmware_workstation) The VM is powered off. To restart the VM, run vagrant up $

$ vagrant halt ==> default: Attempting graceful shutdown of VM... $ vagrant status Current machine states: default not running (vmware_workstation) The VM is powered off. To restart the VM, run vagrant up $

$ vagrant up Bringing machine default up with vmware_workstation provider...... ==> default: Machine already provisioned. Run vagrant provision or use ==> default: the --provision flag to force provisioning. ==> default: Provisioners marked to run always will still run. $ $ vagrant destroy default: Are you sure you want to destroy the default VM? [y/n] y ==> default: Stopping the VMware VM... ==> default: Deleting the VM... $

$ vagrant up Bringing machine default up with vmware_workstation provider...... ==> default: Machine already provisioned. Run vagrant provision or use ==> default: the --provision flag to force provisioning. ==> default: Provisioners marked to run always will still run. $ $ vagrant destroy default: Are you sure you want to destroy the default VM? [y/n] y ==> default: Stopping the VMware VM... ==> default: Deleting the VM... $

$ vagrant up Bringing machine default up with vmware_workstation provider...... ==> default: Machine already provisioned. Run vagrant provision or use ==> default: the --provision flag to force provisioning. ==> default: Provisioners marked to run always will still run. $ $ vagrant destroy default: Are you sure you want to destroy the default VM? [y/n] y ==> default: Stopping the VMware VM... ==> default: Deleting the VM... $

$ vagrant up Bringing machine default up with vmware_workstation provider...... ==> default: Machine already provisioned. Run vagrant provision or use ==> default: the --provision flag to force provisioning. ==> default: Provisioners marked to run always will still run. $ $ vagrant destroy default: Are you sure you want to destroy the default VM? [y/n] y ==> default: Stopping the VMware VM... ==> default: Deleting the VM... $

Agenda 1 2 3 4

Agenda 1 2 3 4

Working on The original motivation Conflicting dependencies

Agenda 1 2 3 4

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Bootstrapping a Developer How long does it take? Snowflakes READMEs / Wiki Setup scripts Good luck! Knowledge transfers to other projects and companies

Agenda 1 2 3 4

Test a Change The test environment Coordinate with others What change broke it? vagrant share Continuous Integration

Test a Change The test environment Coordinate with others What change broke it? vagrant share Continuous Integration

Test a Change The test environment Coordinate with others What change broke it? vagrant share Continuous Integration

Test a Change The test environment Coordinate with others What change broke it? vagrant share Continuous Integration

Test a Change The test environment Coordinate with others What change broke it? vagrant share Continuous Integration

Agenda 1 2 3 4

Dependencies Provisioning Shell scripts Puppet Chef Ansible Salt CFEngine... Spot problems early! Operations can test provisioning Developers use same provisioning as production

Dependencies Provisioning Shell scripts Puppet Chef Ansible Salt CFEngine... Spot problems early! Operations can test provisioning Developers use same provisioning as production

Dependencies Custom Boxes Packer Same image as production! Amazon EC 2 OpenStack Xen ESXi

Dependencies Custom Boxes Packer Same image as production! Amazon EC 2 OpenStack Xen ESXi

Service Distribution Multiple machines Private networks

Agenda 1 2 3 4

Agenda 1 2 3 4

How to 1 Install VirtualBox 2 Install Vagrant 3 Locate a box

Resources https://vagrantup.com https://vagrantcloud.com https://www.virtualbox.org https://github.com/jbeard6 http://www.colug.net