SlideShare a Scribd company logo
Simplify and run your development
environments with Vagrant on
OpenStack
OpenStack Summit, Vancouver May 19, 2015
Christian Berendt
Cloud Solution Architect
B1 Systems GmbH
berendt@b1-systems.de
Thomas Kaergel
Linux Consultant & Developer
B1 Systems GmbH
kaergel@b1-systems.de
B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development
Introducing B1 Systems
founded in 2004
operating both nationally and internationally
more than 60 employees; low employee turnover
Provider for IBM, SUSE, Oracle & HP
vendor-independent (hardware and software)
Focus:
Consulting
Support
Development
Training
Operations
Solutions
B1 Systems GmbH Development Environments with Vagrant on OpenStack 2 / 55
Areas of Expertise
Virtualization (XEN, KVM & RHEV)
Systems management (Spacewalk, Red Hat Satellite, SUSE
Manager)
Configuration management (Puppet & Chef)
Monitoring (Nagios & Icinga)
IaaS Cloud (OpenStack & SUSE Cloud)
High availability (Pacemaker)
Shared Storage (GPFS, OCFS2, DRBD & CEPH)
File Sharing (ownCloud)
Packaging (Open Build Service)
Providing on-site systems administration and/or development
B1 Systems GmbH Development Environments with Vagrant on OpenStack 3 / 55
Partners
B1 Systems GmbH Development Environments with Vagrant on OpenStack 4 / 55
B1 Systems GmbH Development Environments with Vagrant on OpenStack 5 / 55
Vagrant Objectives 1/2
Create and configure lightweight, reproducible, and portable
development environments.
B1 Systems GmbH Development Environments with Vagrant on OpenStack 6 / 55
Vagrant Objectives 2/2
portability (e.g. use local development environments in the
cloud)
unification (e.g. create one basic environment for everything)
reusability (e.g. in a continuous integration system)
reproducability
development speed-up (e.g. early access for UX designer)
B1 Systems GmbH Development Environments with Vagrant on OpenStack 7 / 55
Vagrant Workflow
B1 Systems GmbH Development Environments with Vagrant on OpenStack 8 / 55
Vagrant Facts
many community plugins
https://github.com/mitchellh/vagrant/wiki/
Available-Vagrant-Plugins
many prepared machine images
https://atlas.hashicorp.com/boxes/search
packer to build machine images
huge knowledge base
http://stackoverflow.com/search?q=vagrant
written in Ruby
source at https://github.com/mitchellh/vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 9 / 55
Vagrant Installation
https://www.vagrantup.com/downloads.html
Linux (RPM) – openSUSE, Fedora, . . .
Linux (DEB) – Ubuntu, Debian, . . .
Mac OS X
Windows
$ vagrant version
Installed Version: 1.7.2
Latest Version: 1.7.2
You’re running an up-to-date version of Vagrant!
B1 Systems GmbH Development Environments with Vagrant on OpenStack 10 / 55
Vagrant Configuration 1/2
Vagrantfile
http://docs.vagrantup.com/v2/vagrantfile/index.html
Vagrant.configure(2) do |config|
# configuration ..
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 11 / 55
Vagrant Configuration 2/2
http://docs.vagrantup.com/v2/vagrantfile/machine_settings.html
Vagrant.configure(2) do |config|
config.vm.define ’testing’ do |node|
node.vm.hostname = ’testing’
end
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 12 / 55
Vagrant Boxes 1/5
B1 Systems GmbH Development Environments with Vagrant on OpenStack 13 / 55
Vagrant Boxes 2/5
https://atlas.hashicorp.com/boxes/search
B1 Systems GmbH Development Environments with Vagrant on OpenStack 14 / 55
Vagrant Boxes 3/5
http://docs.vagrantup.com/v2/boxes.html
Vagrant.configure(2) do |config|
config.vm.define ’node’ do |node|
node.vm.hostname = ’testing’
node.vm.box = ’ubuntu/trusty64’
end
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 15 / 55
Vagrant Boxes 4/5
add a new box with vagrant box add
$ vagrant box add ubuntu/trusty64
==> box: Loading metadata for box ’ubuntu/trusty64’
box: URL: https://atlas.hashicorp.com/ubuntu/trusty64
==> box: Adding box ’ubuntu/trusty64’ (v20150430.0.0) for provider: virtualbox
box: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions
/20150430.0.0/providers/virtualbox.box
==> box: Successfully added box ’ubuntu/trusty64’ (v20150430.0.0) for ’virtualbox’!
B1 Systems GmbH Development Environments with Vagrant on OpenStack 16 / 55
Vagrant Boxes 5/5
list available boxes with vagrant box list
$ vagrant box list
b1-systems/opensuse (virtualbox, 13.2)
boxcutter/centos71 (virtualbox, 1.0.15)
ubuntu/trusty64 (virtualbox, 20150430.0.0)
B1 Systems GmbH Development Environments with Vagrant on OpenStack 17 / 55
Vagrant Standard Provider
Docker
Hyper-V
VMware Fusion & Workstation
VirtualBox
https://docs.vagrantup.com/v2/providers/index.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 18 / 55
Vagrant Bootstrap 1/4
bootstrap with vagrant up using the virtualbox provider
$ vagrant up
Bringing machine ’testing’ up with ’virtualbox’ provider...
==> testing: Importing base box ’ubuntu/trusty64’...
==> testing: Matching MAC address for NAT networking...
==> testing: Checking if box ’ubuntu/trusty64’ is up to date...
==> testing: Setting the name of the VM: testing_testing_1430999179693_84021
[...]
==> testing: Machine booted and ready!
==> testing: Checking for guest additions in VM...
==> testing: Setting hostname...
==> testing: Mounting shared folders...
testing: /vagrant => /home/berendt/testing
B1 Systems GmbH Development Environments with Vagrant on OpenStack 19 / 55
Vagrant Bootstrap 2/4
show status with vagrant status
$ vagrant status
Current machine states:
testing running (virtualbox)
[...]
B1 Systems GmbH Development Environments with Vagrant on OpenStack 20 / 55
Vagrant Bootstrap 3/4
access the console with vagrant ssh
$ vagrant ssh
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-52-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Thu May 7 11:50:08 UTC 2015
System load: 0.92 Processes: 85
Usage of /: 2.8% of 39.34GB Users logged in: 0
Memory usage: 29% IP address for eth0: 10.0.2.15
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
vagrant@testing:~$
B1 Systems GmbH Development Environments with Vagrant on OpenStack 21 / 55
Vagrant Bootstrap 4/4
housekeeping with vagrant destroy
$ vagrant destroy
testing: Are you sure you want to destroy the ’testing’ VM? [y/N] y
==> testing: Forcing shutdown of VM...
==> testing: Destroying VM and associated drives...
B1 Systems GmbH Development Environments with Vagrant on OpenStack 22 / 55
Vagrant Standard Provisioner
Ansible
Shell/File
Chef
CFEngine
Docker
Puppet
Salt
https://docs.vagrantup.com/v2/provisioning/index.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 23 / 55
Shell Provisioner 1/3
node.vm.provision "shell" do |shell|
shell.inline = "echo hello vagrant"
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 24 / 55
Shell Provisioner 2/3
$ vagrant up
[...]
==> testing: Running provisioner: shell...
testing: Running: inline script
==> testing: stdin: is not a tty
==> testing: hello vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 25 / 55
Shell Provisioner 3/3
==> testing: stdin: is not a tty
config.ssh.shell = "bash -c ’BASH_ENV=/etc/profile exec bash’"
B1 Systems GmbH Development Environments with Vagrant on OpenStack 26 / 55
Ansible Provisioner 1/2
---
- hosts: all
sudo: True
tasks:
- apt: name=apache2 state=latest
- service: name=apache2 enabled=yes state=started
https://github.com/ansible/ansible
B1 Systems GmbH Development Environments with Vagrant on OpenStack 27 / 55
Ansible Provisioner 2/2
$ vagrant up
[...]
PLAY [all] ********************************************
GATHERING FACTS ***************************************
ok: [testing]
TASK: [apt name=apache2 state=latest] *****************
changed: [testing]
TASK: [service name=apache2 enabled=yes state=started]
ok: [testing]
PLAY RECAP ********************************************
testing: ok=3 changed=1 unreachable=0 failed=0
B1 Systems GmbH Development Environments with Vagrant on OpenStack 28 / 55
Vagrant – Additional Features 1/4
forward ports from the host machine
config.vm.network "forwarded_port"
http://docs.vagrantup.com/v2/networking/forwarded_ports.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 29 / 55
Vagrant – Additional Features 2/4
synced folders
config.vm.synced_folder "src/", "/srv/website"
http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 30 / 55
Vagrant – Additional Features 3/4
use additional private networks
config.vm.network "private_network", ip: "192.168.50.4"
http://docs.vagrantup.com/v2/networking/private_network.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 31 / 55
Vagrant – Additional Features 4/4
add additional block storage devices
multi-machine environments
B1 Systems GmbH Development Environments with Vagrant on OpenStack 32 / 55
Vagrant Workflow with OpenStack
B1 Systems GmbH Development Environments with Vagrant on OpenStack 33 / 55
OpenStack Provider
mitchellh/vagrant-rackspace
ggiamarchi/vagrant-openstack-provider
cloudbau/vagrant-openstack-plugin
B1 Systems GmbH Development Environments with Vagrant on OpenStack 34 / 55
OpenStack Provider – Installation
https://github.com/ggiamarchi/vagrant-openstack-provider
$ vagrant plugin install vagrant-openstack-provider
Installing the ’vagrant-openstack-provider’ plugin. This can take a few minutes...
Installed the plugin ’vagrant-openstack-provider (0.6.1)’!
B1 Systems GmbH Development Environments with Vagrant on OpenStack 35 / 55
OpenStack Provider – Configuration
specify SSH username, depends on the cloud image used
require ’vagrant-openstack-provider’
Vagrant.configure(’2’) do |config|
config.ssh.username = ’ubuntu’
config.vm.provider :openstack do |os|
os.server_name = ’vagrant’
end
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 36 / 55
OpenStack provider – Credentials 1/2
B1 Systems GmbH Development Environments with Vagrant on OpenStack 37 / 55
OpenStack Provider – Credentials 2/2
entries in the openrc file
export OS_AUTH_URL=https://api.de-fra1.entercloudsuite.com/v2.0
export OS_TENANT_NAME="christian@berendt.io"
export OS_USERNAME="christian@berendt.io"
export OS_PASSWORD="password"
resulting configuration block in the Vagrantfile
important: add /tokens to os.openstack_auth_url
config.vm.provider :openstack do |os|
os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’
os.username = ’christian@berendt.io’
os.password = ’password’
os.tenant_name = ’christian@berendt.io’
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 38 / 55
OpenStack Provider – Resources
helper commands to list existing cloud resources
Flavor – flavor-list
Floating IP address – floatingip-list
Image – image-list
Internal networks – subnet-list
B1 Systems GmbH Development Environments with Vagrant on OpenStack 39 / 55
OpenStack Provider – Flavors
list available flavors with vagrant openstack flavor-list
this session uses e1standard.x1
B1 Systems GmbH Development Environments with Vagrant on OpenStack 40 / 55
OpenStack Provider – Floating IPs
list available floating IP pools with vagrant openstack
floatingip-list
+-------------------+
| Floating IP pools |
+-------------------+
| PublicNetwork |
+-------------------+
+----+----+------+-------------+
| Id | IP | Pool | Instance id |
+----+----+------+-------------+
+----+----+------+-------------+
this session uses PublicNetwork
B1 Systems GmbH Development Environments with Vagrant on OpenStack 41 / 55
OpenStack Provider – Images
list available images with vagrant openstack image-list
this session uses GNU/Linux Ubuntu Server 14.04 LTS
Trusty Tahr x64
B1 Systems GmbH Development Environments with Vagrant on OpenStack 42 / 55
OpenStack Provider – Configuration
define OpenStack resources in the Vagrantfile
flavor: e1standard.x1
floating IP pool: PublicNetwork
image: GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr
x64
config.vm.provider :openstack do |os|
os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’
os.username = ’christian@berendt.io’
os.password = ’password’
os.tenant_name = ’christian@berendt.io’
os.flavor = ’e1standard.x1’
os.floating_ip_pool = ’PublicNetwork’
os.image = ’GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64’
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 43 / 55
OpenStack provider – Bootstrap, First Try
$ vagrant up
Bringing machine ’default’ up with ’openstack’ provider...
==> default: Finding flavor for server...
==> default: Finding image for server...
==> default: Launching a server with the following settings...
==> default: -- Tenant : christian@berendt.io
==> default: -- Name : default
==> default: -- Flavor : e1standard.x1
==> default: -- FlavorRef : 10
==> default: -- Image : GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64
==> default: -- ImageRef : f0094243-0caa-4f7f-81bd-f306dedb2126
==> default: -- KeyPair : vagrant-generated-8k637omz
{"forbidden": {"message": "It is not allowed to create an interface on external
network 50ea4b59-42e9-4427-9f00-16362fd0cfd9", "code": 403}}
B1 Systems GmbH Development Environments with Vagrant on OpenStack 44 / 55
OpenStack Provider – Network 1/3
{"forbidden": {"message": "It is not allowed to create an interface on external
network 50ea4b59-42e9-4427-9f00-16362fd0cfd9", "code": 403}}
1 Create a new network internal (e.g. 192.168.0.0/24)
2 Create a new router router
3 Use the PublicNetwork as the gateway for the router
4 Add the network as an interface to the router
B1 Systems GmbH Development Environments with Vagrant on OpenStack 45 / 55
OpenStack Provider – Network 2/3
Resulting network topology
B1 Systems GmbH Development Environments with Vagrant on OpenStack 46 / 55
OpenStack Provider – Network 3/3
Explicitly specify the created network internal
It is possible to use multiple networks
config.vm.provider :openstack do |os|
os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’
os.username = ’christian@berendt.io’
os.password = ’password’
os.tenant_name = ’christian@berendt.io’
os.flavor = ’e1standard.x1’
os.floating_ip_pool = ’PublicNetwork’
os.image = ’GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64’
os.networks = [ ’internal’ ]
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 47 / 55
OpenStack Provider – Bootstrap, Second Try
1/2
$ vagrant up
Bringing machine ’default’ up with ’openstack’ provider...
==> default: Finding flavor for server...
==> default: Finding image for server...
==> default: Finding network(s) for server...
==> default: Launching a server with the following settings...
==> default: -- Tenant : christian@berendt.io
==> default: -- Name : default
==> default: -- Flavor : e1standard.x1
==> default: -- FlavorRef : 10
==> default: -- Image : GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64
==> default: -- ImageRef : f0094243-0caa-4f7f-81bd-f306dedb2126
==> default: -- KeyPair : vagrant-generated-nchcjm66
==> default: -- Network : 96144df4-12a9-4519-9a1a-814175ccb303
==> default: Waiting for the server to be built...
B1 Systems GmbH Development Environments with Vagrant on OpenStack 48 / 55
OpenStack provider – Bootstrap, Second Try
2/2
==> default: Using floating IP 185.48.33.107
==> default: Waiting for SSH to become available...
ssh: connect to host 185.48.33.107 port 22: Connection refused
[...]
==> default: Waiting for SSH to become available...
ssh: connect to host 185.48.33.107 port 22: Connection refused
[...]
==> default: Waiting for SSH to become available...
ssh: connect to host 185.48.33.107 port 22: Connection refused
[...]
==> default: Waiting for SSH to become available...
Connection to 185.48.33.107 closed.
==> default: The server is ready!
==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 49 / 55
OpenStack Provider
$ vagrant ssh
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Wed May 13 22:36:53 UTC 2015
System load: 0.29 Processes: 78
Usage of /: 3.8% of 19.65GB Users logged in: 0
Memory usage: 11% IP address for eth0: 192.168.0.7
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
Last login: Wed May 13 22:36:50 2015 from zitrone.cabtec.net
ubuntu@default:~$
B1 Systems GmbH Development Environments with Vagrant on OpenStack 50 / 55
OpenStack Provider – Synced Folders
==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 51 / 55
OpenStack Provider – Forwarded Ports
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network features are not supported
Use os.security_groups to apply previously defined security
groups
Add the following line to the Vagrantfile to use the existing
security group http
os.security_groups = [ ’http’ ]
B1 Systems GmbH Development Environments with Vagrant on OpenStack 52 / 55
OpenStack Provider – Additional Storage
List existing volumes with vagrant openstack volume-list
We will use vagrant in this session.
Add the following line to the Vagrantfile
os.volumes = [ ’vagrant’ ]
B1 Systems GmbH Development Environments with Vagrant on OpenStack 53 / 55
Real World Vagrant Examples
devstack-vagrant (openstack-dev project)
monasca-vagrant (stackforge project)
packstack-vagrant (stackforge project)
B1 Systems GmbH Development Environments with Vagrant on OpenStack 54 / 55
Thank You!
For more information, refer to info@b1-systems.de
or +49 (0)8457 - 931096
B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development

More Related Content

What's hot

Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and AgentRanjit Avasarala
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hoursOpenCity Community
 
Automated Amazon EC2 Cloud deployments with openQRM
Automated Amazon EC2 Cloud deployments with openQRMAutomated Amazon EC2 Cloud deployments with openQRM
Automated Amazon EC2 Cloud deployments with openQRMopenQRM Enterprise GmbH
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Githubhubx
 
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuApache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuSlim Baltagi
 
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
OpenStack: DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)OpenStack: DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)Ian Choi
 
DockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best PracticesDockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best PracticesTibor Vass
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPressdotCloud
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-clusterRam Nath
 
Installing and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command linedotCloud
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guideRoberto Boccadoro
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-RanchersTommy Lee
 
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...OpenNebula Project
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with dockerJohan Janssen
 
Kubernetes installation
Kubernetes installationKubernetes installation
Kubernetes installationAhmed Mekawy
 
Continuous infrastructure testing
Continuous infrastructure testingContinuous infrastructure testing
Continuous infrastructure testingDaniel Paulus
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyMediafly
 

What's hot (20)

Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hours
 
Automated Amazon EC2 Cloud deployments with openQRM
Automated Amazon EC2 Cloud deployments with openQRMAutomated Amazon EC2 Cloud deployments with openQRM
Automated Amazon EC2 Cloud deployments with openQRM
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
 
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuApache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
 
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
OpenStack: DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)OpenStack: DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
 
DockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best PracticesDockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best Practices
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-cluster
 
Installing and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command line
 
OpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 WorkshopOpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 Workshop
 
Ansible best practices
Ansible best practicesAnsible best practices
Ansible best practices
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guide
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
 
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...
OpenNebulaConf2017EU: One (Windows) Image to Rule them All by Paul Batchelor,...
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Kubernetes installation
Kubernetes installationKubernetes installation
Kubernetes installation
 
Continuous infrastructure testing
Continuous infrastructure testingContinuous infrastructure testing
Continuous infrastructure testing
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
 
RDO-Packstack Workshop
RDO-Packstack Workshop RDO-Packstack Workshop
RDO-Packstack Workshop
 

Viewers also liked

Data data every where!! Thomas O'Grady
Data data every where!! Thomas O'GradyData data every where!! Thomas O'Grady
Data data every where!! Thomas O'Gradytomo006
 
Anatomyofa twitterrumor
Anatomyofa twitterrumorAnatomyofa twitterrumor
Anatomyofa twitterrumorGnip
 
Images for the Clouds with KIWI & OBS
Images for the Clouds with KIWI & OBSImages for the Clouds with KIWI & OBS
Images for the Clouds with KIWI & OBSB1 Systems GmbH
 
Steps presentation
Steps presentationSteps presentation
Steps presentationLiam Wylie
 
Deploying oracle rac 10g with asm on rhel and sles with svc
Deploying oracle rac 10g with asm on rhel and sles with svcDeploying oracle rac 10g with asm on rhel and sles with svc
Deploying oracle rac 10g with asm on rhel and sles with svcwikiwei
 
W1 printing45
W1 printing45W1 printing45
W1 printing45Kris Kizt
 
성공하는모바일비즈니스패러다임
성공하는모바일비즈니스패러다임성공하는모바일비즈니스패러다임
성공하는모바일비즈니스패러다임gndolf
 
Get genuineprogramagreementroadmap
Get genuineprogramagreementroadmapGet genuineprogramagreementroadmap
Get genuineprogramagreementroadmapFitira
 
The Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.AsiaThe Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.Asiasaumilnanavati
 
Bunny booktemplate1
Bunny booktemplate1Bunny booktemplate1
Bunny booktemplate1mjbeichner
 
Streamline client deployments with customised installation packages
Streamline client deployments with customised installation packagesStreamline client deployments with customised installation packages
Streamline client deployments with customised installation packagesChristian Petters
 
P m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapP m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapFitira
 
Making strategy happen marketplace 2
Making strategy happen   marketplace 2Making strategy happen   marketplace 2
Making strategy happen marketplace 2David Food
 
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...B1 Systems GmbH
 
Ubuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreibenUbuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreibenB1 Systems GmbH
 
internationalization of education, Bologna process and Belarus in Bologna pro...
internationalization of education, Bologna process and Belarus in Bologna pro...internationalization of education, Bologna process and Belarus in Bologna pro...
internationalization of education, Bologna process and Belarus in Bologna pro...Taciana Tuluš-Aleksandrovič
 
班级新变化
班级新变化班级新变化
班级新变化jody531
 

Viewers also liked (20)

Data data every where!! Thomas O'Grady
Data data every where!! Thomas O'GradyData data every where!! Thomas O'Grady
Data data every where!! Thomas O'Grady
 
Anatomyofa twitterrumor
Anatomyofa twitterrumorAnatomyofa twitterrumor
Anatomyofa twitterrumor
 
Images for the Clouds with KIWI & OBS
Images for the Clouds with KIWI & OBSImages for the Clouds with KIWI & OBS
Images for the Clouds with KIWI & OBS
 
Steps presentation
Steps presentationSteps presentation
Steps presentation
 
Deploying oracle rac 10g with asm on rhel and sles with svc
Deploying oracle rac 10g with asm on rhel and sles with svcDeploying oracle rac 10g with asm on rhel and sles with svc
Deploying oracle rac 10g with asm on rhel and sles with svc
 
W1 printing45
W1 printing45W1 printing45
W1 printing45
 
성공하는모바일비즈니스패러다임
성공하는모바일비즈니스패러다임성공하는모바일비즈니스패러다임
성공하는모바일비즈니스패러다임
 
Get genuineprogramagreementroadmap
Get genuineprogramagreementroadmapGet genuineprogramagreementroadmap
Get genuineprogramagreementroadmap
 
Bồ Tát Thừa
Bồ Tát ThừaBồ Tát Thừa
Bồ Tát Thừa
 
The Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.AsiaThe Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.Asia
 
Bunny booktemplate1
Bunny booktemplate1Bunny booktemplate1
Bunny booktemplate1
 
Streamline client deployments with customised installation packages
Streamline client deployments with customised installation packagesStreamline client deployments with customised installation packages
Streamline client deployments with customised installation packages
 
Digipak analysis
Digipak analysisDigipak analysis
Digipak analysis
 
P m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapP m02 inside_selling_managerswrap
P m02 inside_selling_managerswrap
 
Making strategy happen marketplace 2
Making strategy happen   marketplace 2Making strategy happen   marketplace 2
Making strategy happen marketplace 2
 
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
 
Reference_Letter
Reference_LetterReference_Letter
Reference_Letter
 
Ubuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreibenUbuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreiben
 
internationalization of education, Bologna process and Belarus in Bologna pro...
internationalization of education, Bologna process and Belarus in Bologna pro...internationalization of education, Bologna process and Belarus in Bologna pro...
internationalization of education, Bologna process and Belarus in Bologna pro...
 
班级新变化
班级新变化班级新变化
班级新变化
 

Similar to Simplify and run your development environments with Vagrant on OpenStack

Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in developmentAdam Culp
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Stefan Scherer
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackJesse Andrews
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environmentbocribbz
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetesWilliam Stewart
 
Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and Puppet Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and Puppet Coveros, Inc.
 
Releasing and deploying python tools
Releasing and deploying python toolsReleasing and deploying python tools
Releasing and deploying python toolsQuintagroup
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Nils Adermann
 
Creating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre softwareCreating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre softwareB1 Systems GmbH
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Step-by-Step Introduction to Apache Flink
Step-by-Step Introduction to Apache Flink Step-by-Step Introduction to Apache Flink
Step-by-Step Introduction to Apache Flink Slim Baltagi
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardwayDave Pitts
 
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...Artefactual Systems - AtoM
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클Oracle Korea
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with PuppetNick Jones
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantBrian Hogan
 
Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Ata Rehman
 

Similar to Simplify and run your development environments with Vagrant on OpenStack (20)

Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetes
 
Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and Puppet Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and Puppet
 
Releasing and deploying python tools
Releasing and deploying python toolsReleasing and deploying python tools
Releasing and deploying python tools
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)
 
Creating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre softwareCreating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre software
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Vagrant Up in 5 Easy Steps
Vagrant Up in 5 Easy StepsVagrant Up in 5 Easy Steps
Vagrant Up in 5 Easy Steps
 
Vagrant
VagrantVagrant
Vagrant
 
Step-by-Step Introduction to Apache Flink
Step-by-Step Introduction to Apache Flink Step-by-Step Introduction to Apache Flink
Step-by-Step Introduction to Apache Flink
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)
 

More from B1 Systems GmbH

Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingB1 Systems GmbH
 
Android mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen RepoAndroid mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen RepoB1 Systems GmbH
 
Ambilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & HyperionAmbilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & HyperionB1 Systems GmbH
 
B1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Systems GmbH
 
Salt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for DatacentersSalt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for DatacentersB1 Systems GmbH
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerB1 Systems GmbH
 
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitBits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitB1 Systems GmbH
 
End of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStackEnd of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStackB1 Systems GmbH
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
E-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPGE-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPGB1 Systems GmbH
 
Some Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisierenSome Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisierenB1 Systems GmbH
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantB1 Systems GmbH
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?B1 Systems GmbH
 
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SEOpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SEB1 Systems GmbH
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceB1 Systems GmbH
 
Ceph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudCeph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudB1 Systems GmbH
 
Migrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEMigrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEB1 Systems GmbH
 

More from B1 Systems GmbH (20)

Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
Android mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen RepoAndroid mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen Repo
 
Ambilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & HyperionAmbilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & Hyperion
 
B1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AG
 
Salt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for DatacentersSalt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for Datacenters
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitBits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
 
End of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStackEnd of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStack
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
E-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPGE-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPG
 
Some Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisierenSome Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisieren
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit Vagrant
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?
 
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SEOpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
Ceph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudCeph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die Cloud
 
Migrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEMigrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SE
 

Recently uploaded

Topology of the Network class 8 .ppt pdf
Topology of the Network class 8 .ppt pdfTopology of the Network class 8 .ppt pdf
Topology of the Network class 8 .ppt pdfAnushkaTripathi61
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxChloeMeadows1
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?Linksys Velop Login
 
Development Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appsDevelopment Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appscristianmanaila2
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyDamar Juniarto
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkklolsDocherty
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxAnkitscribd
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxabhinandnam9997
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideVarun Mithran
 
Reggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsrahman018755
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebJie Liau
 
Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfOndejSur
 
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresenceCyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresencePC Doctors NET
 
Premier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfPremier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfappinfoedgeca
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsrahman018755
 

Recently uploaded (16)

Topology of the Network class 8 .ppt pdf
Topology of the Network class 8 .ppt pdfTopology of the Network class 8 .ppt pdf
Topology of the Network class 8 .ppt pdf
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptx
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 
Development Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appsDevelopment Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of apps
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptx
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
Reggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirts
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
 
Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdf
 
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresenceCyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
 
Premier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfPremier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdf
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirts
 

Simplify and run your development environments with Vagrant on OpenStack

  • 1. Simplify and run your development environments with Vagrant on OpenStack OpenStack Summit, Vancouver May 19, 2015 Christian Berendt Cloud Solution Architect B1 Systems GmbH berendt@b1-systems.de Thomas Kaergel Linux Consultant & Developer B1 Systems GmbH kaergel@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development
  • 2. Introducing B1 Systems founded in 2004 operating both nationally and internationally more than 60 employees; low employee turnover Provider for IBM, SUSE, Oracle & HP vendor-independent (hardware and software) Focus: Consulting Support Development Training Operations Solutions B1 Systems GmbH Development Environments with Vagrant on OpenStack 2 / 55
  • 3. Areas of Expertise Virtualization (XEN, KVM & RHEV) Systems management (Spacewalk, Red Hat Satellite, SUSE Manager) Configuration management (Puppet & Chef) Monitoring (Nagios & Icinga) IaaS Cloud (OpenStack & SUSE Cloud) High availability (Pacemaker) Shared Storage (GPFS, OCFS2, DRBD & CEPH) File Sharing (ownCloud) Packaging (Open Build Service) Providing on-site systems administration and/or development B1 Systems GmbH Development Environments with Vagrant on OpenStack 3 / 55
  • 4. Partners B1 Systems GmbH Development Environments with Vagrant on OpenStack 4 / 55
  • 5. B1 Systems GmbH Development Environments with Vagrant on OpenStack 5 / 55
  • 6. Vagrant Objectives 1/2 Create and configure lightweight, reproducible, and portable development environments. B1 Systems GmbH Development Environments with Vagrant on OpenStack 6 / 55
  • 7. Vagrant Objectives 2/2 portability (e.g. use local development environments in the cloud) unification (e.g. create one basic environment for everything) reusability (e.g. in a continuous integration system) reproducability development speed-up (e.g. early access for UX designer) B1 Systems GmbH Development Environments with Vagrant on OpenStack 7 / 55
  • 8. Vagrant Workflow B1 Systems GmbH Development Environments with Vagrant on OpenStack 8 / 55
  • 9. Vagrant Facts many community plugins https://github.com/mitchellh/vagrant/wiki/ Available-Vagrant-Plugins many prepared machine images https://atlas.hashicorp.com/boxes/search packer to build machine images huge knowledge base http://stackoverflow.com/search?q=vagrant written in Ruby source at https://github.com/mitchellh/vagrant B1 Systems GmbH Development Environments with Vagrant on OpenStack 9 / 55
  • 10. Vagrant Installation https://www.vagrantup.com/downloads.html Linux (RPM) – openSUSE, Fedora, . . . Linux (DEB) – Ubuntu, Debian, . . . Mac OS X Windows $ vagrant version Installed Version: 1.7.2 Latest Version: 1.7.2 You’re running an up-to-date version of Vagrant! B1 Systems GmbH Development Environments with Vagrant on OpenStack 10 / 55
  • 11. Vagrant Configuration 1/2 Vagrantfile http://docs.vagrantup.com/v2/vagrantfile/index.html Vagrant.configure(2) do |config| # configuration .. end B1 Systems GmbH Development Environments with Vagrant on OpenStack 11 / 55
  • 12. Vagrant Configuration 2/2 http://docs.vagrantup.com/v2/vagrantfile/machine_settings.html Vagrant.configure(2) do |config| config.vm.define ’testing’ do |node| node.vm.hostname = ’testing’ end end B1 Systems GmbH Development Environments with Vagrant on OpenStack 12 / 55
  • 13. Vagrant Boxes 1/5 B1 Systems GmbH Development Environments with Vagrant on OpenStack 13 / 55
  • 14. Vagrant Boxes 2/5 https://atlas.hashicorp.com/boxes/search B1 Systems GmbH Development Environments with Vagrant on OpenStack 14 / 55
  • 15. Vagrant Boxes 3/5 http://docs.vagrantup.com/v2/boxes.html Vagrant.configure(2) do |config| config.vm.define ’node’ do |node| node.vm.hostname = ’testing’ node.vm.box = ’ubuntu/trusty64’ end end B1 Systems GmbH Development Environments with Vagrant on OpenStack 15 / 55
  • 16. Vagrant Boxes 4/5 add a new box with vagrant box add $ vagrant box add ubuntu/trusty64 ==> box: Loading metadata for box ’ubuntu/trusty64’ box: URL: https://atlas.hashicorp.com/ubuntu/trusty64 ==> box: Adding box ’ubuntu/trusty64’ (v20150430.0.0) for provider: virtualbox box: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions /20150430.0.0/providers/virtualbox.box ==> box: Successfully added box ’ubuntu/trusty64’ (v20150430.0.0) for ’virtualbox’! B1 Systems GmbH Development Environments with Vagrant on OpenStack 16 / 55
  • 17. Vagrant Boxes 5/5 list available boxes with vagrant box list $ vagrant box list b1-systems/opensuse (virtualbox, 13.2) boxcutter/centos71 (virtualbox, 1.0.15) ubuntu/trusty64 (virtualbox, 20150430.0.0) B1 Systems GmbH Development Environments with Vagrant on OpenStack 17 / 55
  • 18. Vagrant Standard Provider Docker Hyper-V VMware Fusion & Workstation VirtualBox https://docs.vagrantup.com/v2/providers/index.html B1 Systems GmbH Development Environments with Vagrant on OpenStack 18 / 55
  • 19. Vagrant Bootstrap 1/4 bootstrap with vagrant up using the virtualbox provider $ vagrant up Bringing machine ’testing’ up with ’virtualbox’ provider... ==> testing: Importing base box ’ubuntu/trusty64’... ==> testing: Matching MAC address for NAT networking... ==> testing: Checking if box ’ubuntu/trusty64’ is up to date... ==> testing: Setting the name of the VM: testing_testing_1430999179693_84021 [...] ==> testing: Machine booted and ready! ==> testing: Checking for guest additions in VM... ==> testing: Setting hostname... ==> testing: Mounting shared folders... testing: /vagrant => /home/berendt/testing B1 Systems GmbH Development Environments with Vagrant on OpenStack 19 / 55
  • 20. Vagrant Bootstrap 2/4 show status with vagrant status $ vagrant status Current machine states: testing running (virtualbox) [...] B1 Systems GmbH Development Environments with Vagrant on OpenStack 20 / 55
  • 21. Vagrant Bootstrap 3/4 access the console with vagrant ssh $ vagrant ssh Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-52-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Thu May 7 11:50:08 UTC 2015 System load: 0.92 Processes: 85 Usage of /: 2.8% of 39.34GB Users logged in: 0 Memory usage: 29% IP address for eth0: 10.0.2.15 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 0 packages can be updated. 0 updates are security updates. vagrant@testing:~$ B1 Systems GmbH Development Environments with Vagrant on OpenStack 21 / 55
  • 22. Vagrant Bootstrap 4/4 housekeeping with vagrant destroy $ vagrant destroy testing: Are you sure you want to destroy the ’testing’ VM? [y/N] y ==> testing: Forcing shutdown of VM... ==> testing: Destroying VM and associated drives... B1 Systems GmbH Development Environments with Vagrant on OpenStack 22 / 55
  • 24. Shell Provisioner 1/3 node.vm.provision "shell" do |shell| shell.inline = "echo hello vagrant" end B1 Systems GmbH Development Environments with Vagrant on OpenStack 24 / 55
  • 25. Shell Provisioner 2/3 $ vagrant up [...] ==> testing: Running provisioner: shell... testing: Running: inline script ==> testing: stdin: is not a tty ==> testing: hello vagrant B1 Systems GmbH Development Environments with Vagrant on OpenStack 25 / 55
  • 26. Shell Provisioner 3/3 ==> testing: stdin: is not a tty config.ssh.shell = "bash -c ’BASH_ENV=/etc/profile exec bash’" B1 Systems GmbH Development Environments with Vagrant on OpenStack 26 / 55
  • 27. Ansible Provisioner 1/2 --- - hosts: all sudo: True tasks: - apt: name=apache2 state=latest - service: name=apache2 enabled=yes state=started https://github.com/ansible/ansible B1 Systems GmbH Development Environments with Vagrant on OpenStack 27 / 55
  • 28. Ansible Provisioner 2/2 $ vagrant up [...] PLAY [all] ******************************************** GATHERING FACTS *************************************** ok: [testing] TASK: [apt name=apache2 state=latest] ***************** changed: [testing] TASK: [service name=apache2 enabled=yes state=started] ok: [testing] PLAY RECAP ******************************************** testing: ok=3 changed=1 unreachable=0 failed=0 B1 Systems GmbH Development Environments with Vagrant on OpenStack 28 / 55
  • 29. Vagrant – Additional Features 1/4 forward ports from the host machine config.vm.network "forwarded_port" http://docs.vagrantup.com/v2/networking/forwarded_ports.html B1 Systems GmbH Development Environments with Vagrant on OpenStack 29 / 55
  • 30. Vagrant – Additional Features 2/4 synced folders config.vm.synced_folder "src/", "/srv/website" http://docs.vagrantup.com/v2/synced-folders/basic_usage.html B1 Systems GmbH Development Environments with Vagrant on OpenStack 30 / 55
  • 31. Vagrant – Additional Features 3/4 use additional private networks config.vm.network "private_network", ip: "192.168.50.4" http://docs.vagrantup.com/v2/networking/private_network.html B1 Systems GmbH Development Environments with Vagrant on OpenStack 31 / 55
  • 32. Vagrant – Additional Features 4/4 add additional block storage devices multi-machine environments B1 Systems GmbH Development Environments with Vagrant on OpenStack 32 / 55
  • 33. Vagrant Workflow with OpenStack B1 Systems GmbH Development Environments with Vagrant on OpenStack 33 / 55
  • 35. OpenStack Provider – Installation https://github.com/ggiamarchi/vagrant-openstack-provider $ vagrant plugin install vagrant-openstack-provider Installing the ’vagrant-openstack-provider’ plugin. This can take a few minutes... Installed the plugin ’vagrant-openstack-provider (0.6.1)’! B1 Systems GmbH Development Environments with Vagrant on OpenStack 35 / 55
  • 36. OpenStack Provider – Configuration specify SSH username, depends on the cloud image used require ’vagrant-openstack-provider’ Vagrant.configure(’2’) do |config| config.ssh.username = ’ubuntu’ config.vm.provider :openstack do |os| os.server_name = ’vagrant’ end end B1 Systems GmbH Development Environments with Vagrant on OpenStack 36 / 55
  • 37. OpenStack provider – Credentials 1/2 B1 Systems GmbH Development Environments with Vagrant on OpenStack 37 / 55
  • 38. OpenStack Provider – Credentials 2/2 entries in the openrc file export OS_AUTH_URL=https://api.de-fra1.entercloudsuite.com/v2.0 export OS_TENANT_NAME="christian@berendt.io" export OS_USERNAME="christian@berendt.io" export OS_PASSWORD="password" resulting configuration block in the Vagrantfile important: add /tokens to os.openstack_auth_url config.vm.provider :openstack do |os| os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’ os.username = ’christian@berendt.io’ os.password = ’password’ os.tenant_name = ’christian@berendt.io’ end B1 Systems GmbH Development Environments with Vagrant on OpenStack 38 / 55
  • 39. OpenStack Provider – Resources helper commands to list existing cloud resources Flavor – flavor-list Floating IP address – floatingip-list Image – image-list Internal networks – subnet-list B1 Systems GmbH Development Environments with Vagrant on OpenStack 39 / 55
  • 40. OpenStack Provider – Flavors list available flavors with vagrant openstack flavor-list this session uses e1standard.x1 B1 Systems GmbH Development Environments with Vagrant on OpenStack 40 / 55
  • 41. OpenStack Provider – Floating IPs list available floating IP pools with vagrant openstack floatingip-list +-------------------+ | Floating IP pools | +-------------------+ | PublicNetwork | +-------------------+ +----+----+------+-------------+ | Id | IP | Pool | Instance id | +----+----+------+-------------+ +----+----+------+-------------+ this session uses PublicNetwork B1 Systems GmbH Development Environments with Vagrant on OpenStack 41 / 55
  • 42. OpenStack Provider – Images list available images with vagrant openstack image-list this session uses GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64 B1 Systems GmbH Development Environments with Vagrant on OpenStack 42 / 55
  • 43. OpenStack Provider – Configuration define OpenStack resources in the Vagrantfile flavor: e1standard.x1 floating IP pool: PublicNetwork image: GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64 config.vm.provider :openstack do |os| os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’ os.username = ’christian@berendt.io’ os.password = ’password’ os.tenant_name = ’christian@berendt.io’ os.flavor = ’e1standard.x1’ os.floating_ip_pool = ’PublicNetwork’ os.image = ’GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64’ end B1 Systems GmbH Development Environments with Vagrant on OpenStack 43 / 55
  • 44. OpenStack provider – Bootstrap, First Try $ vagrant up Bringing machine ’default’ up with ’openstack’ provider... ==> default: Finding flavor for server... ==> default: Finding image for server... ==> default: Launching a server with the following settings... ==> default: -- Tenant : christian@berendt.io ==> default: -- Name : default ==> default: -- Flavor : e1standard.x1 ==> default: -- FlavorRef : 10 ==> default: -- Image : GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64 ==> default: -- ImageRef : f0094243-0caa-4f7f-81bd-f306dedb2126 ==> default: -- KeyPair : vagrant-generated-8k637omz {"forbidden": {"message": "It is not allowed to create an interface on external network 50ea4b59-42e9-4427-9f00-16362fd0cfd9", "code": 403}} B1 Systems GmbH Development Environments with Vagrant on OpenStack 44 / 55
  • 45. OpenStack Provider – Network 1/3 {"forbidden": {"message": "It is not allowed to create an interface on external network 50ea4b59-42e9-4427-9f00-16362fd0cfd9", "code": 403}} 1 Create a new network internal (e.g. 192.168.0.0/24) 2 Create a new router router 3 Use the PublicNetwork as the gateway for the router 4 Add the network as an interface to the router B1 Systems GmbH Development Environments with Vagrant on OpenStack 45 / 55
  • 46. OpenStack Provider – Network 2/3 Resulting network topology B1 Systems GmbH Development Environments with Vagrant on OpenStack 46 / 55
  • 47. OpenStack Provider – Network 3/3 Explicitly specify the created network internal It is possible to use multiple networks config.vm.provider :openstack do |os| os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’ os.username = ’christian@berendt.io’ os.password = ’password’ os.tenant_name = ’christian@berendt.io’ os.flavor = ’e1standard.x1’ os.floating_ip_pool = ’PublicNetwork’ os.image = ’GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64’ os.networks = [ ’internal’ ] end B1 Systems GmbH Development Environments with Vagrant on OpenStack 47 / 55
  • 48. OpenStack Provider – Bootstrap, Second Try 1/2 $ vagrant up Bringing machine ’default’ up with ’openstack’ provider... ==> default: Finding flavor for server... ==> default: Finding image for server... ==> default: Finding network(s) for server... ==> default: Launching a server with the following settings... ==> default: -- Tenant : christian@berendt.io ==> default: -- Name : default ==> default: -- Flavor : e1standard.x1 ==> default: -- FlavorRef : 10 ==> default: -- Image : GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahr x64 ==> default: -- ImageRef : f0094243-0caa-4f7f-81bd-f306dedb2126 ==> default: -- KeyPair : vagrant-generated-nchcjm66 ==> default: -- Network : 96144df4-12a9-4519-9a1a-814175ccb303 ==> default: Waiting for the server to be built... B1 Systems GmbH Development Environments with Vagrant on OpenStack 48 / 55
  • 49. OpenStack provider – Bootstrap, Second Try 2/2 ==> default: Using floating IP 185.48.33.107 ==> default: Waiting for SSH to become available... ssh: connect to host 185.48.33.107 port 22: Connection refused [...] ==> default: Waiting for SSH to become available... ssh: connect to host 185.48.33.107 port 22: Connection refused [...] ==> default: Waiting for SSH to become available... ssh: connect to host 185.48.33.107 port 22: Connection refused [...] ==> default: Waiting for SSH to become available... Connection to 185.48.33.107 closed. ==> default: The server is ready! ==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant B1 Systems GmbH Development Environments with Vagrant on OpenStack 49 / 55
  • 50. OpenStack Provider $ vagrant ssh Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Wed May 13 22:36:53 UTC 2015 System load: 0.29 Processes: 78 Usage of /: 3.8% of 19.65GB Users logged in: 0 Memory usage: 11% IP address for eth0: 192.168.0.7 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 0 packages can be updated. 0 updates are security updates. Last login: Wed May 13 22:36:50 2015 from zitrone.cabtec.net ubuntu@default:~$ B1 Systems GmbH Development Environments with Vagrant on OpenStack 50 / 55
  • 51. OpenStack Provider – Synced Folders ==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant B1 Systems GmbH Development Environments with Vagrant on OpenStack 51 / 55
  • 52. OpenStack Provider – Forwarded Ports config.vm.network "forwarded_port", guest: 80, host: 8080 config.vm.network features are not supported Use os.security_groups to apply previously defined security groups Add the following line to the Vagrantfile to use the existing security group http os.security_groups = [ ’http’ ] B1 Systems GmbH Development Environments with Vagrant on OpenStack 52 / 55
  • 53. OpenStack Provider – Additional Storage List existing volumes with vagrant openstack volume-list We will use vagrant in this session. Add the following line to the Vagrantfile os.volumes = [ ’vagrant’ ] B1 Systems GmbH Development Environments with Vagrant on OpenStack 53 / 55
  • 54. Real World Vagrant Examples devstack-vagrant (openstack-dev project) monasca-vagrant (stackforge project) packstack-vagrant (stackforge project) B1 Systems GmbH Development Environments with Vagrant on OpenStack 54 / 55
  • 55. Thank You! For more information, refer to info@b1-systems.de or +49 (0)8457 - 931096 B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development