chef-lxc 0.1 → 0.1.1

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 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