vagrant-lxd 0.2.1 → 0.3.0
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 +5 -19
- data/README.md +15 -0
- data/lib/vagrant-lxd/action.rb +1 -0
- data/lib/vagrant-lxd/command.rb +8 -1
- data/lib/vagrant-lxd/driver.rb +14 -1
- data/lib/vagrant-lxd/version.rb +1 -1
- data/templates/locales/en.yml +7 -0
- 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: 6f520f19dbe7785aae63572ae288e858e8cb1752
|
4
|
+
data.tar.gz: 36579c91dc77ca0b0cd969af53e2fc7e25586add
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e4bd0c5fa78d6d87efd722b2486852290367d41f60c706b2cba4d242cff1d0432dc3fd7383d1da600dd2f923191fa8ec4cac14e3acc3eca4925643badbd9356
|
7
|
+
data.tar.gz: c5a7e42a14dd8b1610d2c82c9227c2bc05cbbbc5f4489c6776d62f95d383824083cfea7ef928424d4d84b47ed42b9941fa670e1c8dfc832443de2d456f022e38
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/mitchellh/vagrant.git
|
3
|
-
revision:
|
3
|
+
revision: 04f7215b5e3f594368696262920deaf631315e37
|
4
4
|
specs:
|
5
|
-
vagrant (2.1.
|
5
|
+
vagrant (2.1.3.dev)
|
6
6
|
childprocess (~> 0.6.0)
|
7
7
|
erubis (~> 2.7.0)
|
8
8
|
hashicorp-checkpoint (~> 0.1.5)
|
@@ -16,8 +16,6 @@ GIT
|
|
16
16
|
rest-client (>= 1.6.0, < 3.0)
|
17
17
|
ruby_dep (<= 1.3.1)
|
18
18
|
wdm (~> 0.1.0)
|
19
|
-
win32-file (~> 0.8.1)
|
20
|
-
win32-file-security (~> 1.0.10)
|
21
19
|
winrm (~> 2.1)
|
22
20
|
winrm-elevated (~> 1.1)
|
23
21
|
winrm-fs (~> 1.0)
|
@@ -25,7 +23,7 @@ GIT
|
|
25
23
|
PATH
|
26
24
|
remote: .
|
27
25
|
specs:
|
28
|
-
vagrant-lxd (0.
|
26
|
+
vagrant-lxd (0.3.0)
|
29
27
|
hyperkit (~> 1.1.0)
|
30
28
|
|
31
29
|
GEM
|
@@ -45,12 +43,10 @@ GEM
|
|
45
43
|
domain_name (0.5.20180417)
|
46
44
|
unf (>= 0.0.5, < 1.0.0)
|
47
45
|
erubis (2.7.0)
|
48
|
-
fakefs (0.14.
|
46
|
+
fakefs (0.14.2)
|
49
47
|
faraday (0.15.2)
|
50
48
|
multipart-post (>= 1.2, < 3)
|
51
|
-
ffi (1.9.
|
52
|
-
ffi-win32-extensions (1.0.3)
|
53
|
-
ffi
|
49
|
+
ffi (1.9.25)
|
54
50
|
gssapi (1.2.0)
|
55
51
|
ffi (>= 1.0.1)
|
56
52
|
gyoku (1.3.1)
|
@@ -125,16 +121,6 @@ GEM
|
|
125
121
|
unf_ext
|
126
122
|
unf_ext (0.0.7.5)
|
127
123
|
wdm (0.1.1)
|
128
|
-
win32-file (0.8.1)
|
129
|
-
ffi
|
130
|
-
ffi-win32-extensions
|
131
|
-
win32-file-stat (>= 1.4.0)
|
132
|
-
win32-file-security (1.0.10)
|
133
|
-
ffi
|
134
|
-
ffi-win32-extensions
|
135
|
-
win32-file-stat (1.5.5)
|
136
|
-
ffi
|
137
|
-
ffi-win32-extensions
|
138
124
|
winrm (2.2.3)
|
139
125
|
builder (>= 2.1.2)
|
140
126
|
erubis (~> 2.7)
|
data/README.md
CHANGED
@@ -124,6 +124,21 @@ container called "my-container", use the `vagrant lxd attach` command:
|
|
124
124
|
$ vagrant lxd attach default my-container
|
125
125
|
==> default: Attaching to container 'my-container'...
|
126
126
|
|
127
|
+
Please note that in order for this feature to work you must ensure that
|
128
|
+
Vagrant uses the same SSH key to connect to the machine in all cases.
|
129
|
+
The easiest way to do this is to disable Vagrant's default behaviour of
|
130
|
+
automatically generating a unique key for each machine by adding the
|
131
|
+
following setting in your Vagrantfile:
|
132
|
+
|
133
|
+
``` ruby
|
134
|
+
config.vm.insert_key = false
|
135
|
+
```
|
136
|
+
|
137
|
+
Refer to Vagrant's [documentation][1] for more information about this
|
138
|
+
setting.
|
139
|
+
|
140
|
+
[1]: https://www.vagrantup.com/docs/vagrantfile/ssh_settings.html
|
141
|
+
|
127
142
|
### Nested Containers
|
128
143
|
|
129
144
|
In order to run Linux containers on an LXD-backed machine, it must be
|
data/lib/vagrant-lxd/action.rb
CHANGED
data/lib/vagrant-lxd/command.rb
CHANGED
@@ -111,8 +111,10 @@ module VagrantLXD
|
|
111
111
|
end
|
112
112
|
|
113
113
|
def detach(args)
|
114
|
+
options = Hash[force: false]
|
115
|
+
|
114
116
|
opts = OptionParser.new do |o|
|
115
|
-
o.banner = 'Usage: vagrant lxd detach [machine ...]'
|
117
|
+
o.banner = 'Usage: vagrant lxd detach [-f] [machine ...]'
|
116
118
|
o.separator ''
|
117
119
|
o.separator 'Disassociates a VM from its LXD container.'
|
118
120
|
o.separator ''
|
@@ -120,6 +122,8 @@ module VagrantLXD
|
|
120
122
|
o.separator 'underlying container. Once detached, the machine can be recreated'
|
121
123
|
o.separator 'from scratch with `vagrant up` or associated to a different container'
|
122
124
|
o.separator 'by using `vagrant lxd attach`.'
|
125
|
+
o.separator ''
|
126
|
+
o.on('-f', '--force', 'Force detachment')
|
123
127
|
end
|
124
128
|
|
125
129
|
if args.include?('-h') or args.include?('--help')
|
@@ -127,6 +131,9 @@ module VagrantLXD
|
|
127
131
|
exit 0
|
128
132
|
end
|
129
133
|
|
134
|
+
args.delete('-f')
|
135
|
+
args.delete('--force')
|
136
|
+
|
130
137
|
with_target_machines(args) do |machine|
|
131
138
|
if machine.id.nil? or machine.state.id == Vagrant::MachineState::NOT_CREATED_ID
|
132
139
|
machine.ui.warn "Machine is not attached to a container, skipping..."
|
data/lib/vagrant-lxd/driver.rb
CHANGED
@@ -51,6 +51,10 @@ module VagrantLXD
|
|
51
51
|
error_key 'lxd_container_creation_failure'
|
52
52
|
end
|
53
53
|
|
54
|
+
class ContainerConfigurationFailure < Vagrant::Errors::VagrantError
|
55
|
+
error_key 'lxd_container_configuration_failure'
|
56
|
+
end
|
57
|
+
|
54
58
|
class ImageCreationFailure < ContainerCreationFailure
|
55
59
|
error_key 'lxd_image_creation_failure'
|
56
60
|
end
|
@@ -238,7 +242,7 @@ module VagrantLXD
|
|
238
242
|
@machine.ui.error e.reason
|
239
243
|
fail ContainerAlreadyExists, machine_name: @machine.name, container: $1
|
240
244
|
else
|
241
|
-
@machine.ui.error
|
245
|
+
@machine.ui.error 'Failed to create container'
|
242
246
|
fail ContainerCreationFailure, machine_name: @machine.name, reason: e.reason
|
243
247
|
end
|
244
248
|
end
|
@@ -286,6 +290,15 @@ module VagrantLXD
|
|
286
290
|
end
|
287
291
|
end
|
288
292
|
|
293
|
+
def configure
|
294
|
+
container = @lxd.container(machine_id)
|
295
|
+
container[:config] = container[:config].to_hash.merge(config)
|
296
|
+
@lxd.update_container(machine_id, container)
|
297
|
+
rescue Hyperkit::Error => e
|
298
|
+
@machine.ui.error 'Failed to configure container'
|
299
|
+
fail ContainerConfigurationFailure, machine_name: @machine.name, reason: e.reason
|
300
|
+
end
|
301
|
+
|
289
302
|
def info
|
290
303
|
if in_state? :running, :frozen
|
291
304
|
{
|
data/lib/vagrant-lxd/version.rb
CHANGED
data/templates/locales/en.yml
CHANGED
@@ -96,6 +96,13 @@ en:
|
|
96
96
|
|
97
97
|
The LXD logs may contain more information about the cause of this failure.
|
98
98
|
|
99
|
+
lxd_container_configuration_failure: |-
|
100
|
+
The provider was unable to configure the container for the '%{machine_name}' VM.
|
101
|
+
|
102
|
+
%{reason}.
|
103
|
+
|
104
|
+
The LXD logs may contain more information about the cause of this failure.
|
105
|
+
|
99
106
|
lxd_image_creation_failure: |-
|
100
107
|
The provider was unable to create an LXD image for the '%{machine_name}' VM.
|
101
108
|
|
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.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Hanson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hyperkit
|