chef-lxc 0.1 → 0.1.1

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: 52e49fcc3e5851ef433948b2fee48854b397f6c6
4
- data.tar.gz: 25871d209911354fa53cf0b7b2ee75cbe0d535df
3
+ metadata.gz: 0ad048909ff6c48250256ceefeda20d570420936
4
+ data.tar.gz: b08f1170d5e9fab374ede9d9574a07f3725c6793
5
5
  SHA512:
6
- metadata.gz: 6bd7b09dc78662584ec3859a518fa5c96e4866f093811e29da3a8b7c31373d3fbe9360573c2605a9e45a0dd5035f9274566127a2bbe39944fecd65e7485ab91c
7
- data.tar.gz: 58489515a34b1d6f50960d1fccfd676a009ab8aa1aa035b8e0226d606996ffa7e916af918dae3f115bbc451e368531c874a12a5d75583a96b6aa3da54aea12d5
6
+ metadata.gz: bf7c7af7788aae3b95d9319d00825d9b1b5cbee099ded9d3942beb253634e5334460dcb7ae312908c1feac22200a20846ef3e09c0cb7ed69387de03293bc46da
7
+ data.tar.gz: ff715f7e0d96b73c6004c9076dd583284074094441a82e21a824759c99f5c8de44b957f3fc70446009340a48757c6671ee52b857a430d4880a4f670137b1ad15
@@ -13,25 +13,18 @@ class Chef
13
13
  include Chef::LXC::KnifeHelper
14
14
 
15
15
  def create_container(name, opts = {})
16
- from = opts[:from]
17
16
  force = opts[:force]
18
17
  ct = container(name)
19
- if ct.defined? and force
20
- ct.stop if ct.running?
21
- ct.destroy
22
- ct = container(name)
23
- end
24
- if from
25
- base = container(from)
26
- base.clone(name)
27
- ct = container(name)
18
+ if ct.defined?
19
+ if force
20
+ ct.stop if ct.running?
21
+ ct.destroy
22
+ provision(name, opts)
23
+ ct = container(name)
24
+ end
28
25
  else
29
- template = opts[:template] || 'download'
30
- bdevtype = opts[:bdevtype]
31
- bdevspecs = opts[:bdevspecs] || {}
32
- flags = opts[:flags] || 0
33
- args = opts[:flags] || %w(-d ubuntu -r trusty -a amd64)
34
- ct.create(template, bdevtype, bdevspecs, flags, args)
26
+ provision(name, opts)
27
+ ct = container(name)
35
28
  end
36
29
  ct.start unless ct.running?
37
30
  while ct.ip_addresses.empty?
@@ -47,6 +40,24 @@ class Chef
47
40
  ct.extend Chef::LXC::ContainerHelper
48
41
  ct
49
42
  end
43
+
44
+ private
45
+
46
+ def provision(name, opts)
47
+ from = opts[:from]
48
+ if from
49
+ base = container(from)
50
+ base.clone(name)
51
+ else
52
+ template = opts[:template] || 'download'
53
+ bdevtype = opts[:bdevtype]
54
+ bdevspecs = opts[:bdevspecs] || {}
55
+ flags = opts[:flags] || 0
56
+ args = opts[:flags] || %w(-d ubuntu -r trusty -a amd64)
57
+ ct = container(name)
58
+ ct.create(template, bdevtype, bdevspecs, flags, args)
59
+ end
60
+ end
50
61
  end
51
62
  end
52
63
  end
@@ -1,5 +1,5 @@
1
1
  class Chef
2
2
  module LXC
3
- VERSION = '0.1'
3
+ VERSION = '0.1.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-lxc
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ranjib Dey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-05 00:00:00.000000000 Z
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef