You need to manage a proxmox host with Ruby? This library is for you.
!!! Warning, it's a experimental version. Some methods could be renamed !!!
Inspirated from: https://bitbucket.org/jmoratilla/knife-proxmox/ but I would like to have the same without chef. https://github.com/maxschulze/uv_proxmox but listing some task does not work for me. No tests, use ssh.
So I start to create one fully tested (TDD method).
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install proxmox
require 'awesome_print' require 'proxmox' def wait_status(server1, task) puts task while server1.task_status(task) == "running" puts '.' sleep 1 end puts server1.task_status(task) end server1 = ::.("https://the-proxmox-server:8006/api2/json/", "node", "root", "secret", "pam") ap server1.templates vm1 = server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 200) wait_status(server1, vm1) ap server1.openvz_vm_status(200) vm1 = server1.openvz_vm_start(200) begin wait_status(server1, vm1) rescue end sleep 5 ap server1.openvz_vm_shutdown(200) begin wait_status(server1, vm1) rescue end sleep 5 ap server1.openvz_vm_status(200) vm1 = server1.openvz_delete(200) wait_status(server1, vm1)
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Create spec (in file spec/lib/proxmox_spec.rb)
- Write your code (in lib/proxmox.rb)
- Check spec & coverage (
bundle exec rspecor
bundle exec guard)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request