simplify and run your development environments with vagrant on openstack
TRANSCRIPT
![Page 1: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/1.jpg)
Simplify and run your developmentenvironments with Vagrant onOpenStackOpenStack Summit, Vancouver May 19, 2015
Christian BerendtCloud Solution Architect
B1 Systems [email protected]
Thomas KaergelLinux Consultant & Developer
B1 Systems [email protected]
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
![Page 2: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/2.jpg)
Introducing B1 Systems
founded in 2004operating both nationally and internationallymore than 60 employees; low employee turnoverProvider for IBM, SUSE, Oracle & HPvendor-independent (hardware and software)Focus:
ConsultingSupportDevelopmentTrainingOperationsSolutions
B1 Systems GmbH Development Environments with Vagrant on OpenStack 2 / 55
![Page 3: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/3.jpg)
Areas of Expertise
Virtualization (XEN, KVM & RHEV)Systems management (Spacewalk, Red Hat Satellite, SUSEManager)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
![Page 4: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/4.jpg)
Partners
B1 Systems GmbH Development Environments with Vagrant on OpenStack 4 / 55
![Page 6: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/6.jpg)
Vagrant Objectives 1/2
Create and configure lightweight, reproducible, and portabledevelopment environments.
B1 Systems GmbH Development Environments with Vagrant on OpenStack 6 / 55
![Page 7: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/7.jpg)
Vagrant Objectives 2/2
portability (e.g. use local development environments in thecloud)unification (e.g. create one basic environment for everything)reusability (e.g. in a continuous integration system)reproducabilitydevelopment speed-up (e.g. early access for UX designer)
B1 Systems GmbH Development Environments with Vagrant on OpenStack 7 / 55
![Page 8: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/8.jpg)
Vagrant Workflow
B1 Systems GmbH Development Environments with Vagrant on OpenStack 8 / 55
![Page 9: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/9.jpg)
Vagrant Facts
many community pluginshttps://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins
many prepared machine imageshttps://atlas.hashicorp.com/boxes/searchpacker to build machine images
huge knowledge basehttp://stackoverflow.com/search?q=vagrant
written in Rubysource at https://github.com/mitchellh/vagrant
B1 Systems GmbH Development Environments with Vagrant on OpenStack 9 / 55
![Page 10: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/10.jpg)
Vagrant Installation
https://www.vagrantup.com/downloads.htmlLinux (RPM) – openSUSE, Fedora, . . .Linux (DEB) – Ubuntu, Debian, . . .Mac OS XWindows
$ vagrant versionInstalled Version: 1.7.2Latest 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
![Page 11: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/11.jpg)
Vagrant Configuration 1/2
Vagrantfilehttp://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
![Page 12: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/12.jpg)
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
![Page 13: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/13.jpg)
Vagrant Boxes 1/5
B1 Systems GmbH Development Environments with Vagrant on OpenStack 13 / 55
![Page 14: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/14.jpg)
Vagrant Boxes 2/5
https://atlas.hashicorp.com/boxes/search
B1 Systems GmbH Development Environments with Vagrant on OpenStack 14 / 55
![Page 15: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/15.jpg)
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’
endend
B1 Systems GmbH Development Environments with Vagrant on OpenStack 15 / 55
![Page 16: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/16.jpg)
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
![Page 17: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/17.jpg)
Vagrant Boxes 5/5
list available boxes with vagrant box list
$ vagrant box listb1-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
![Page 18: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/18.jpg)
Vagrant Standard Provider
DockerHyper-VVMware Fusion & WorkstationVirtualBox
https://docs.vagrantup.com/v2/providers/index.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 18 / 55
![Page 19: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/19.jpg)
Vagrant Bootstrap 1/4
bootstrap with vagrant up using the virtualbox provider
$ vagrant upBringing 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
![Page 20: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/20.jpg)
Vagrant Bootstrap 2/4
show status with vagrant status
$ vagrant statusCurrent machine states:
testing running (virtualbox)[...]
B1 Systems GmbH Development Environments with Vagrant on OpenStack 20 / 55
![Page 21: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/21.jpg)
Vagrant Bootstrap 3/4access the console with vagrant ssh
$ vagrant sshWelcome 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: 85Usage of /: 2.8% of 39.34GB Users logged in: 0Memory usage: 29% IP address for eth0: 10.0.2.15Swap 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
![Page 22: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/22.jpg)
Vagrant Bootstrap 4/4
housekeeping with vagrant destroy
$ vagrant destroytesting: 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
![Page 23: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/23.jpg)
Vagrant Standard Provisioner
AnsibleShell/FileChefCFEngineDockerPuppetSalt
https://docs.vagrantup.com/v2/provisioning/index.html
B1 Systems GmbH Development Environments with Vagrant on OpenStack 23 / 55
![Page 24: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/24.jpg)
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
![Page 25: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/25.jpg)
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
![Page 26: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/26.jpg)
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
![Page 27: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/27.jpg)
Ansible Provisioner 1/2
---- hosts: all
sudo: Truetasks:
- 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
![Page 28: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/28.jpg)
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
![Page 29: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/29.jpg)
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
![Page 30: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/30.jpg)
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
![Page 31: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/31.jpg)
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
![Page 32: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/32.jpg)
Vagrant – Additional Features 4/4
add additional block storage devicesmulti-machine environments
B1 Systems GmbH Development Environments with Vagrant on OpenStack 32 / 55
![Page 33: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/33.jpg)
Vagrant Workflow with OpenStack
B1 Systems GmbH Development Environments with Vagrant on OpenStack 33 / 55
![Page 34: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/34.jpg)
OpenStack Provider
mitchellh/vagrant-rackspaceggiamarchi/vagrant-openstack-providercloudbau/vagrant-openstack-plugin
B1 Systems GmbH Development Environments with Vagrant on OpenStack 34 / 55
![Page 35: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/35.jpg)
OpenStack Provider – Installation
https://github.com/ggiamarchi/vagrant-openstack-provider
$ vagrant plugin install vagrant-openstack-providerInstalling 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
![Page 36: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/36.jpg)
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
![Page 37: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/37.jpg)
OpenStack provider – Credentials 1/2
B1 Systems GmbH Development Environments with Vagrant on OpenStack 37 / 55
![Page 38: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/38.jpg)
OpenStack Provider – Credentials 2/2
entries in the openrc file
export OS_AUTH_URL=https://api.de-fra1.entercloudsuite.com/v2.0export OS_TENANT_NAME="[email protected]"export OS_USERNAME="[email protected]"export OS_PASSWORD="password"
resulting configuration block in the Vagrantfileimportant: 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 = ’[email protected]’os.password = ’password’os.tenant_name = ’[email protected]’
end
B1 Systems GmbH Development Environments with Vagrant on OpenStack 38 / 55
![Page 39: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/39.jpg)
OpenStack Provider – Resources
helper commands to list existing cloud resourcesFlavor – flavor-listFloating IP address – floatingip-listImage – image-listInternal networks – subnet-list
B1 Systems GmbH Development Environments with Vagrant on OpenStack 39 / 55
![Page 40: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/40.jpg)
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
![Page 41: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/41.jpg)
OpenStack Provider – Floating IPs
list available floating IP pools with vagrant openstackfloatingip-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
![Page 42: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/42.jpg)
OpenStack Provider – Images
list available images with vagrant openstack image-list
this session uses GNU/Linux Ubuntu Server 14.04 LTSTrusty Tahr x64
B1 Systems GmbH Development Environments with Vagrant on OpenStack 42 / 55
![Page 43: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/43.jpg)
OpenStack Provider – Configuration
define OpenStack resources in the Vagrantfileflavor: e1standard.x1floating IP pool: PublicNetworkimage: GNU/Linux Ubuntu Server 14.04 LTS Trusty Tahrx64
config.vm.provider :openstack do |os|os.openstack_auth_url = ’https://api.de-fra1.entercloudsuite.com/v2.0/tokens’os.username = ’[email protected]’os.password = ’password’os.tenant_name = ’[email protected]’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
![Page 44: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/44.jpg)
OpenStack provider – Bootstrap, First Try
$ vagrant upBringing 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 : [email protected]==> 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 externalnetwork 50ea4b59-42e9-4427-9f00-16362fd0cfd9", "code": 403}}
B1 Systems GmbH Development Environments with Vagrant on OpenStack 44 / 55
![Page 45: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/45.jpg)
OpenStack Provider – Network 1/3
{"forbidden": {"message": "It is not allowed to create an interface on externalnetwork 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 router3 Use the PublicNetwork as the gateway for the router4 Add the network as an interface to the router
B1 Systems GmbH Development Environments with Vagrant on OpenStack 45 / 55
![Page 46: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/46.jpg)
OpenStack Provider – Network 2/3
Resulting network topology
B1 Systems GmbH Development Environments with Vagrant on OpenStack 46 / 55
![Page 47: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/47.jpg)
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 = ’[email protected]’os.password = ’password’os.tenant_name = ’[email protected]’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
![Page 48: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/48.jpg)
OpenStack Provider – Bootstrap, Second Try1/2
$ vagrant upBringing 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 : [email protected]==> 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
![Page 49: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/49.jpg)
OpenStack provider – Bootstrap, Second Try2/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
![Page 50: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/50.jpg)
OpenStack Provider
$ vagrant sshWelcome 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: 78Usage of /: 3.8% of 19.65GB Users logged in: 0Memory usage: 11% IP address for eth0: 192.168.0.7Swap 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.netubuntu@default:~$
B1 Systems GmbH Development Environments with Vagrant on OpenStack 50 / 55
![Page 51: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/51.jpg)
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
![Page 52: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/52.jpg)
OpenStack Provider – Forwarded Ports
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network features are not supportedUse os.security_groups to apply previously defined securitygroupsAdd the following line to the Vagrantfile to use the existingsecurity group http
os.security_groups = [ ’http’ ]
B1 Systems GmbH Development Environments with Vagrant on OpenStack 52 / 55
![Page 53: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/53.jpg)
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
![Page 54: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/54.jpg)
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
![Page 55: Simplify and run your development environments with Vagrant on OpenStack](https://reader031.vdocuments.site/reader031/viewer/2022020301/589ff96e1a28ab46598b5f5b/html5/thumbnails/55.jpg)
Thank You!For more information, refer to [email protected]
or +49 (0)8457 - 931096
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development