vagrant-lxd 0.3.1 → 0.3.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +18 -18
- data/lib/vagrant-lxd/driver.rb +31 -13
- data/lib/vagrant-lxd/plugin.rb +1 -1
- data/lib/vagrant-lxd/version.rb +1 -1
- data/templates/locales/en.yml +10 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f0c237e8739d6719e33f8029c849927f5650a47
|
4
|
+
data.tar.gz: 3eb61ce7502ba73752e2e6eb5c86eba965dc5b42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a5a7434615e6a4b6928f3601c2277987ac0e24516b18da7102723059929908b72c30695f21cb4e411877a920bb929cca70744178f5cae0921081dec9689cc49
|
7
|
+
data.tar.gz: 8ebaad06c6a85d84c5da97d44196558f651a321acc26e049642785a757c0d3f66599d009a82b89ee2aaddbb11752034a45e72f07185d0ffa5d5ec286f397494c
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/mitchellh/vagrant.git
|
3
|
-
revision:
|
3
|
+
revision: 7927c39da90dae3f5be79e36ad9df3b4ad834ac1
|
4
4
|
specs:
|
5
|
-
vagrant (2.2.
|
5
|
+
vagrant (2.2.4.dev)
|
6
6
|
bcrypt_pbkdf (~> 1.0.0)
|
7
7
|
childprocess (~> 0.6.0)
|
8
8
|
ed25519 (~> 1.2.4)
|
@@ -13,12 +13,12 @@ GIT
|
|
13
13
|
log4r (~> 1.1.9, < 1.1.11)
|
14
14
|
net-scp (~> 1.2.0)
|
15
15
|
net-sftp (~> 2.1)
|
16
|
-
net-ssh (~> 5.
|
16
|
+
net-ssh (~> 5.1.0)
|
17
17
|
rb-kqueue (~> 0.2.0)
|
18
18
|
rest-client (>= 1.6.0, < 3.0)
|
19
19
|
ruby_dep (<= 1.3.1)
|
20
20
|
rubyzip (~> 1.2.2)
|
21
|
-
vagrant_cloud (~> 2.0.
|
21
|
+
vagrant_cloud (~> 2.0.2)
|
22
22
|
wdm (~> 0.1.0)
|
23
23
|
winrm (~> 2.1)
|
24
24
|
winrm-elevated (~> 1.1)
|
@@ -27,13 +27,13 @@ GIT
|
|
27
27
|
PATH
|
28
28
|
remote: .
|
29
29
|
specs:
|
30
|
-
vagrant-lxd (0.3.
|
30
|
+
vagrant-lxd (0.3.2)
|
31
31
|
hyperkit (~> 1.2.0)
|
32
32
|
|
33
33
|
GEM
|
34
34
|
remote: https://rubygems.org/
|
35
35
|
specs:
|
36
|
-
activesupport (5.2.
|
36
|
+
activesupport (5.2.2)
|
37
37
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
38
38
|
i18n (>= 0.7, < 2)
|
39
39
|
minitest (~> 5.1)
|
@@ -44,16 +44,16 @@ GEM
|
|
44
44
|
builder (3.2.3)
|
45
45
|
childprocess (0.6.3)
|
46
46
|
ffi (~> 1.0, >= 1.0.11)
|
47
|
-
concurrent-ruby (1.1.
|
47
|
+
concurrent-ruby (1.1.4)
|
48
48
|
diff-lcs (1.3)
|
49
49
|
domain_name (0.5.20180417)
|
50
50
|
unf (>= 0.0.5, < 1.0.0)
|
51
51
|
ed25519 (1.2.4)
|
52
52
|
erubis (2.7.0)
|
53
53
|
fakefs (0.18.0)
|
54
|
-
faraday (0.15.
|
54
|
+
faraday (0.15.4)
|
55
55
|
multipart-post (>= 1.2, < 3)
|
56
|
-
ffi (1.
|
56
|
+
ffi (1.10.0)
|
57
57
|
gssapi (1.2.0)
|
58
58
|
ffi (>= 1.0.1)
|
59
59
|
gyoku (1.3.1)
|
@@ -86,14 +86,14 @@ GEM
|
|
86
86
|
net-ssh (>= 2.6.5)
|
87
87
|
net-sftp (2.1.2)
|
88
88
|
net-ssh (>= 2.6.5)
|
89
|
-
net-ssh (5.0
|
89
|
+
net-ssh (5.1.0)
|
90
90
|
netrc (0.11.0)
|
91
91
|
nori (2.6.0)
|
92
92
|
public_suffix (3.0.3)
|
93
|
-
rake (12.3.
|
93
|
+
rake (12.3.2)
|
94
94
|
rb-fsevent (0.10.3)
|
95
|
-
rb-inotify (0.
|
96
|
-
ffi (
|
95
|
+
rb-inotify (0.10.0)
|
96
|
+
ffi (~> 1.0)
|
97
97
|
rb-kqueue (0.2.5)
|
98
98
|
ffi (>= 0.5.0)
|
99
99
|
rest-client (2.0.2)
|
@@ -128,10 +128,10 @@ GEM
|
|
128
128
|
unf (0.1.4)
|
129
129
|
unf_ext
|
130
130
|
unf_ext (0.0.7.5)
|
131
|
-
vagrant_cloud (2.0.
|
131
|
+
vagrant_cloud (2.0.2)
|
132
132
|
rest-client (~> 2.0.2)
|
133
133
|
wdm (0.1.1)
|
134
|
-
winrm (2.3.
|
134
|
+
winrm (2.3.1)
|
135
135
|
builder (>= 2.1.2)
|
136
136
|
erubis (~> 2.7)
|
137
137
|
gssapi (~> 1.2)
|
@@ -140,10 +140,10 @@ GEM
|
|
140
140
|
logging (>= 1.6.1, < 3.0)
|
141
141
|
nori (~> 2.0)
|
142
142
|
rubyntlm (~> 0.6.0, >= 0.6.1)
|
143
|
-
winrm-elevated (1.1.
|
143
|
+
winrm-elevated (1.1.1)
|
144
144
|
winrm (~> 2.0)
|
145
145
|
winrm-fs (~> 1.0)
|
146
|
-
winrm-fs (1.3.
|
146
|
+
winrm-fs (1.3.2)
|
147
147
|
erubis (~> 2.7)
|
148
148
|
logging (>= 1.6.1, < 3.0)
|
149
149
|
rubyzip (~> 1.1)
|
@@ -162,4 +162,4 @@ DEPENDENCIES
|
|
162
162
|
vagrant-lxd!
|
163
163
|
|
164
164
|
BUNDLED WITH
|
165
|
-
|
165
|
+
2.0.1
|
data/lib/vagrant-lxd/driver.rb
CHANGED
@@ -22,6 +22,7 @@ require 'hyperkit'
|
|
22
22
|
require 'securerandom'
|
23
23
|
require 'tempfile'
|
24
24
|
require 'timeout'
|
25
|
+
require 'monitor'
|
25
26
|
require 'vagrant/machine_state'
|
26
27
|
require 'vagrant-lxd/config'
|
27
28
|
|
@@ -29,6 +30,8 @@ module VagrantLXD
|
|
29
30
|
class Driver
|
30
31
|
include Vagrant::Util
|
31
32
|
|
33
|
+
extend MonitorMixin
|
34
|
+
|
32
35
|
USER_AGENT = "#{Version::DESCRIPTION} #{Version::VERSION} (#{Hyperkit::Default.user_agent})"
|
33
36
|
|
34
37
|
IMAGE_PROPERTIES = { description: "#{Version::DESCRIPTION} #{Version::VERSION}" }
|
@@ -57,6 +60,10 @@ module VagrantLXD
|
|
57
60
|
error_key 'lxd_container_configuration_failure'
|
58
61
|
end
|
59
62
|
|
63
|
+
class ContainerDeletionFailure < Vagrant::Errors::VagrantError
|
64
|
+
error_key 'lxd_container_deletion_failure'
|
65
|
+
end
|
66
|
+
|
60
67
|
class ImageCreationFailure < ContainerCreationFailure
|
61
68
|
error_key 'lxd_image_creation_failure'
|
62
69
|
end
|
@@ -224,19 +231,21 @@ module VagrantLXD
|
|
224
231
|
def create
|
225
232
|
if in_state? NOT_CREATED
|
226
233
|
machine_id = generate_machine_id
|
227
|
-
file, fingerprint = prepare_image_file
|
228
|
-
|
229
|
-
|
230
|
-
image = @lxd.image(fingerprint)
|
231
|
-
@logger.debug 'Using image: ' << image.inspect
|
232
|
-
rescue Hyperkit::NotFound
|
233
|
-
image = @lxd.create_image_from_file(file)
|
234
|
-
@logger.debug 'Created image: ' << image.inspect
|
234
|
+
file, fingerprint = Driver.synchronize { prepare_image_file }
|
235
|
+
|
236
|
+
Driver.synchronize do
|
235
237
|
begin
|
236
|
-
@lxd.
|
237
|
-
@
|
238
|
-
rescue Hyperkit::
|
239
|
-
|
238
|
+
image = @lxd.image(fingerprint)
|
239
|
+
@logger.debug 'Using image: ' << image.inspect
|
240
|
+
rescue Hyperkit::NotFound
|
241
|
+
image = @lxd.create_image_from_file(file)
|
242
|
+
@logger.debug 'Created image: ' << image.inspect
|
243
|
+
begin
|
244
|
+
@lxd.update_image(fingerprint, properties: IMAGE_PROPERTIES)
|
245
|
+
@lxd.create_image_alias(fingerprint, machine_id, IMAGE_PROPERTIES)
|
246
|
+
rescue Hyperkit::Error
|
247
|
+
@logger.error 'Failed to set description for image: ' << e.reason
|
248
|
+
end
|
240
249
|
end
|
241
250
|
end
|
242
251
|
|
@@ -333,6 +342,15 @@ module VagrantLXD
|
|
333
342
|
@lxd.delete_container(machine_id)
|
334
343
|
rescue Hyperkit::NotFound
|
335
344
|
@logger.warn "Container '#{machine_id}' not found, unable to destroy"
|
345
|
+
rescue Hyperkit::Error => e
|
346
|
+
@machine.ui.error 'Failed to delete container'
|
347
|
+
@logger.warn "Could not delete container '#{machine_id}': " << e.reason
|
348
|
+
fail ContainerDeletionFailure, machine_name: @machine.name, reason:
|
349
|
+
if e.reason =~ /(Error cleaning up [^:]+:) (.+)/m
|
350
|
+
"#{$1}\n#{$2}"
|
351
|
+
else
|
352
|
+
e.reason
|
353
|
+
end
|
336
354
|
end
|
337
355
|
|
338
356
|
def delete_image
|
@@ -476,7 +494,7 @@ module VagrantLXD
|
|
476
494
|
rescue Exception => e
|
477
495
|
@machine.ui.error 'Failed to create LXD image for container'
|
478
496
|
@logger.error 'Error preparing LXD image: ' << e.message << "\n" << e.backtrace.join("\n")
|
479
|
-
fail ImageCreationFailure, machine_name: @machine.name,
|
497
|
+
fail ImageCreationFailure, machine_name: @machine.name, reason: e.message
|
480
498
|
ensure
|
481
499
|
FileUtils.rm_rf(tmpdir)
|
482
500
|
end
|
data/lib/vagrant-lxd/plugin.rb
CHANGED
data/lib/vagrant-lxd/version.rb
CHANGED
data/templates/locales/en.yml
CHANGED
@@ -92,23 +92,28 @@ en:
|
|
92
92
|
lxd_container_creation_failure: |-
|
93
93
|
The provider was unable to create a container for the '%{machine_name}' VM.
|
94
94
|
|
95
|
-
%{reason}
|
95
|
+
The underlying error message was: %{reason}
|
96
96
|
|
97
97
|
The LXD logs may contain more information about the cause of this failure.
|
98
98
|
|
99
99
|
lxd_container_configuration_failure: |-
|
100
100
|
The provider was unable to configure the container for the '%{machine_name}' VM.
|
101
101
|
|
102
|
-
%{reason}
|
102
|
+
The underlying error message was: %{reason}
|
103
|
+
|
104
|
+
The LXD logs may contain more information about the cause of this failure.
|
105
|
+
|
106
|
+
lxd_container_deletion_failure: |-
|
107
|
+
The provider was unable to delete the container for the '%{machine_name}' VM.
|
108
|
+
|
109
|
+
The underlying error message was: %{reason}
|
103
110
|
|
104
111
|
The LXD logs may contain more information about the cause of this failure.
|
105
112
|
|
106
113
|
lxd_image_creation_failure: |-
|
107
114
|
The provider was unable to create an LXD image for the '%{machine_name}' VM.
|
108
115
|
|
109
|
-
The underlying error message was:
|
110
|
-
|
111
|
-
%{error_message}
|
116
|
+
The underlying error message was: %{reason}
|
112
117
|
|
113
118
|
This may be a bug in the LXD provider. If you think this is the case,
|
114
119
|
please submit an issue at:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-lxd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Hanson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hyperkit
|