vagrant-libvirt 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/CHANGELOG.md +8 -2
- data/README.md +4 -15
- data/lib/vagrant-libvirt/action/start_domain.rb +6 -1
- data/lib/vagrant-libvirt/action/timed_provision.rb +4 -1
- data/lib/vagrant-libvirt/action.rb +28 -0
- data/lib/vagrant-libvirt/errors.rb +4 -0
- data/lib/vagrant-libvirt/version.rb +1 -1
- metadata +2 -2
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.0.4 (May 5, 2013)
|
2
|
+
|
3
|
+
* Bug fix in number of parameters for provisioner.
|
4
|
+
* Handle box URL when downloading a box.
|
5
|
+
* Support for running ssh commands like `vagrant ssh -c "bash cli"`
|
6
|
+
|
1
7
|
# 0.0.3 (Apr 11, 2013)
|
2
8
|
|
3
9
|
* Cpu and memory settings for domains.
|
@@ -8,8 +14,8 @@
|
|
8
14
|
# 0.0.2 (Apr 1, 2013)
|
9
15
|
|
10
16
|
* Halt, suspend, resume, ssh and provision commands added.
|
11
|
-
* IP address of VM is saved into
|
12
|
-
* Provider can be set via VAGRANT_DEFAULT_PROVIDER env variable.
|
17
|
+
* IP address of VM is saved into `$data_dir/ip` file.
|
18
|
+
* Provider can be set via `VAGRANT_DEFAULT_PROVIDER` env variable.
|
13
19
|
|
14
20
|
# 0.0.1 (Mar 26, 2013)
|
15
21
|
|
data/README.md
CHANGED
@@ -4,10 +4,10 @@ This is a [Vagrant](http://www.vagrantup.com) 1.1+ plugin that adds an
|
|
4
4
|
[Libvirt](http://libvirt.org) provider to Vagrant, allowing Vagrant to
|
5
5
|
control and provision machines via Libvirt toolkit.
|
6
6
|
|
7
|
-
**Note:** Actual version (0.0.
|
7
|
+
**Note:** Actual version (0.0.4) is still a development one. Feedback is
|
8
8
|
welcome and can help a lot :-)
|
9
9
|
|
10
|
-
## Features (Version 0.0.
|
10
|
+
## Features (Version 0.0.4)
|
11
11
|
|
12
12
|
* Vagrant `up`, `destroy`, `suspend`, `resume`, `halt`, `ssh` and `provision` commands.
|
13
13
|
* Upload box image (qcow2 format) to Libvirt storage pool.
|
@@ -140,21 +140,10 @@ Vagrant goes through steps below when creating new project:
|
|
140
140
|
|
141
141
|
## Networks
|
142
142
|
|
143
|
-
Networking features in the form of `config.vm.network` are supported
|
144
|
-
|
143
|
+
Networking features in the form of `config.vm.network` are not supported right
|
144
|
+
now. Support for private network is planned to be added in next release of
|
145
145
|
provider.
|
146
146
|
|
147
|
-
Example of network interface definition:
|
148
|
-
|
149
|
-
```ruby
|
150
|
-
config.vm.define :test_vm do |test_vm|
|
151
|
-
test_vm.vm.network :bridged, :bridge => "default", :adapter => 1
|
152
|
-
end
|
153
|
-
```
|
154
|
-
|
155
|
-
In example above, bridged network adapter connected to network `default` is
|
156
|
-
defined.
|
157
|
-
|
158
147
|
## Obtaining Domain IP Address
|
159
148
|
|
160
149
|
Libvirt doesn't provide standard way how to find out an IP address of running
|
@@ -16,7 +16,12 @@ module VagrantPlugins
|
|
16
16
|
|
17
17
|
domain = env[:libvirt_compute].servers.get(env[:machine].id.to_s)
|
18
18
|
raise Errors::NoDomainError if domain == nil
|
19
|
-
|
19
|
+
|
20
|
+
begin
|
21
|
+
domain.start
|
22
|
+
rescue => e
|
23
|
+
raise Errors::FogError, :message => e.message
|
24
|
+
end
|
20
25
|
|
21
26
|
@app.call(env)
|
22
27
|
end
|
@@ -6,7 +6,10 @@ module VagrantPlugins
|
|
6
6
|
# This is the same as the builtin provision except it times the
|
7
7
|
# provisioner runs.
|
8
8
|
class TimedProvision < Vagrant::Action::Builtin::Provision
|
9
|
-
def run_provisioner(env, p)
|
9
|
+
def run_provisioner(env, name, p)
|
10
|
+
env[:ui].info(I18n.t("vagrant.actions.vm.provision.beginning",
|
11
|
+
:provisioner => name))
|
12
|
+
|
10
13
|
timer = Util::Timer.time do
|
11
14
|
super
|
12
15
|
end
|
@@ -16,6 +16,7 @@ module VagrantPlugins
|
|
16
16
|
if !env[:result]
|
17
17
|
b2.use SetNameOfDomain
|
18
18
|
b2.use HandleStoragePool
|
19
|
+
b2.use HandleBoxUrl
|
19
20
|
b2.use HandleBoxImage
|
20
21
|
b2.use CreateDomainVolume
|
21
22
|
b2.use CreateDomain
|
@@ -221,6 +222,31 @@ module VagrantPlugins
|
|
221
222
|
end
|
222
223
|
end
|
223
224
|
|
225
|
+
# This is the action that will run a single SSH command.
|
226
|
+
def self.action_ssh_run
|
227
|
+
Vagrant::Action::Builder.new.tap do |b|
|
228
|
+
b.use ConfigValidate
|
229
|
+
b.use Call, IsCreated do |env, b2|
|
230
|
+
if !env[:result]
|
231
|
+
b2.use MessageNotCreated
|
232
|
+
next
|
233
|
+
end
|
234
|
+
|
235
|
+
b2.use ConnectLibvirt
|
236
|
+
b2.use Call, IsRunning do |env2, b3|
|
237
|
+
if !env2[:result]
|
238
|
+
b3.use MessageNotRunning
|
239
|
+
next
|
240
|
+
end
|
241
|
+
|
242
|
+
b3.use SSHRun
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
|
224
250
|
action_root = Pathname.new(File.expand_path("../action", __FILE__))
|
225
251
|
autoload :ConnectLibvirt, action_root.join("connect_libvirt")
|
226
252
|
autoload :IsCreated, action_root.join("is_created")
|
@@ -231,6 +257,7 @@ module VagrantPlugins
|
|
231
257
|
autoload :MessageNotRunning, action_root.join("message_not_running")
|
232
258
|
autoload :MessageNotSuspended, action_root.join("message_not_suspended")
|
233
259
|
autoload :HandleStoragePool, action_root.join("handle_storage_pool")
|
260
|
+
autoload :HandleBoxUrl, "vagrant/action/builtin/handle_box_url"
|
234
261
|
autoload :HandleBoxImage, action_root.join("handle_box_image")
|
235
262
|
autoload :SetNameOfDomain, action_root.join("set_name_of_domain")
|
236
263
|
autoload :CreateDomainVolume, action_root.join("create_domain_volume")
|
@@ -247,6 +274,7 @@ module VagrantPlugins
|
|
247
274
|
autoload :TimedProvision, action_root.join("timed_provision")
|
248
275
|
autoload :WaitTillUp, action_root.join("wait_till_up")
|
249
276
|
autoload :SyncFolders, action_root.join("sync_folders")
|
277
|
+
autoload :SSHRun, "vagrant/action/builtin/ssh_run"
|
250
278
|
end
|
251
279
|
end
|
252
280
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-libvirt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|