vagrant-ovirt3 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd7169ec49f52e7643c9e559afd8d4780c60df54
4
- data.tar.gz: efc888c31c0240929079252b617e63edbd0874d5
3
+ metadata.gz: fb418a1dcb47db6316ed502682775154fa41a468
4
+ data.tar.gz: 0daaf7c450f4aa512caaca2375058b7120a122bf
5
5
  SHA512:
6
- metadata.gz: d854df91f685af9e3279977757ff529a722a5a8cbb37be9435b98158e424a0e1085281a97ba84bf18233865449438722564253a518902df5fbd23a2f6989569b
7
- data.tar.gz: a80393f2798818b005bed078d3c2a2b1c1e4be5fb9dab94782e3f246aa1928d68c323df7720bffd866a08d8c10ee0dfca2d1e09eaf3d2e07cbf3b9851cf7b05b
6
+ metadata.gz: e338380c448b4fc231fca4c5580978657f9c14e8b0aa53707951858402526f3f41802f32698ec6fab7ba4b5bfffbd7053d193e7ca92aca79f0d7d028c7308f0c
7
+ data.tar.gz: c63e3b5c922a6f6c49d97a8ba5ad1ac8fa666db4ea2565bf51e5a1e9146f3140c2797c6d642245606818b201511d85182f82682e8c4af5d6c57c2a34b6b6c6b2
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
1
  # Vagrant oVirt/RHEV v3 Provider
2
+ [![Gem Version](https://badge.fury.io/rb/vagrant-ovirt3.svg)](http://badge.fury.io/rb/vagrant-ovirt3)
3
+ [![vagrant-ovirt3 API Documentation](https://www.omniref.com/ruby/gems/vagrant-ovirt3.png)](https://www.omniref.com/ruby/gems/vagrant-ovirt3)
2
4
 
3
5
  This is a [Vagrant](http://www.vagrantup.com) 1.1+ plugin that adds an
4
6
  [oVirt v3](http://ovirt.org) and
@@ -26,10 +28,10 @@ Vagrant.configure('2') do |config|
26
28
  config.vm.box = 'ovirt'
27
29
  config.vm.box_url = 'https://github.com/myoung34/vagrant-ovirt3/blob/master/example_box/dummy.box?raw=true'
28
30
 
29
- config.vm.network :private_network,
31
+ config.vm.network :private_network,
30
32
  :ip => '192.168.56.100', :nictype => 'virtio', :netmask => '255.255.255.0', #normal network configuration
31
33
  :ovirt__ip => '10.101.55.72', :ovirt__network_name => 'ovirtmgmt', :ovirt__gateway => '10.101.55.1' # oVirt specific information, overwrites previous on oVirt provider
32
-
34
+
33
35
  config.vm.provider :ovirt3 do |ovirt|
34
36
  ovirt.template = 'template'
35
37
  ovirt.cpus = 1
@@ -64,9 +66,16 @@ This provider exposes quite a few provider-specific configuration options:
64
66
  * `memory` - Amount of memory in MBytes. Defaults to 512 if not set.
65
67
  * `cpus` - Number of virtual cpus. Defaults to 1 if not set.
66
68
  * `template` - Name of template from which new VM should be created.
69
+ * `template_version` - If a template has sub-versions, specify a sub-version
70
+ number or name.
67
71
  * `console` - Console type to use. Can be 'vnc' or 'spice'. Default is 'spice'
68
72
  * `disk_size` - If set, the first volume of the VM will automatically be resized
69
73
  to the specified value. disk_size is in GB
74
+ * `user_data` - If given, user data is made available to the VM via a virtual
75
+ floppy disk. This data is used to configure VMs via cloud-init. The value for
76
+ `user_data` should generally be a string in [cloud-config format][].
77
+
78
+ [cloud-config format]: https://cloudinit.readthedocs.org/en/latest/topics/examples.html
70
79
 
71
80
  Specific domain settings can be set for each domain separately in multi-VM
72
81
  environment. Example below shows a part of Vagrantfile, where specific options
@@ -95,14 +104,14 @@ Note, the network information will differ between the two. Under virtualbox, it
95
104
  Vagrant.configure('2') do |config|
96
105
  config.vm.box = 'mybox'
97
106
 
98
- config.vm.network :private_network,
107
+ config.vm.network :private_network,
99
108
  :ip => '192.168.56.100', :nictype => 'virtio', :netmask => '255.255.255.0' #normal network configuration
100
109
  :ovirt__ip => '10.101.55.72', :ovirt__network_name => 'ovirtmgmt', :ovirt__gateway => '10.101.55.1', # oVirt specific information, overwrites previous on oVirt provider
101
-
110
+
102
111
  config.vm.provider :virtualbox do |vb|
103
112
  vb.customize [
104
113
  # Key Value
105
- 'modifyvm', :id,
114
+ 'modifyvm', :id,
106
115
  '--cpuexecutioncap', '90',
107
116
  '--memory', '1376',
108
117
  '--nictype2', 'virtio',
@@ -127,14 +136,24 @@ Vagrant.configure('2') do |config|
127
136
 
128
137
  config.vm.provision :puppet do |puppet|
129
138
  puppet.options = [
130
- "--environment development",
131
- '--hiera_config=/etc/puppet/hiera/hiera.yaml',
139
+ "--environment development",
140
+ '--hiera_config=/etc/puppet/hiera/hiera.yaml',
132
141
  ]
133
142
  puppet.manifests_path = './manifests'
134
143
  puppet.manifest_file = 'default.pp'
135
144
  end
136
145
  ```
137
146
 
147
+ ### Parallel Support
148
+
149
+ By default VMs will be created and provisioned in parallel. If this causes
150
+ resource issues or you want VMs to be created in series use --no-parallel
151
+
152
+ ```
153
+ $ vagrant up
154
+ $ vagrant up --no-parallel
155
+ ```
156
+
138
157
  ### How Project Is Created
139
158
 
140
159
  Vagrant goes through steps below when creating new project:
@@ -188,4 +207,3 @@ The box is a tarball containing:
188
207
  3. Commit your changes (`git commit -am 'Add some feature'`)
189
208
  4. Push to the branch (`git push origin my-new-feature`)
190
209
  5. Create new Pull Request
191
-
@@ -21,6 +21,9 @@ module VagrantPlugins
21
21
  console = config.console
22
22
  cpus = config.cpus
23
23
  memory_size = config.memory*1024
24
+ user_data = config.user_data ?
25
+ Base64::encode64(config.user_data) :
26
+ nil
24
27
 
25
28
  # Get cluster
26
29
  if config.cluster == nil
@@ -34,12 +37,25 @@ module VagrantPlugins
34
37
  env[:ovirt_cluster] = cluster
35
38
 
36
39
  # Get template
37
- template = OVirtProvider::Util::Collection.find_matching(
38
- env[:ovirt_compute].templates.all, config.template)
40
+ template = env[:ovirt_compute].templates.all.find_all { |t|
41
+ t.id == config.template or t.name == config.template
42
+ }
43
+ .sort_by { |t| t.raw.version.version_number.to_i }.reverse
44
+ .find { |t|
45
+ v = t.raw.version
46
+ cv = config.template_version
47
+ cv.nil? or (cv.to_i == v.version_number.to_i or cv == v.version_name)
48
+ }
39
49
  if template == nil
40
50
  raise Error::NoTemplateError,
41
51
  :template_name => config.template
42
52
  end
53
+ ver = template.raw.version
54
+ if !ver.version_name.nil? and !ver.version_name.empty?
55
+ version_string = "#{ver.version_name} (#{ver.version_number.to_i})"
56
+ else
57
+ version_string = "#{ver.version_number.to_i}"
58
+ end
43
59
 
44
60
  # Output the settings we're going to use to the user
45
61
  env[:ui].info(I18n.t("vagrant_ovirt3.creating_vm"))
@@ -47,12 +63,16 @@ module VagrantPlugins
47
63
  env[:ui].info(" -- Cpus: #{cpus}")
48
64
  env[:ui].info(" -- Memory: #{memory_size/1024}M")
49
65
  env[:ui].info(" -- Template: #{template.name}")
66
+ env[:ui].info(" -- Version: #{version_string}")
50
67
  env[:ui].info(" -- Datacenter: #{config.datacenter}")
51
68
  env[:ui].info(" -- Cluster: #{cluster.name}")
52
69
  env[:ui].info(" -- Console: #{console}")
53
70
  if config.disk_size
54
71
  env[:ui].info(" -- Disk size: #{config.disk_size}G")
55
72
  end
73
+ if config.user_data
74
+ env[:ui].info(" -- User data:\n#{config.user_data}")
75
+ end
56
76
 
57
77
  # Create oVirt VM.
58
78
  attr = {
@@ -62,6 +82,7 @@ module VagrantPlugins
62
82
  :cluster => cluster.id,
63
83
  :template => template.id,
64
84
  :display => {:type => console },
85
+ :user_data => user_data,
65
86
  }
66
87
 
67
88
  begin
@@ -0,0 +1,23 @@
1
+ require 'log4r'
2
+
3
+ module VagrantPlugins
4
+ module OVirtProvider
5
+ module Action
6
+ class HaltVM
7
+ def initialize(app, env)
8
+ @logger = Log4r::Logger.new("vagrant_ovirt3::action::halt_vm")
9
+ @app = app
10
+ end
11
+
12
+ def call(env)
13
+ env[:ui].info(I18n.t("vagrant_ovirt3.halt_vm"))
14
+
15
+ machine = env[:ovirt_compute].servers.get(env[:machine].id.to_s)
16
+ machine.stop
17
+
18
+ @app.call(env)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ module VagrantPlugins
2
+ module OVirtProvider
3
+ module Action
4
+ class MessageAlreadyUp
5
+ def initialize(app, env)
6
+ @app = app
7
+ end
8
+
9
+ def call(env)
10
+ env[:ui].info(I18n.t("vagrant_ovirt3.already_up"))
11
+ @app.call(env)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module VagrantPlugins
2
+ module OVirtProvider
3
+ module Action
4
+ class MessageNotSuspended
5
+ def initialize(app, env)
6
+ @app = app
7
+ end
8
+
9
+ def call(env)
10
+ env[:ui].info(I18n.t("vagrant_ovirt3.not_suspended"))
11
+ @app.call(env)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module VagrantPlugins
2
+ module OVirtProvider
3
+ module Action
4
+ class MessageNotUp
5
+ def initialize(app, env)
6
+ @app = app
7
+ end
8
+
9
+ def call(env)
10
+ env[:ui].info(I18n.t("vagrant_ovirt3.not_up"))
11
+ @app.call(env)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module VagrantPlugins
2
+ module OVirtProvider
3
+ module Action
4
+ class MessageSavingState
5
+ def initialize(app, env)
6
+ @app = app
7
+ end
8
+
9
+ def call(env)
10
+ env[:ui].info(I18n.t("vagrant_ovirt3.saving_state"))
11
+ @app.call(env)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -16,20 +16,20 @@ module VagrantPlugins
16
16
  @app.call(env)
17
17
  end
18
18
 
19
+ # Possible states include (but may not be limited to):
20
+ # :not_created, :up, :down, :saving_state, :suspended
19
21
  def read_state(ovirt, machine)
20
22
  return :not_created if machine.id.nil?
21
23
 
22
24
  # Find the machine
23
25
  server = ovirt.servers.get(machine.id)
24
- if server.nil? || [:"shutting-down", :terminated].include?(server.status.to_sym)
25
- # The machine can't be found
26
- @logger.info("Machine not found or terminated, assuming it got destroyed.")
26
+ if server.nil?
27
27
  machine.id = nil
28
28
  return :not_created
29
29
  end
30
30
 
31
31
  # Return the state
32
- return server.status
32
+ return server.status.to_sym
33
33
  end
34
34
  end
35
35
  end
@@ -11,7 +11,7 @@ module VagrantPlugins
11
11
  def call(env)
12
12
  env[:domain_name] = env[:root_path].basename.to_s.dup
13
13
  env[:domain_name].gsub!(/[^-a-z0-9_]/i, "")
14
- env[:domain_name] << "_#{Time.now.to_i}"
14
+ env[:domain_name] << "_#{Time.now.to_f}"
15
15
 
16
16
  # Check if the domain name is not already taken
17
17
  domain = OVirtProvider::Util::Collection.find_matching(
@@ -0,0 +1,24 @@
1
+ require 'log4r'
2
+
3
+ module VagrantPlugins
4
+ module OVirtProvider
5
+ module Action
6
+ class SuspendVM
7
+ def initialize(app, env)
8
+ @logger = Log4r::Logger.new("vagrant_ovirt3::action::suspend_vm")
9
+ @app = app
10
+ end
11
+
12
+ def call(env)
13
+ env[:ui].info(I18n.t("vagrant_ovirt3.suspend_vm"))
14
+
15
+ machine = env[:ovirt_compute].servers.get(env[:machine].id.to_s)
16
+ machine.suspend
17
+
18
+ @app.call(env)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -11,20 +11,29 @@ module VagrantPlugins
11
11
  Vagrant::Action::Builder.new.tap do |b|
12
12
  b.use ConfigValidate
13
13
  b.use ConnectOVirt
14
- b.use Call, IsCreated do |env, b2|
15
- if env[:result]
16
- b2.use MessageAlreadyCreated
14
+ b.use Call, ReadState do |env, b2|
15
+ if env[:machine_state_id] == :up
16
+ b2.use SyncFolders
17
+ b2.use MessageAlreadyUp
17
18
  next
18
19
  end
19
20
 
20
- b2.use SetNameOfDomain
21
- b2.use CreateVM
22
- b2.use ResizeDisk
21
+ if env[:machine_state_id] == :saving_state
22
+ b2.use MessageSavingState
23
+ next
24
+ end
23
25
 
24
- b2.use Provision
25
- b2.use CreateNetworkInterfaces
26
+ if env[:machine_state_id] == :not_created
27
+ b2.use SetNameOfDomain
28
+ b2.use CreateVM
29
+ b2.use ResizeDisk
30
+
31
+ b2.use Provision
32
+ b2.use CreateNetworkInterfaces
33
+
34
+ b2.use SetHostname
35
+ end
26
36
 
27
- b2.use SetHostname
28
37
  b2.use StartVM
29
38
  b2.use WaitTillUp
30
39
  b2.use SyncFolders
@@ -32,6 +41,42 @@ module VagrantPlugins
32
41
  end
33
42
  end
34
43
 
44
+ def self.action_halt
45
+ with_ovirt do |env, b|
46
+ if env[:machine_state_id] != :up
47
+ b.use MessageNotUp
48
+ next
49
+ end
50
+ b.use HaltVM
51
+ end
52
+ end
53
+
54
+ def self.action_suspend
55
+ with_ovirt do |env, b|
56
+ if env[:machine_state_id] != :up
57
+ b.use MessageNotUp
58
+ next
59
+ end
60
+ b.use SuspendVM
61
+ end
62
+ end
63
+
64
+ def self.action_resume
65
+ with_ovirt do |env, b|
66
+ if env[:machine_state_id] == :saving_state
67
+ b.use MessageSavingState
68
+ next
69
+ end
70
+ if env[:machine_state_id] != :suspended
71
+ b.use MessageNotSuspended
72
+ next
73
+ end
74
+ b.use StartVM
75
+ b.use WaitTillUp
76
+ b.use SyncFolders
77
+ end
78
+ end
79
+
35
80
  # This is the action that is primarily responsible for completely
36
81
  # freeing the resources of the underlying virtual machine.
37
82
  def self.action_destroy
@@ -73,11 +118,16 @@ module VagrantPlugins
73
118
  def self.action_ssh
74
119
  Vagrant::Action::Builder.new.tap do |b|
75
120
  b.use ConfigValidate
76
- b.use Call, IsCreated do |env, b2|
77
- if !env[:result]
121
+ b.use ConnectOVirt
122
+ b.use Call, ReadState do |env, b2|
123
+ if env[:machine_state_id] == :not_created
78
124
  b2.use MessageNotCreated
79
125
  next
80
126
  end
127
+ if env[:machine_state_id] != :up
128
+ b2.use MessageNotUp
129
+ next
130
+ end
81
131
  b2.use SSHExec
82
132
  end
83
133
  end
@@ -87,10 +137,14 @@ module VagrantPlugins
87
137
  Vagrant::Action::Builder.new.tap do |b|
88
138
  b.use ConfigValidate
89
139
  b.use Call, IsCreated do |env, b2|
90
- if !env[:result]
140
+ if env[:machine_state_id] == :not_created
91
141
  b2.use MessageNotCreated
92
142
  next
93
143
  end
144
+ if env[:machine_state_id] != :up
145
+ b2.use MessageNotUp
146
+ next
147
+ end
94
148
  b2.use SSHRun
95
149
  end
96
150
  end
@@ -119,12 +173,33 @@ module VagrantPlugins
119
173
  autoload :ResizeDisk, action_root.join("resize_disk")
120
174
  autoload :StartVM, action_root.join("start_vm")
121
175
  autoload :MessageNotCreated, action_root.join("message_not_created")
176
+ autoload :HaltVM, action_root.join("halt_vm")
177
+ autoload :SuspendVM, action_root.join("suspend_vm")
122
178
  autoload :DestroyVM, action_root.join("destroy_vm")
123
179
  autoload :ReadState, action_root.join("read_state")
124
180
  autoload :ReadSSHInfo, action_root.join("read_ssh_info")
125
181
  autoload :WaitTillUp, action_root.join("wait_till_up")
126
182
  autoload :SyncFolders, action_root.join("sync_folders")
127
183
  autoload :MessageAlreadyCreated, action_root.join("message_already_created")
184
+ autoload :MessageAlreadyUp, action_root.join("message_already_up")
185
+ autoload :MessageNotUp, action_root.join("message_not_up")
186
+ autoload :MessageSavingState, action_root.join("message_saving_state")
187
+ autoload :MessageNotSuspended, action_root.join("message_not_suspended")
188
+
189
+ private
190
+ def self.with_ovirt
191
+ Vagrant::Action::Builder.new.tap do |b|
192
+ b.use ConfigValidate
193
+ b.use ConnectOVirt
194
+ b.use Call, ReadState do |env, b2|
195
+ if !env[:machine_state_id] == :not_created
196
+ b2.use MessageNotCreated
197
+ next
198
+ end
199
+ yield env, b2
200
+ end
201
+ end
202
+ end
128
203
  end
129
204
  end
130
205
  end
@@ -15,8 +15,10 @@ module VagrantPlugins
15
15
  attr_accessor :memory
16
16
  attr_accessor :cpus
17
17
  attr_accessor :template
18
+ attr_accessor :template_version
18
19
  attr_accessor :console
19
20
  attr_accessor :disk_size
21
+ attr_accessor :user_data
20
22
 
21
23
  # TODO: change 'ca_cert_store' to 'ca_cert' once rbovirt PR #55 merges.
22
24
  attr_accessor :ca_no_verify
@@ -35,8 +37,10 @@ module VagrantPlugins
35
37
  @memory = UNSET_VALUE
36
38
  @cpus = UNSET_VALUE
37
39
  @template = UNSET_VALUE
40
+ @template_version = UNSET_VALUE
38
41
  @console = UNSET_VALUE
39
42
  @disk_size = UNSET_VALUE
43
+ @user_data = UNSET_VALUE
40
44
 
41
45
  @ca_no_verify = UNSET_VALUE
42
46
  @ca_cert_store = UNSET_VALUE
@@ -55,8 +59,10 @@ module VagrantPlugins
55
59
  @memory = 512 if @memory == UNSET_VALUE
56
60
  @cpus = 1 if @cpus == UNSET_VALUE
57
61
  @template = 'Blank' if @template == UNSET_VALUE
62
+ @template_version = nil if @template_version == UNSET_VALUE
58
63
  @console = 'spice' if @console == UNSET_VALUE
59
64
  @disk_size = nil if @disk_size == UNSET_VALUE
65
+ @user_data = nil if @user_data == UNSET_VALUE
60
66
 
61
67
  @ca_no_verify = false if @ca_no_verify == UNSET_VALUE
62
68
  @ca_cert_store = nil if @ca_cert_store == UNSET_VALUE
@@ -24,7 +24,7 @@ module VagrantPlugins
24
24
  Config
25
25
  end
26
26
 
27
- provider "ovirt3" do
27
+ provider("ovirt3", parallel: true) do
28
28
  # Setup logging and i18n
29
29
  setup_logging
30
30
  setup_i18n
@@ -1,6 +1,6 @@
1
1
  module VagrantPlugins
2
2
  module OVirtProvider
3
- VERSION = '1.2.0'
3
+ VERSION = '1.3.0'
4
4
  end
5
5
  end
6
6
 
data/locales/en.yml CHANGED
@@ -6,8 +6,14 @@ en:
6
6
  Removing VM...
7
7
  not_created: |-
8
8
  VM is not created. Please run `vagrant up` first.
9
+ not_up: |-
10
+ VM is not running. Please run `vagrant up` first.
9
11
  starting_vm: |-
10
12
  Starting VM.
13
+ suspend_vm: |-
14
+ Suspending VM...
15
+ halt_vm: |-
16
+ Halting VM...
11
17
  error_recovering: |-
12
18
  An error occured. Recovering..
13
19
  waiting_for_ip: |-
@@ -20,10 +26,16 @@ en:
20
26
  Waiting for VM to become "ready" to start...
21
27
  already_created: |-
22
28
  VM is already created.
29
+ already_up: |-
30
+ VM is already up.
23
31
  ready: |-
24
32
  Machine is booted and ready for use!
25
33
  wait_for_ready_volume: |-
26
34
  Waiting for VM volume to become "ready" to start...
35
+ saving_state: |-
36
+ VM is busy saving state. Please wait and try again.
37
+ not_suspended: |-
38
+ VM is not in a suspended state.
27
39
 
28
40
  errors:
29
41
  fog_ovirt_connection_error: |-
@@ -3,7 +3,7 @@ require File.expand_path('../lib/vagrant-ovirt3/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Marcus Young"]
6
- gem.email = ["myoung34@my.apsu.edu"]
6
+ gem.email = ["myoung34@my.apsu.edu"]
7
7
  gem.description = %q{Vagrant provider for oVirt and RHEV v3}
8
8
  gem.summary = %q{This vagrant plugin provides the ability to create, control, and destroy virtual machines under oVirt/RHEV}
9
9
  gem.homepage = "https://github.com/myoung34/vagrant-ovirt3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-ovirt3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Young
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-26 00:00:00.000000000 Z
11
+ date: 2015-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog
@@ -80,14 +80,20 @@ files:
80
80
  - lib/vagrant-ovirt3/action/create_network_interfaces.rb
81
81
  - lib/vagrant-ovirt3/action/create_vm.rb
82
82
  - lib/vagrant-ovirt3/action/destroy_vm.rb
83
+ - lib/vagrant-ovirt3/action/halt_vm.rb
83
84
  - lib/vagrant-ovirt3/action/is_created.rb
84
85
  - lib/vagrant-ovirt3/action/message_already_created.rb
86
+ - lib/vagrant-ovirt3/action/message_already_up.rb
85
87
  - lib/vagrant-ovirt3/action/message_not_created.rb
88
+ - lib/vagrant-ovirt3/action/message_not_suspended.rb
89
+ - lib/vagrant-ovirt3/action/message_not_up.rb
90
+ - lib/vagrant-ovirt3/action/message_saving_state.rb
86
91
  - lib/vagrant-ovirt3/action/read_ssh_info.rb
87
92
  - lib/vagrant-ovirt3/action/read_state.rb
88
93
  - lib/vagrant-ovirt3/action/resize_disk.rb
89
94
  - lib/vagrant-ovirt3/action/set_name_of_domain.rb
90
95
  - lib/vagrant-ovirt3/action/start_vm.rb
96
+ - lib/vagrant-ovirt3/action/suspend_vm.rb
91
97
  - lib/vagrant-ovirt3/action/sync_folders.rb
92
98
  - lib/vagrant-ovirt3/action/wait_till_up.rb
93
99
  - lib/vagrant-ovirt3/config.rb