SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
Simplify and run your development
environments with Vagrant on
OpenStack
FrOSCon 2015, Sankt Augustin 23. August 2015
Christian Berendt
Cloud Solution Architect
B1 Systems GmbH
berendt@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 / 54
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 / 54
B1 Systems GmbH Development Environments with Vagrant on OpenStack 4 / 54
Vagrant Objectives 1/2
Create and configure lightweight, reproducible, and portable
development environments.
B1 Systems GmbH Development Environments with Vagrant on OpenStack 5 / 54
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 6 / 54
Vagrant Workflow
B1 Systems GmbH Development Environments with Vagrant on OpenStack 7 / 54
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 8 / 54
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 9 / 54
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 10 / 54
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 11 / 54
Vagrant Boxes 1/5
B1 Systems GmbH Development Environments with Vagrant on OpenStack 12 / 54
Vagrant Boxes 2/5
https://atlas.hashicorp.com/boxes/search
B1 Systems GmbH Development Environments with Vagrant on OpenStack 13 / 54
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 14 / 54
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 15 / 54
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 16 / 54
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 17 / 54
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 18 / 54
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 19 / 54
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 20 / 54
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 21 / 54
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 22 / 54
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 23 / 54
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 24 / 54
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 25 / 54
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 26 / 54
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 27 / 54
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 28 / 54
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 29 / 54
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 30 / 54
Vagrant – Additional Features 4/4
add additional block storage devices
multi-machine environments
B1 Systems GmbH Development Environments with Vagrant on OpenStack 31 / 54
Vagrant Workflow with OpenStack
B1 Systems GmbH Development Environments with Vagrant on OpenStack 32 / 54
OpenStack Provider
mitchellh/vagrant-rackspace
ggiamarchi/vagrant-openstack-provider
cloudbau/vagrant-openstack-plugin
B1 Systems GmbH Development Environments with Vagrant on OpenStack 33 / 54
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 34 / 54
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 35 / 54
OpenStack provider – Credentials 1/2
B1 Systems GmbH Development Environments with Vagrant on OpenStack 36 / 54
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 37 / 54
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 38 / 54
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 39 / 54
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 40 / 54
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 41 / 54
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 42 / 54
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 43 / 54
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 44 / 54
OpenStack Provider – Network 2/3
Resulting network topology
B1 Systems GmbH Development Environments with Vagrant on OpenStack 45 / 54
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 46 / 54
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 47 / 54
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 48 / 54
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 49 / 54
OpenStack Provider – Synced Folders
==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 50 / 54
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 51 / 54
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 52 / 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 53 / 54
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

Contenu connexe

Tendances

Karl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyKarl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyMediafly
 
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
 
DCSF19 Tips and Tricks of the Docker Captains
DCSF19 Tips and Tricks of the Docker Captains  DCSF19 Tips and Tricks of the Docker Captains
DCSF19 Tips and Tricks of the Docker Captains Docker, Inc.
 
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
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
DCSF 19 eBPF Superpowers
DCSF 19 eBPF SuperpowersDCSF 19 eBPF Superpowers
DCSF 19 eBPF SuperpowersDocker, Inc.
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guideRoberto Boccadoro
 
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Carlos Sanchez
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Puppet
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...Puppet
 
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Docker, Inc.
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with PuppetNick Jones
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with dockerJohan Janssen
 
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423Giulio Vian
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-TutorialBrian Hood
 

Tendances (20)

Karl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyKarl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at Mediafly
 
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
 
DCSF19 Tips and Tricks of the Docker Captains
DCSF19 Tips and Tricks of the Docker Captains  DCSF19 Tips and Tricks of the Docker Captains
DCSF19 Tips and Tricks of the Docker Captains
 
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
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Ansible best practices
Ansible best practicesAnsible best practices
Ansible best practices
 
DCSF 19 eBPF Superpowers
DCSF 19 eBPF SuperpowersDCSF 19 eBPF Superpowers
DCSF 19 eBPF Superpowers
 
Dev stacklabguide
Dev stacklabguideDev stacklabguide
Dev stacklabguide
 
Component pack 6006 install guide
Component pack 6006 install guideComponent pack 6006 install guide
Component pack 6006 install guide
 
F3X12 FLOW3 Project Lifecycle
F3X12 FLOW3 Project LifecycleF3X12 FLOW3 Project Lifecycle
F3X12 FLOW3 Project Lifecycle
 
Ansible container
Ansible containerAnsible container
Ansible container
 
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
 
Ansible 2.2
Ansible 2.2Ansible 2.2
Ansible 2.2
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-Tutorial
 

En vedette

班级新变化
班级新变化班级新变化
班级新变化jody531
 
M00 about this_course
M00 about this_courseM00 about this_course
M00 about this_courseFitira
 
Evaluation for the music magazine
Evaluation for the music magazineEvaluation for the music magazine
Evaluation for the music magazineLiam Wylie
 
Marketing Management
Marketing ManagementMarketing Management
Marketing Managementrsinghkaurav
 
P m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapP m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapFitira
 
Proyecto fredy-jaramillo extenzo
Proyecto fredy-jaramillo extenzoProyecto fredy-jaramillo extenzo
Proyecto fredy-jaramillo extenzoFreddy Jaramillo
 
M01 inside selling.
M01 inside selling.M01 inside selling.
M01 inside selling.Fitira
 
อาชีพ อภิ
อาชีพ อภิอาชีพ อภิ
อาชีพ อภิKris Kizt
 
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...Veerle Van Den Eeckhout
 
Digital Audio/Podcast Assignment
Digital Audio/Podcast AssignmentDigital Audio/Podcast Assignment
Digital Audio/Podcast AssignmentJordan Kelly
 
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
 
W1 printing45
W1 printing45W1 printing45
W1 printing45Kris Kizt
 
The Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.AsiaThe Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.Asiasaumilnanavati
 
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
 
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
 
Cloud Computing mit OpenStack
Cloud Computing mit OpenStackCloud Computing mit OpenStack
Cloud Computing mit OpenStackB1 Systems GmbH
 
Get genuineprogramagreementroadmap
Get genuineprogramagreementroadmapGet genuineprogramagreementroadmap
Get genuineprogramagreementroadmapFitira
 
Android vs ios
Android vs iosAndroid vs ios
Android vs iosgndolf
 
P m01 inside_selling
P m01 inside_sellingP m01 inside_selling
P m01 inside_sellingFitira
 
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
 

En vedette (20)

班级新变化
班级新变化班级新变化
班级新变化
 
M00 about this_course
M00 about this_courseM00 about this_course
M00 about this_course
 
Evaluation for the music magazine
Evaluation for the music magazineEvaluation for the music magazine
Evaluation for the music magazine
 
Marketing Management
Marketing ManagementMarketing Management
Marketing Management
 
P m02 inside_selling_managerswrap
P m02 inside_selling_managerswrapP m02 inside_selling_managerswrap
P m02 inside_selling_managerswrap
 
Proyecto fredy-jaramillo extenzo
Proyecto fredy-jaramillo extenzoProyecto fredy-jaramillo extenzo
Proyecto fredy-jaramillo extenzo
 
M01 inside selling.
M01 inside selling.M01 inside selling.
M01 inside selling.
 
อาชีพ อภิ
อาชีพ อภิอาชีพ อภิ
อาชีพ อภิ
 
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...
Internationaal privaatrecht en fundamentele rechten. Ipr als instrument ter b...
 
Digital Audio/Podcast Assignment
Digital Audio/Podcast AssignmentDigital Audio/Podcast Assignment
Digital Audio/Podcast Assignment
 
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
 
W1 printing45
W1 printing45W1 printing45
W1 printing45
 
The Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.AsiaThe Poker Entrepreneurship: Speaking @ JFDI.Asia
The Poker Entrepreneurship: Speaking @ JFDI.Asia
 
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
 
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
 
Cloud Computing mit OpenStack
Cloud Computing mit OpenStackCloud Computing mit OpenStack
Cloud Computing mit OpenStack
 
Get genuineprogramagreementroadmap
Get genuineprogramagreementroadmapGet genuineprogramagreementroadmap
Get genuineprogramagreementroadmap
 
Android vs ios
Android vs iosAndroid vs ios
Android vs ios
 
P m01 inside_selling
P m01 inside_sellingP m01 inside_selling
P m01 inside_selling
 
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...
 

Similaire à 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
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackJesse Andrews
 
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
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetesWilliam Stewart
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environmentbocribbz
 
Releasing and deploying python tools
Releasing and deploying python toolsReleasing and deploying python tools
Releasing and deploying python toolsQuintagroup
 
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.
 
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
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantAntons 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
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3kognate
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardwayDave Pitts
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Nils Adermann
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyopenQRM Enterprise GmbH
 
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
 
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...Michael Lee
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클Oracle Korea
 

Similaire à 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
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
 
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
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetes
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Releasing and deploying python tools
Releasing and deploying python toolsReleasing and deploying python tools
Releasing and deploying python tools
 
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
 
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
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
 
Vagrant
VagrantVagrant
Vagrant
 
Vagrant Up in 5 Easy Steps
Vagrant Up in 5 Easy StepsVagrant Up in 5 Easy Steps
Vagrant Up in 5 Easy Steps
 
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
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian Wheezy
 
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)
 
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...
Setup of EDA tools and workstation environment variables in NCTU 307 Lab. wor...
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
 

Plus de 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
 

Plus de 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
 

Dernier

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls DubaiEscorts Call Girls
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...SUHANI PANDEY
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋nirzagarg
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
 

Dernier (20)

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 

Simplify and run your development environments with Vagrant on OpenStack

  • 1. Simplify and run your development environments with Vagrant on OpenStack FrOSCon 2015, Sankt Augustin 23. August 2015 Christian Berendt Cloud Solution Architect B1 Systems GmbH berendt@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 / 54
  • 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 / 54
  • 4. B1 Systems GmbH Development Environments with Vagrant on OpenStack 4 / 54
  • 5. Vagrant Objectives 1/2 Create and configure lightweight, reproducible, and portable development environments. B1 Systems GmbH Development Environments with Vagrant on OpenStack 5 / 54
  • 6. 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 6 / 54
  • 7. Vagrant Workflow B1 Systems GmbH Development Environments with Vagrant on OpenStack 7 / 54
  • 8. 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 8 / 54
  • 9. 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 9 / 54
  • 10. 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 10 / 54
  • 11. 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 11 / 54
  • 12. Vagrant Boxes 1/5 B1 Systems GmbH Development Environments with Vagrant on OpenStack 12 / 54
  • 13. Vagrant Boxes 2/5 https://atlas.hashicorp.com/boxes/search B1 Systems GmbH Development Environments with Vagrant on OpenStack 13 / 54
  • 14. 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 14 / 54
  • 15. 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 15 / 54
  • 16. 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 16 / 54
  • 17. 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 17 / 54
  • 18. 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 18 / 54
  • 19. 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 19 / 54
  • 20. 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 20 / 54
  • 21. 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 21 / 54
  • 23. 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 23 / 54
  • 24. 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 24 / 54
  • 25. 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 25 / 54
  • 26. 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 26 / 54
  • 27. 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 27 / 54
  • 28. 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 28 / 54
  • 29. 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 29 / 54
  • 30. 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 30 / 54
  • 31. Vagrant – Additional Features 4/4 add additional block storage devices multi-machine environments B1 Systems GmbH Development Environments with Vagrant on OpenStack 31 / 54
  • 32. Vagrant Workflow with OpenStack B1 Systems GmbH Development Environments with Vagrant on OpenStack 32 / 54
  • 34. 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 34 / 54
  • 35. 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 35 / 54
  • 36. OpenStack provider – Credentials 1/2 B1 Systems GmbH Development Environments with Vagrant on OpenStack 36 / 54
  • 37. 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 37 / 54
  • 38. 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 38 / 54
  • 39. 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 39 / 54
  • 40. 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 40 / 54
  • 41. 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 41 / 54
  • 42. 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 42 / 54
  • 43. 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 43 / 54
  • 44. 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 44 / 54
  • 45. OpenStack Provider – Network 2/3 Resulting network topology B1 Systems GmbH Development Environments with Vagrant on OpenStack 45 / 54
  • 46. 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 46 / 54
  • 47. 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 47 / 54
  • 48. 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 48 / 54
  • 49. 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 49 / 54
  • 50. OpenStack Provider – Synced Folders ==> default: Rsyncing folder: /home/berendt/testing/vagrant-openstack-provider/ => /vagrant B1 Systems GmbH Development Environments with Vagrant on OpenStack 50 / 54
  • 51. 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 51 / 54
  • 52. 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 52 / 54
  • 53. 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 53 / 54
  • 54. 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