kitchen-docker 0.13.0 → 1.0.0.beta

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