Commit 2816af4a4127d260987d9ad22f4bca46fec0be60
1 parent
ce310af3
Add provider config for privileged container
Showing
3 changed files
with
31 additions
and
8 deletions
1 | 1 | module VagrantPlugins |
2 | 2 | module ProviderLxd |
3 | 3 | class Config < Vagrant.plugin("2", :config) |
4 | + def initialize | |
5 | + @privileged = false | |
6 | + end | |
7 | + | |
8 | + def privileged | |
9 | + @privileged = true | |
10 | + end | |
11 | + | |
12 | + def privileged? | |
13 | + @privileged | |
14 | + end | |
4 | 15 | end |
5 | 16 | end |
6 | 17 | end |
18 | + | |
19 | +# vim: set et ts=2 sw=2: | ... | ... |
... | ... | @@ -90,7 +90,7 @@ module VagrantPlugins |
90 | 90 | end |
91 | 91 | |
92 | 92 | def image |
93 | - @machine.box.name.split("/")[1..-1].join("/") if @machine.box | |
93 | + @machine.box.name if @machine.box | |
94 | 94 | end |
95 | 95 | |
96 | 96 | def image? |
... | ... | @@ -117,9 +117,13 @@ module VagrantPlugins |
117 | 117 | end |
118 | 118 | |
119 | 119 | def ipv4 |
120 | - network["eth0"]["addresses"].select do |d| | |
121 | - d["family"] == "inet" | |
122 | - end[0]["address"] | |
120 | + interface = [] | |
121 | + while interface.empty? | |
122 | + interface = network["eth0"]["addresses"].select do |d| | |
123 | + d["family"] == "inet" | |
124 | + end | |
125 | + end | |
126 | + interface[0]["address"] | |
123 | 127 | end |
124 | 128 | |
125 | 129 | def state |
... | ... | @@ -150,10 +154,16 @@ module VagrantPlugins |
150 | 154 | execute(*args) |
151 | 155 | end |
152 | 156 | |
153 | - def create | |
157 | + def create(config) | |
154 | 158 | # network could be also attached right here if it turns out to be |
155 | 159 | # a good idea. |
156 | - execute("init", image, @name, "-n", @bridge["name"]) | |
160 | + args = ["-n", @bridge["name"]] | |
161 | + | |
162 | + if config.privileged? | |
163 | + args += ["-c", "security.privileged=true"] | |
164 | + end | |
165 | + | |
166 | + execute("init", image, @name, "-n", @bridge["name"], *args) | |
157 | 167 | end |
158 | 168 | |
159 | 169 | def start |
... | ... | @@ -220,7 +230,7 @@ module VagrantPlugins |
220 | 230 | opts = command.pop if command.last.is_a?(Hash) |
221 | 231 | |
222 | 232 | tries = 0 |
223 | - tries = 3 if opts[:retryable] | |
233 | + tries = 10 if opts[:retryable] | |
224 | 234 | |
225 | 235 | # Variable to store our execution result |
226 | 236 | r = nil | ... | ... |
Please
register
or
login
to post a comment