Provisioning with vagrant up

webfrank

Member
May 28, 2011
38
0
6
Hi, I had a look to vagrant tool (www.vagrantup.com) which is an interesting project to deploy VM in a very easy fashion. I think it would be interesting to build a proxmox provider plugin which could use the new API.

anyone interested?
 

tarax

Member
Apr 2, 2010
43
5
8
I'd be !
Integration with automatic provisionning and configuration management solutions is surely on of the next areas of improvement in PVE ecosystem.
 

mir

Famous Member
Apr 14, 2012
3,559
120
83
Copenhagen, Denmark
I see no use for vagrant in proxmox due to the following reasons:
1) Vagrant is more or less providing a subset of proxmox
2) Vagrant is designed to provide desktop VMs while proxmox, as vmware et al, is designed to provide server VMs
3) Vagrant lacks, IMHO, all the building blocks which constitutes an enterprise solution.
 

Andy Huang

Member
Jan 1, 2013
29
1
23
I'd also be interested; this is something that would be super ideal for offices.

Employee come in, assign a PVE credential, git checkout code, vagrant up, and code happy on a VM provisioned on a central dev server.
 

brianp

New Member
Sep 27, 2012
3
1
1
Having used vagrant quite a bit for testing and developing DevOps stuff, I might be able to address some of your points here.

I see no use for vagrant in proxmox due to the following reasons:
1) Vagrant is more or less providing a subset of proxmox

That's exactly the point. It isn't a replacement. It's a convenience wrapper, so you can reproduce VMs consistently with a command line that isn't much more complex than "vagrant up --provider=proxmox". I've used the vagrant providers for VirtualBox, VMware Workstation and LXC, and its very cool that one Vagrantfile really can produce essentially the same VM on all those different providers.

2) Vagrant is designed to provide desktop VMs while proxmox, as vmware et al, is designed to provide server VMs

The use cases they lay out on the vagrantup website definitely do lean that way, but there are a lot of people using it with Chef and Puppet for server VM stuff.

3) Vagrant lacks, IMHO, all the building blocks which constitutes an enterprise solution.

Yes, precisely. I would love a proxmox provider for vagrant, but my use case would be to be able to better tie in test-kitchen (https://github.com/opscode/test-kitchen) to our continuous integration, leveraging our beefy machines already running Proxmox VE. Test-kitchen lets me test changes to a cookbook on a lot of different operating systems at once by spinning up a new clean VM for each and running the tests. I sure wouldn't mind offloading that VM work from the builder/CI VM to our proxmox cluster, or at least to one of the nodes.

For anyone looking to implement this, the KVM provider here (https://github.com/adrahon/vagrant-kvm) probably has a lot of useful lessons on how to use the base boxes that are already available with KVM/QEMU. Obviously that KVM provider plugin isn't a complete solution for what we'd need here.
 
  • Like
Reactions: mjw

e100

Renowned Member
Nov 6, 2010
1,248
34
68
Columbus, Ohio
ulbuilder.wordpress.com
Like brianp I can share some thoughts about dev ops.
I do not think Vagrant is really what you want for managing production servers, it is more useful for testing things.
Tools like puppet or Chef(my preference) are more suited towards provisioning and configuration management for production.

For Chef I recently found this, not tried it myself yet:
http://rubygems.org/gems/knife-proxmox

Right now it only supports openvz, not KVM :(

We are managing well over a hundred VMs inside Proxmox with Chef. (and many more in various clouds like EC2/Azure/etc)
The only thing lacking is a KVM compatible knife plugin to bootstrap new VMs in Proxmox, for now I have to do that manually.

For those of you unfamiliar with dev ops, with Chef and a Proxmox knife plugin you would create new servers using a simple command kinda like this:
Code:
knife proxmox server create --hostname new.webserver.com -r "role[name_of_role_for_your_new_webserver]"

Press enter, watch a new VM get created, chef installed, packages installed, download your website form source control and deploy it.
What used to take hours to manually configure now takes seconds.
Chef even creates my user account, puts my SSH public key in the right place, configures sudo, everything.

I even use Chef to manage the Proxmox servers.
I am so lazy( or is that efficient? ) when I want to setup a couple new Proxmox servers with DRBD I let Chef configure and do the initial DRBD sync for me.:p
All I really do is install Proxmox from ISO, install Chef and tell Chef how I want that server configured.
sysctl tuning, grub boot params, network interfaces, vlans, bonding, you name it Chef does it for me.

We have some websites that are very busy for a few months of the year. We run multiple web servers behind Nginx setup as a reverse proxy.
When I need more web servers I just assign the proper role to a new VM, Chef configures the web server and reconfigures Nginx to load balance across the new servers too.

When everything converges automatically without having to log into a zillion machines and edit zillions of config files, life is good.

Making Proxmox work with Vagrant, Chef, puppet would be a great addition and help Proxmox gain more market share.

Sorry for my rambling, dev ops is my passion.
 

tarax

Member
Apr 2, 2010
43
5
8
Hi,

Could not agree more with e100, automation (techniques) and DevOps (culture) are such a thrill !
AFAIC, my toys would be called Ansible or Saltstack.

My 2cts
Bests
 

chuzzy

New Member
Nov 29, 2013
5
0
1
I think you are wrong in your assumption about Vagrant not being suitable for production servers .. that is a misconception. vagrant can be whatever you want it to be, and integrates seemlessly with chef/puppet/ansible/shell-scripts for auto-provisioning the VM being built. So, your chef usage can even be embedded with Vagrant. Besides, I was not aware that proxmox has been limited for only 'production' use ..

Vagrant is attracting a lot of developer support, and there are plugins for openstack, libvirt, kvm, you name it .. You can see a list here Unfortunately, the libvirt and kvm plugins are not fully mature just yet, else I would already be using it on proxmox .. Sometimes, my need for vagrant to work is significant enough to make me decide on using only virtualization platforms that do support it (yes, that is a real fact ).

Yes, vagrant support would be a big plus for proxmox .. I am very very sure about that. And folks who do not need it, can just go right ahead ignoring it and using chef or whatever else works for them.
 

telcat

New Member
Dec 11, 2013
2
0
1
www.telcat.de
Hello everyone,


those of you who would like to use Proxmox with Vagrant may be interested to hear that we have released our vagrant-proxmox plugin some days ago. It can be installed as a gem from RubyGems.org (https://rubygems.org/gems/vagrant-proxmox) and the source code is available on GitHub (https://github.com/telcat/vagrant-proxmox) (MIT-License).
It utilizes the Proxmox REST-API to perform tasks lik creating/starting/stopping/destroying virtual machines.
We use this Vagrant provider in our Jenkins builds to automatically create and destroy Proxmox VMs on which we then run our integration tests.
Currently this plugin is tailored to our own needs and surely lacks a lot of features. For example only OpenVZ containers are currently supported and some configuration options are missing.


Regards,
Dirk Grappendorf
 

blackpaw

Active Member
Nov 1, 2013
282
9
38
Are these tools only for Linux vm's or can they provision windows guests as well?

Sent from my MT27i using Tapatalk
 

jmoratilla

Member
Oct 14, 2012
1
0
21
Madrid, Spain
Having the Proxmox API supported in fog.io library would allow others to easily build new things around Proxmox.
Nearly every other cloud service/virtualization platform is supported already:
http://fog.io/about/provider_documentation.html


Hi e100, thanks for the comments about the knife-proxmox gem. I've found it very useful for learning ruby and to help me in my duty . Since the begining, I was looking forward somebody to help me to create the fog.io support, but I haven't enough time and energy to do it myself. So, has anybody implemented it right now? Is there any effort done related with the fog.io?


Thanks in advance
Jorge Moratilla
 

lausser

New Member
Sep 11, 2015
2
0
1
I agree that vagrant-proxmox should be useful.
Not should be, it is!
I submitted a pull-request do vagrant-proxmox. (pull/24, i'm not allowed to pist hyperlinks here) which i use in my environment already. It's possible now to "vagrant up" a qemu vm by cloning a template.

Gerhard
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!