kitchen-docker 0.13.0 → 1.0.0.beta

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: 07341b12bc0ed0d069e67f378062ebadbbb9bd59
4
- data.tar.gz: 56f8a5f831a05a4c9c0ca1418298be82fc0b8c20
3
+ metadata.gz: 9c5f40664c9323956c6a379f32ad480297fba14b
4
+ data.tar.gz: 1ffab2d47fca65dc72e45b12335cfba8a2160d18
5
5
  SHA512:
6
- metadata.gz: f1cf650a4663032c0e04cdd0a3e71154d00740f207704d3b817955d8b42ef3b1b59161140672e070c6e648fc0212c7b0222288b026406b8aea2edcfcaccf1c1a
7
- data.tar.gz: dcbc9a8a5191d14bf3497ea6dd3e9b604a3db9ba5d7ef5da4e5a7fc7f2fd2f942e343ca1b549d4828e27bf35a41acc14ee5539fa16415bc7f4834bd45ee49185
6
+ metadata.gz: 59fd249b44942cbe78c3ca78d88c51cdb08fa75dd70dd3a61c993672aa745736a7d2a40f14c895b3267025020fd577765fc4e785a61d913b3d0d229a3d1cc45b
7
+ data.tar.gz: f9dd3d4d44eb53c1252153020f847174df0160dc84339f6bbfeb03f0b93f32aaffd4562e1a3a97034b11c8c576a59e3fd0acf49a01ba083fb4fb608d0b0ab14a
data/.gitignore CHANGED
@@ -15,3 +15,5 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .kitchen/
19
+ .kitchen.local.yml
data/.kitchen.yml ADDED
@@ -0,0 +1,14 @@
1
+ ---
2
+ driver:
3
+ name: docker
4
+
5
+ provisioner:
6
+ name: dummy
7
+
8
+ platforms:
9
+ - name: ubuntu-12.04
10
+ - name: centos-6.4
11
+ - name: unknown
12
+
13
+ suites:
14
+ - name: default
data/README.md CHANGED
@@ -6,13 +6,9 @@ A Test Kitchen Driver for Docker.
6
6
 
7
7
  * [Docker][docker_getting_started]
8
8
 
9
- ## Known Issues
10
-
11
- * Upstart is neutered due to [this issue][docker_upstart_issue].
12
-
13
9
  ## Installation and Setup
14
10
 
15
- Please read the [Driver usage][driver_usage] page for more details.
11
+ Please read the Test Kitchen [docs][test_kitchen_docs] for more details.
16
12
 
17
13
  Example `.kitchen.local.yml`:
18
14
 
@@ -26,8 +22,8 @@ platforms:
26
22
  - recipe[apt]
27
23
  - name: centos
28
24
  driver_config:
29
- image: "centos"
30
- platform: "rhel"
25
+ image: centos
26
+ platform: rhel
31
27
  run_list:
32
28
  - recipe[yum]
33
29
  ```
@@ -117,6 +113,13 @@ installed. There are several different behaviors available:
117
113
 
118
114
  The default value is `true`.
119
115
 
116
+ ### disable\_upstart
117
+
118
+ Disables upstart on Debian/Ubuntu containers, as many images do not support a
119
+ working upstart.
120
+
121
+ The default value is `true`.
122
+
120
123
  ### provision\_command
121
124
 
122
125
  Custom command(s) to be run when provisioning the base for the suite containers.
@@ -124,18 +127,18 @@ Custom command(s) to be run when provisioning the base for the suite containers.
124
127
  Examples:
125
128
 
126
129
  ```
127
- provision_command: "curl -L https://www.opscode.com/chef/install.sh | bash"
130
+ provision_command: curl -L https://www.opscode.com/chef/install.sh | bash
128
131
  ```
129
132
 
130
133
  ```
131
134
  provision_command:
132
- - "apt-get install dnsutils"
133
- - "apt-get install telnet"
135
+ - apt-get install dnsutils
136
+ - apt-get install telnet
134
137
  ```
135
138
 
136
139
  ```
137
140
  driver_config:
138
- provision_command: "curl -L https://www.opscode.com/chef/install.sh | bash"
141
+ provision_command: curl -L https://www.opscode.com/chef/install.sh | bash
139
142
  require_chef_omnibus: false
140
143
  ```
141
144
 
@@ -146,6 +149,18 @@ destroyed.
146
149
 
147
150
  The default value is `false`.
148
151
 
152
+ ### run_command
153
+
154
+ Sets the command used to run the suite container.
155
+
156
+ The default value is `/usr/sbin/sshd -D -o UseDNS=no -o UsePAM=no`.
157
+
158
+ Examples:
159
+
160
+ ```
161
+ run_command: /sbin/init
162
+ ```
163
+
149
164
  ### memory
150
165
 
151
166
  Sets the memory limit for the suite container in bytes. Otherwise use Dockers
@@ -261,7 +276,7 @@ Apache 2.0 (see [LICENSE][license])
261
276
  [docker_upstart_issue]: https://github.com/dotcloud/docker/issues/223
262
277
  [docker_index]: https://index.docker.io/
263
278
  [docker_default_image]: https://index.docker.io/_/base/
264
- [driver_usage]: http://docs.kitchen-ci.org/drivers/usage
279
+ [test_kitchen_docs]: http://kitchen.ci/docs/getting-started/
265
280
  [chef_omnibus_dl]: http://www.opscode.com/chef/install/
266
281
  [cpu_shares]: https://docs.fedoraproject.org/en-US/Fedora/17/html/Resource_Management_Guide/sec-cpu.html
267
282
  [memory_limit]: https://docs.fedoraproject.org/en-US/Fedora/17/html/Resource_Management_Guide/sec-memory.html
data/Rakefile CHANGED
@@ -19,3 +19,10 @@ desc "Run all quality tasks"
19
19
  task :quality => [:cane, :tailor, :stats]
20
20
 
21
21
  task :default => [:quality]
22
+
23
+ begin
24
+ require 'kitchen/rake_tasks'
25
+ Kitchen::RakeTasks.new
26
+ rescue LoadError
27
+ puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
28
+ end
@@ -26,7 +26,7 @@ module Kitchen
26
26
  # @author Sean Porter <portertech@gmail.com>
27
27
  class Docker < Kitchen::Driver::SSHBase
28
28
 
29
- default_config :socket, nil
29
+ default_config :socket, 'unix:///var/run/docker.sock'
30
30
  default_config :privileged, false
31
31
  default_config :remove_images, false
32
32
  default_config :run_command, '/usr/sbin/sshd -D -o UseDNS=no -o UsePAM=no'
@@ -45,16 +45,18 @@ module Kitchen
45
45
  driver.default_platform
46
46
  end
47
47
 
48
+ default_config :disable_upstart, true
49
+
48
50
  def verify_dependencies
49
51
  run_command('docker > /dev/null', :quiet => true)
50
52
  rescue
51
53
  raise UserError,
52
- 'You must first install Docker http://www.docker.io/gettingstarted/'
54
+ 'You must first install the Docker CLI tool http://www.docker.io/gettingstarted/'
53
55
  end
54
56
 
55
57
  def default_image
56
58
  platform, release = instance.platform.name.split('-')
57
- release ? [platform, release].join(':') : 'base'
59
+ release ? [platform, release].join(':') : platform
58
60
  end
59
61
 
60
62
  def default_platform
@@ -96,13 +98,16 @@ module Kitchen
96
98
  from = "FROM #{config[:image]}"
97
99
  platform = case config[:platform]
98
100
  when 'debian', 'ubuntu'
99
- <<-eos
100
- ENV DEBIAN_FRONTEND noninteractive
101
+ disable_upstart = <<-eos
101
102
  RUN dpkg-divert --local --rename --add /sbin/initctl
102
103
  RUN ln -sf /bin/true /sbin/initctl
104
+ eos
105
+ packages = <<-eos
106
+ ENV DEBIAN_FRONTEND noninteractive
103
107
  RUN apt-get update
104
108
  RUN apt-get install -y sudo openssh-server curl lsb-release
105
109
  eos
110
+ config[:disable_upstart] ? disable_upstart + packages : packages
106
111
  when 'rhel', 'centos'
107
112
  <<-eos
108
113
  RUN yum clean all
@@ -19,6 +19,6 @@ module Kitchen
19
19
  module Driver
20
20
 
21
21
  # Version string for Docker Kitchen driver
22
- DOCKER_VERSION = "0.13.0"
22
+ DOCKER_VERSION = "1.0.0.beta"
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 1.0.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2014-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.0.0.rc.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.0.0.rc.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cane
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: tailor
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: countloc
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  description: A Test Kitchen Driver for Docker
@@ -101,10 +101,11 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - .cane
105
- - .gitignore
106
- - .tailor
107
- - .travis.yml
104
+ - ".cane"
105
+ - ".gitignore"
106
+ - ".kitchen.yml"
107
+ - ".tailor"
108
+ - ".travis.yml"
108
109
  - CHANGELOG.md
109
110
  - Gemfile
110
111
  - LICENSE
@@ -123,19 +124,18 @@ require_paths:
123
124
  - lib
124
125
  required_ruby_version: !ruby/object:Gem::Requirement
125
126
  requirements:
126
- - - '>='
127
+ - - ">="
127
128
  - !ruby/object:Gem::Version
128
129
  version: '0'
129
130
  required_rubygems_version: !ruby/object:Gem::Requirement
130
131
  requirements:
131
- - - '>='
132
+ - - ">"
132
133
  - !ruby/object:Gem::Version
133
- version: '0'
134
+ version: 1.3.1
134
135
  requirements: []
135
136
  rubyforge_project:
136
- rubygems_version: 2.0.6
137
+ rubygems_version: 2.2.0
137
138
  signing_key:
138
139
  specification_version: 4
139
140
  summary: A Test Kitchen Driver for Docker
140
141
  test_files: []
141
- has_rdoc: