diff --git a/README.md b/README.md
index 8c3183d..2934234 100644
--- a/README.md
+++ b/README.md
@@ -7,10 +7,11 @@ Usage
=====
libvirt_network 'fake_network' do
- netmask '255.255.0.0'
- gateway '192.168.42.1'
- bridge 'fakebr'
- forward 'nat'
+ netmask '255.255.0.0'
+ gateway '192.168.42.1'
+ bridge 'fakebr'
+ forward 'nat'
+ virtualport 'openvswitch'
dhcp_range :start => '192.168.42.100', :end => '192.168.42.200'
action [:define, :create, :autostart]
diff --git a/metadata.rb b/metadata.rb
index 46ef148..e1560a7 100644
--- a/metadata.rb
+++ b/metadata.rb
@@ -1,9 +1,10 @@
-maintainer "VPSLab"
-maintainer_email "pawel.pacana@gmail.com"
-license "Apache 2.0"
-description "Installs libvirt and provides libvirt resources."
+name 'libvirt'
+maintainer 'VPSLab'
+maintainer_email 'pawel.pacana@gmail.com'
+license 'Apache 2.0'
+description 'Installs libvirt and provides libvirt resources.'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "0.2.1"
+version '0.2.2'
%w(ubuntu debian).each do |os|
supports os
diff --git a/providers/domain_kvm.rb b/providers/domain_kvm.rb
index f1de437..3ee7cde 100644
--- a/providers/domain_kvm.rb
+++ b/providers/domain_kvm.rb
@@ -21,6 +21,7 @@ def load_current_resource
:memory => memory_in_bytes,
:vcpu => new_resource.vcpu,
:arch => libvirt_arch,
+ :boot => new_resource.boot,
:uuid => ::UUIDTools::UUID.random_create
)
action :nothing
diff --git a/providers/network.rb b/providers/network.rb
index 84ffc6e..ab59bb4 100644
--- a/providers/network.rb
+++ b/providers/network.rb
@@ -1,5 +1,3 @@
-require 'uuidtools'
-
def load_current_resource
@current_resource = Chef::Resource::LibvirtNetwork.new(new_resource.name)
@libvirt = ::Libvirt.open(new_resource.uri)
@@ -19,6 +17,7 @@ def load_current_resource
:netmask => new_resource.netmask,
:gateway => new_resource.gateway,
:forward => new_resource.forward,
+ :virtualport => new_resource.virtualport,
:dhcp => new_resource.dhcp_range,
:uuid => ::UUIDTools::UUID.random_create
)
diff --git a/recipes/default.rb b/recipes/default.rb
index f9dd0f2..f8dcba0 100644
--- a/recipes/default.rb
+++ b/recipes/default.rb
@@ -1,4 +1,4 @@
-%w(libvirt-bin libvirt-dev).each do |name|
+%w(libvirt-bin libvirt-dev build-essential).each do |name|
package name do
action :nothing
end.run_action(:install)
@@ -12,3 +12,4 @@
$LOAD_PATH.delete("/usr/bin/../lib") # scumbag LOAD_PATH: https://github.com/opscode/chef/blob/master/bin/chef-solo#L22
require 'libvirt'
+require 'uuidtools'
\ No newline at end of file
diff --git a/resources/domain.rb b/resources/domain.rb
index 49afa3f..a3450e2 100644
--- a/resources/domain.rb
+++ b/resources/domain.rb
@@ -8,4 +8,5 @@ def initialize(*args)
attribute :vcpu, :kind_of => [Integer, String], :required => true
attribute :memory, :kind_of => [Integer, String], :required => true
attribute :arch, :kind_of => String, :required => true
+attribute :boot, :kind_of => String, :default => 'hd'
attribute :uri, :kind_of => String, :default => 'qemu:///system'
diff --git a/resources/network.rb b/resources/network.rb
index 5c9783c..77c918a 100644
--- a/resources/network.rb
+++ b/resources/network.rb
@@ -10,4 +10,5 @@ def initialize(*args)
attribute :gateway, :kind_of => String
attribute :forward, :kind_of => String
attribute :dhcp_range, :kind_of => Hash
+attribute :virtualport, :kind_of => String
attribute :uri, :kind_of => String, :default => 'qemu:///system'
diff --git a/templates/default/kvm_domain.xml b/templates/default/kvm_domain.xml
index 9f3654b..af25d3f 100644
--- a/templates/default/kvm_domain.xml
+++ b/templates/default/kvm_domain.xml
@@ -6,7 +6,7 @@
<%= @uuid %>
hvm
-
+
diff --git a/templates/default/network.xml b/templates/default/network.xml
index 40c07f0..f9f06dd 100644
--- a/templates/default/network.xml
+++ b/templates/default/network.xml
@@ -4,7 +4,11 @@
<% if @forward %>
-<%end %>
+<% end %>
+<% if @virtualport %>
+
+<% end %>
+<% if @gateway && @netmask %>
<% if @dhcp %>
@@ -12,4 +16,5 @@
<% end %>
+<% end %>