bigrig 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +24 -26
  4. data/bigrig.gemspec +2 -2
  5. data/lib/bigrig/models/container.rb +2 -2
  6. data/lib/bigrig/runner.rb +2 -10
  7. data/lib/bigrig/version.rb +1 -1
  8. data/lib/bigrig/waiter.rb +20 -0
  9. data/lib/bigrig.rb +1 -0
  10. data/spec/bigrig/actions/run_action_spec.rb +8 -0
  11. data/spec/bigrig/docker_adapter_spec.rb +1 -1
  12. data/spec/bigrig/models/container_spec.rb +0 -18
  13. data/spec/bigrig_spec.rb +20 -6
  14. data/spec/data/wait_for/Dockerfile +4 -0
  15. data/spec/data/wait_for/bigrig-wait.sh +5 -0
  16. data/spec/data/wait_for/bigrig.json +8 -0
  17. data/spec/data/wait_for_broken/Dockerfile +4 -0
  18. data/spec/data/wait_for_broken/bigrig-wait.sh +3 -0
  19. data/spec/data/wait_for_broken/bigrig.json +8 -0
  20. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_has_exited/should_remove_the_container.yml +65 -65
  21. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_is_running/kills_and_removes_the_container.yml +71 -71
  22. data/spec/vcr/Bigrig_DockerAdapter/_build/builds_the_given_directory.yml +11 -11
  23. data/spec/vcr/Bigrig_DockerAdapter/_build/passes_build_input_to_a_block.yml +5 -5
  24. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_does_not_exist/is_false.yml +20 -20
  25. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_exists/is_true.yml +13 -13
  26. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_does_not_exist/raise_a_ImageNotFoundError.yml +20 -20
  27. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_exists/returns_the_image_id.yml +19 -19
  28. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_does_not_exist/should_raise_an_error.yml +20 -20
  29. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_is_running/should_kill_the_container.yml +29 -29
  30. data/spec/vcr/Bigrig_DockerAdapter/_logs/streams_logs_to_a_block.yml +23 -23
  31. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_a_block_to_capture_output/should_capture_output.yml +8 -8
  32. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_does_not_exist/raises_a_RepoNotFoundError.yml +3 -3
  33. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_exists/returns_the_image_id.yml +13 -13
  34. data/spec/vcr/Bigrig_DockerAdapter/_push/given_credentials/will_pass_login_and_password.yml +54 -54
  35. data/spec/vcr/Bigrig_DockerAdapter/_push/should_push_the_image.yml +1059 -553
  36. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_does_not_exist/raises_a_ContainerNotFoundError.yml +40 -40
  37. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_exists/should_remove_the_container.yml +44 -44
  38. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_is_running/raises_a_ContainerRunningError.yml +13 -13
  39. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_doesnt_exist/raises_an_error.yml +12 -12
  40. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_exists/removes_the_image.yml +35 -35
  41. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name/starts_the_container_with_the_right_name.yml +35 -35
  42. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_env_variables/starts_the_container_with_env_set.yml +35 -35
  43. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_ports/starts_the_container_with_ports_exposed.yml +41 -41
  44. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_does_not_exist/returns_false.yml +20 -20
  45. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_not_running/returns_false.yml +13 -15
  46. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_running/returns_true.yml +17 -17
  47. data/spec/vcr/Bigrig_DockerAdapter/_tag/should_tag_the_image.yml +34 -34
  48. data/spec/vcr/Bigrig_LogAction/_perform/follows_the_log.yml +43 -43
  49. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_a_path/builds_the_image_before_starting_it.yml +222 -26
  50. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_ip/should_pass_hosts_to_container.yml +180 -74
  51. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_name/should_lookup_ips_for_hosts_with_a_hostname.yml +181 -75
  52. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_links/should_pass_links_to_the_right_container.yml +351 -139
  53. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/launches_both_containers_in_parallel.yml +130 -130
  54. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/spins_up_multiple_containers.yml +140 -140
  55. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/should_spin_up_a_single_container.yml +175 -69
  56. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/when_a_dead_container_exists/should_remove_existing_containers.yml +159 -53
  57. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes/should_pass_volumes_to_the_right_container.yml +180 -74
  58. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/should_pass_volumes_from_to_the_right_container.yml +351 -139
  59. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/starts_the_dependant_container_last.yml +130 -130
  60. data/spec/vcr/Bigrig_RunAction/_perform/when_activating_profiles_that_do_not_exist/ignores_the_missing_profile.yml +268 -77
  61. data/spec/vcr/Bigrig_RunAction/_perform/with_a_file_with_active_profiles/uses_the_overridden_image.yml +180 -74
  62. data/spec/vcr/bigrig/destroy/spec/data/single_json/kills_the_container.yml +28 -28
  63. data/spec/vcr/bigrig/dev/spec/data/dev_json/activates_the_dev_profile.yml +266 -158
  64. data/spec/vcr/bigrig/dev/spec/data/dev_json/destroys_containers_on_exit.yml +78 -158
  65. data/spec/vcr/bigrig/dev/spec/data/dev_json/starts_the_containers.yml +187 -191
  66. data/spec/vcr/bigrig/dev/spec/data/dev_json/tails_the_logs.yml +38 -118
  67. data/spec/vcr/bigrig/dev/spec/data/scan_json/leaves_unaffected_containers_alone_when_the_scanned_file_changes.yml +811 -345
  68. data/spec/vcr/bigrig/dev/spec/data/scan_json/restarts_dependant_containers_when_the_scanned_file_changes.yml +813 -375
  69. data/spec/vcr/bigrig/dev/spec/data/scan_json/restarts_the_container_when_the_scanned_file_changes.yml +855 -363
  70. data/spec/vcr/bigrig/logs/spec/data/log_json/tails_the_logs.yml +23 -23
  71. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/leaves_existing_env_values_alone.yml +14 -14
  72. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_env.yml +14 -14
  73. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_tag.yml +17 -17
  74. data/spec/vcr/bigrig/run/spec/data/single_json/sends_the_name_of_the_container_to_stdout.yml +12 -12
  75. data/spec/vcr/bigrig/run/spec/data/single_json/starts_the_container.yml +17 -17
  76. data/spec/vcr/bigrig/run/spec/data/wait_for/bigrig_json/waits_for_wait_for.yml +180 -0
  77. data/spec/vcr/bigrig/run/spec/data/wait_for_broken_json/fails_with_an_error.yml +12 -12
  78. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/-c/cleans_the_image_when_its_done.yml +28 -28
  79. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/builds_and_pushes_the_image.yml +21 -21
  80. data/spec/vcr/bigrig_bin_bigrig_destroy_spec/data/single_json_kills_the_container.yml +28 -28
  81. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_activates_the_dev_profile.yml +135 -486
  82. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_starts_the_containers.yml +146 -472
  83. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_tails_the_logs.yml +402 -192
  84. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_leaves_unaffected_containers_alone_when_the_scanned_file_changes.yml +980 -396
  85. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_restarts_dependant_containers_when_the_scanned_file_changes.yml +916 -388
  86. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_restarts_the_container_when_the_scanned_file_changes.yml +919 -391
  87. data/spec/vcr/bigrig_bin_bigrig_logs_spec/data/log_json_tails_the_logs.yml +23 -23
  88. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_leaves_existing_env_values_alone.yml +159 -53
  89. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_env.yml +159 -53
  90. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_tag.yml +286 -31
  91. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_sends_the_name_of_the_container_to_stdout.yml +159 -53
  92. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_starts_the_container.yml +159 -53
  93. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for/bigrig_json_waits_for_wait_for.yml +522 -0
  94. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for_broken_json_fails_with_an_error.yml +175 -80
  95. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_-c_cleans_the_image_when_its_done.yml +1036 -526
  96. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_builds_and_pushes_the_image.yml +1024 -514
  97. metadata +17 -12
  98. data/spec/data/wait_for.json +0 -9
  99. data/spec/data/wait_for_broken.json +0 -9
  100. data/spec/vcr/bigrig/run/spec/data/wait_for_json/waits_for_wait_for.yml +0 -180
  101. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for_json_waits_for_wait_for.yml +0 -412
@@ -0,0 +1,522 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<DOCKER_HOST>/v1.16/build"
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Swipely/Docker-API 1.21.4
12
+ Content-Type:
13
+ - application/tar
14
+ Transfer-Encoding:
15
+ - chunked
16
+ X-Registry-Config:
17
+ - eyJjb25maWdzIjp7IiI6eyJ1c2VybmFtZSI6IiIsInBhc3N3b3JkIjoiIiwiZW1haWwiOiIifX19
18
+ response:
19
+ status:
20
+ code: 200
21
+ message:
22
+ headers:
23
+ Content-Type:
24
+ - application/json
25
+ Date:
26
+ - Fri, 05 Jun 2015 23:27:37 GMT
27
+ body:
28
+ encoding: UTF-8
29
+ string: "{\"stream\":\"Step 0 : FROM debian:jessie\\n\"}\r\n{\"stream\":\" ---\\u003e
30
+ df2a0347c9d0\\n\"}\r\n{\"stream\":\"Step 1 : ADD bigrig-wait.sh /\\n\"}\r\n{\"stream\":\"
31
+ ---\\u003e 4f54786c36ee\\n\"}\r\n{\"stream\":\"Removing intermediate container
32
+ fce44c2f59a9\\n\"}\r\n{\"stream\":\"Step 2 : CMD tail -f /dev/null\\n\"}\r\n{\"stream\":\"
33
+ ---\\u003e Running in 4efdce807615\\n\"}\r\n{\"stream\":\" ---\\u003e e54ee11fcbab\\n\"}\r\n{\"stream\":\"Removing
34
+ intermediate container 4efdce807615\\n\"}\r\n{\"stream\":\"Successfully built
35
+ e54ee11fcbab\\n\"}\r\n"
36
+ http_version:
37
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
38
+ - request:
39
+ method: get
40
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
41
+ body:
42
+ encoding: US-ASCII
43
+ string: ''
44
+ headers:
45
+ User-Agent:
46
+ - Swipely/Docker-API 1.21.4
47
+ Content-Type:
48
+ - text/plain
49
+ response:
50
+ status:
51
+ code: 404
52
+ message:
53
+ headers:
54
+ Content-Type:
55
+ - text/plain; charset=utf-8
56
+ Date:
57
+ - Fri, 05 Jun 2015 23:27:38 GMT
58
+ Content-Length:
59
+ - '26'
60
+ body:
61
+ encoding: UTF-8
62
+ string: |
63
+ no such id: wait_for-test
64
+ http_version:
65
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
66
+ - request:
67
+ method: get
68
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
69
+ body:
70
+ encoding: US-ASCII
71
+ string: ''
72
+ headers:
73
+ User-Agent:
74
+ - Swipely/Docker-API 1.21.4
75
+ Content-Type:
76
+ - text/plain
77
+ response:
78
+ status:
79
+ code: 404
80
+ message:
81
+ headers:
82
+ Content-Type:
83
+ - text/plain; charset=utf-8
84
+ Date:
85
+ - Fri, 05 Jun 2015 23:27:38 GMT
86
+ Content-Length:
87
+ - '26'
88
+ body:
89
+ encoding: UTF-8
90
+ string: |
91
+ no such id: wait_for-test
92
+ http_version:
93
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
94
+ - request:
95
+ method: get
96
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
97
+ body:
98
+ encoding: US-ASCII
99
+ string: ''
100
+ headers:
101
+ User-Agent:
102
+ - Swipely/Docker-API 1.21.4
103
+ Content-Type:
104
+ - text/plain
105
+ response:
106
+ status:
107
+ code: 404
108
+ message:
109
+ headers:
110
+ Content-Type:
111
+ - text/plain; charset=utf-8
112
+ Date:
113
+ - Fri, 05 Jun 2015 23:27:38 GMT
114
+ Content-Length:
115
+ - '26'
116
+ body:
117
+ encoding: UTF-8
118
+ string: |
119
+ no such id: wait_for-test
120
+ http_version:
121
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
122
+ - request:
123
+ method: get
124
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
125
+ body:
126
+ encoding: US-ASCII
127
+ string: ''
128
+ headers:
129
+ User-Agent:
130
+ - Swipely/Docker-API 1.21.4
131
+ Content-Type:
132
+ - text/plain
133
+ response:
134
+ status:
135
+ code: 404
136
+ message:
137
+ headers:
138
+ Content-Type:
139
+ - text/plain; charset=utf-8
140
+ Date:
141
+ - Fri, 05 Jun 2015 23:27:38 GMT
142
+ Content-Length:
143
+ - '26'
144
+ body:
145
+ encoding: UTF-8
146
+ string: |
147
+ no such id: wait_for-test
148
+ http_version:
149
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
150
+ - request:
151
+ method: get
152
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
153
+ body:
154
+ encoding: US-ASCII
155
+ string: ''
156
+ headers:
157
+ User-Agent:
158
+ - Swipely/Docker-API 1.21.4
159
+ Content-Type:
160
+ - text/plain
161
+ response:
162
+ status:
163
+ code: 404
164
+ message:
165
+ headers:
166
+ Content-Type:
167
+ - text/plain; charset=utf-8
168
+ Date:
169
+ - Fri, 05 Jun 2015 23:27:38 GMT
170
+ Content-Length:
171
+ - '26'
172
+ body:
173
+ encoding: UTF-8
174
+ string: |
175
+ no such id: wait_for-test
176
+ http_version:
177
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
178
+ - request:
179
+ method: get
180
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
181
+ body:
182
+ encoding: US-ASCII
183
+ string: ''
184
+ headers:
185
+ User-Agent:
186
+ - Swipely/Docker-API 1.21.4
187
+ Content-Type:
188
+ - text/plain
189
+ response:
190
+ status:
191
+ code: 404
192
+ message:
193
+ headers:
194
+ Content-Type:
195
+ - text/plain; charset=utf-8
196
+ Date:
197
+ - Fri, 05 Jun 2015 23:27:38 GMT
198
+ Content-Length:
199
+ - '26'
200
+ body:
201
+ encoding: UTF-8
202
+ string: |
203
+ no such id: wait_for-test
204
+ http_version:
205
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
206
+ - request:
207
+ method: get
208
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
209
+ body:
210
+ encoding: US-ASCII
211
+ string: ''
212
+ headers:
213
+ User-Agent:
214
+ - Swipely/Docker-API 1.21.4
215
+ Content-Type:
216
+ - text/plain
217
+ response:
218
+ status:
219
+ code: 404
220
+ message:
221
+ headers:
222
+ Content-Type:
223
+ - text/plain; charset=utf-8
224
+ Date:
225
+ - Fri, 05 Jun 2015 23:27:38 GMT
226
+ Content-Length:
227
+ - '26'
228
+ body:
229
+ encoding: UTF-8
230
+ string: |
231
+ no such id: wait_for-test
232
+ http_version:
233
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
234
+ - request:
235
+ method: get
236
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
237
+ body:
238
+ encoding: US-ASCII
239
+ string: ''
240
+ headers:
241
+ User-Agent:
242
+ - Swipely/Docker-API 1.21.4
243
+ Content-Type:
244
+ - text/plain
245
+ response:
246
+ status:
247
+ code: 404
248
+ message:
249
+ headers:
250
+ Content-Type:
251
+ - text/plain; charset=utf-8
252
+ Date:
253
+ - Fri, 05 Jun 2015 23:27:38 GMT
254
+ Content-Length:
255
+ - '26'
256
+ body:
257
+ encoding: UTF-8
258
+ string: |
259
+ no such id: wait_for-test
260
+ http_version:
261
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
262
+ - request:
263
+ method: post
264
+ uri: "<DOCKER_HOST>/v1.16/containers/create?name=wait_for-test"
265
+ body:
266
+ encoding: UTF-8
267
+ string: '{"Env":[],"Image":"e54ee11fcbab","ExposedPorts":{}}'
268
+ headers:
269
+ User-Agent:
270
+ - Swipely/Docker-API 1.21.4
271
+ Content-Type:
272
+ - application/json
273
+ response:
274
+ status:
275
+ code: 201
276
+ message:
277
+ headers:
278
+ Content-Type:
279
+ - application/json
280
+ Date:
281
+ - Fri, 05 Jun 2015 23:27:38 GMT
282
+ Content-Length:
283
+ - '90'
284
+ body:
285
+ encoding: UTF-8
286
+ string: |
287
+ {"Id":"6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60","Warnings":null}
288
+ http_version:
289
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
290
+ - request:
291
+ method: post
292
+ uri: "<DOCKER_HOST>/v1.16/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/start"
293
+ body:
294
+ encoding: UTF-8
295
+ string: '{"Links":[],"ExtraHosts":[],"PortBindings":{},"VolumesFrom":[],"Binds":[]}'
296
+ headers:
297
+ User-Agent:
298
+ - Swipely/Docker-API 1.21.4
299
+ Content-Type:
300
+ - application/json
301
+ response:
302
+ status:
303
+ code: 204
304
+ message:
305
+ headers:
306
+ Date:
307
+ - Fri, 05 Jun 2015 23:27:38 GMT
308
+ body:
309
+ encoding: UTF-8
310
+ string: ''
311
+ http_version:
312
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
313
+ - request:
314
+ method: get
315
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
316
+ body:
317
+ encoding: US-ASCII
318
+ string: ''
319
+ headers:
320
+ User-Agent:
321
+ - Swipely/Docker-API 1.21.4
322
+ Content-Type:
323
+ - text/plain
324
+ response:
325
+ status:
326
+ code: 200
327
+ message:
328
+ headers:
329
+ Content-Type:
330
+ - application/json
331
+ Date:
332
+ - Fri, 05 Jun 2015 23:27:38 GMT
333
+ body:
334
+ encoding: UTF-8
335
+ string: |
336
+ {"AppArmorProfile":"","Args":["-c","tail -f /dev/null"],"Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/bin/sh","-c","tail -f /dev/null"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":null,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"ExposedPorts":null,"Hostname":"6f78527a5457","Image":"e54ee11fcbab","Labels":{},"MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":null,"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2015-06-05T23:27:38.545780178Z","Driver":"aufs","ExecDriver":"native-0.2","ExecIDs":null,"HostConfig":{"Binds":[],"CapAdd":null,"CapDrop":null,"CgroupParent":"","ContainerIDFile":"","CpuShares":0,"CpusetCpus":"","Devices":null,"Dns":null,"DnsSearch":null,"ExtraHosts":[],"IpcMode":"","Links":null,"LogConfig":{"Config":null,"Type":"json-file"},"LxcConf":null,"Memory":0,"MemorySwap":0,"NetworkMode":"","PidMode":"","PortBindings":{},"Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"SecurityOpt":null,"Ulimits":null,"VolumesFrom":[]},"HostnamePath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hostname","HostsPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hosts","Id":"6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60","Image":"e54ee11fcbab3bfb1d590b51f016356c49af03ab95fcc7446d53592796c15847","LogPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60-json.log","MountLabel":"","Name":"/wait_for-test","NetworkSettings":{"Bridge":"docker0","Gateway":"172.17.42.1","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"172.17.1.109","IPPrefixLen":16,"IPv6Gateway":"","LinkLocalIPv6Address":"fe80::42:acff:fe11:16d","LinkLocalIPv6PrefixLen":64,"MacAddress":"02:42:ac:11:01:6d","PortMapping":null,"Ports":{}},"Path":"/bin/sh","ProcessLabel":"","ResolvConfPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/resolv.conf","RestartCount":0,"State":{"Dead":false,"Error":"","ExitCode":0,"FinishedAt":"0001-01-01T00:00:00Z","OOMKilled":false,"Paused":false,"Pid":24340,"Restarting":false,"Running":true,"StartedAt":"2015-06-05T23:27:38.944831594Z"},"Volumes":{},"VolumesRW":{}}
337
+ http_version:
338
+ recorded_at: Fri, 05 Jun 2015 23:27:38 GMT
339
+ - request:
340
+ method: post
341
+ uri: "<DOCKER_HOST>/v1.16/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/exec"
342
+ body:
343
+ encoding: UTF-8
344
+ string: '{"AttachStdin":false,"AttachStdout":true,"AttachStderr":true,"Tty":false,"Cmd":["ls","/bigrig-wait.sh"]}'
345
+ headers:
346
+ User-Agent:
347
+ - Swipely/Docker-API 1.21.4
348
+ Content-Type:
349
+ - application/json
350
+ response:
351
+ status:
352
+ code: 201
353
+ message:
354
+ headers:
355
+ Content-Type:
356
+ - application/json
357
+ Date:
358
+ - Fri, 05 Jun 2015 23:27:39 GMT
359
+ Content-Length:
360
+ - '74'
361
+ body:
362
+ encoding: UTF-8
363
+ string: |
364
+ {"Id":"d3edd456e26e868cd828d5dd3265d345230283bce3b2167ba157ab2fb457be54"}
365
+ http_version:
366
+ recorded_at: Fri, 05 Jun 2015 23:27:39 GMT
367
+ - request:
368
+ method: post
369
+ uri: "<DOCKER_HOST>/v1.16/exec/d3edd456e26e868cd828d5dd3265d345230283bce3b2167ba157ab2fb457be54/start"
370
+ body:
371
+ encoding: UTF-8
372
+ string: '{"Tty":false,"Detach":false}'
373
+ headers:
374
+ User-Agent:
375
+ - Swipely/Docker-API 1.21.4
376
+ Content-Type:
377
+ - application/json
378
+ response:
379
+ status:
380
+ code: 200
381
+ message:
382
+ headers:
383
+ Content-Type:
384
+ - application/vnd.docker.raw-stream
385
+ body:
386
+ encoding: UTF-8
387
+ string: !binary |-
388
+ AQAAAAAAABAvYmlncmlnLXdhaXQuc2gK
389
+ http_version:
390
+ recorded_at: Fri, 05 Jun 2015 23:27:39 GMT
391
+ - request:
392
+ method: get
393
+ uri: "<DOCKER_HOST>/v1.16/exec/d3edd456e26e868cd828d5dd3265d345230283bce3b2167ba157ab2fb457be54/json"
394
+ body:
395
+ encoding: US-ASCII
396
+ string: ''
397
+ headers:
398
+ User-Agent:
399
+ - Swipely/Docker-API 1.21.4
400
+ Content-Type:
401
+ - text/plain
402
+ response:
403
+ status:
404
+ code: 200
405
+ message:
406
+ headers:
407
+ Content-Type:
408
+ - application/json
409
+ Date:
410
+ - Fri, 05 Jun 2015 23:27:39 GMT
411
+ body:
412
+ encoding: UTF-8
413
+ string: '{"ID":"d3edd456e26e868cd828d5dd3265d345230283bce3b2167ba157ab2fb457be54","Running":false,"ExitCode":0,"ProcessConfig":{"privileged":false,"user":"","tty":false,"entrypoint":"ls","arguments":["/bigrig-wait.sh"]},"OpenStdin":false,"OpenStderr":true,"OpenStdout":true,"Container":{"State":{"Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":24340,"ExitCode":0,"Error":"","StartedAt":"2015-06-05T23:27:38.944831594Z","FinishedAt":"0001-01-01T00:00:00Z"},"ID":"6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60","Created":"2015-06-05T23:27:38.545780178Z","Path":"/bin/sh","Args":["-c","tail
414
+ -f /dev/null"],"Config":{"Hostname":"6f78527a5457","Domainname":"","User":"","Memory":0,"MemorySwap":0,"CpuShares":0,"Cpuset":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"PortSpecs":null,"ExposedPorts":null,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh","-c","tail
415
+ -f /dev/null"],"Image":"e54ee11fcbab","Volumes":null,"WorkingDir":"","Entrypoint":null,"NetworkDisabled":false,"MacAddress":"","OnBuild":null,"Labels":{}},"Image":"e54ee11fcbab3bfb1d590b51f016356c49af03ab95fcc7446d53592796c15847","NetworkSettings":{"IPAddress":"172.17.1.109","IPPrefixLen":16,"MacAddress":"02:42:ac:11:01:6d","LinkLocalIPv6Address":"fe80::42:acff:fe11:16d","LinkLocalIPv6PrefixLen":64,"GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"Gateway":"172.17.42.1","IPv6Gateway":"","Bridge":"docker0","PortMapping":null,"Ports":{}},"ResolvConfPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/resolv.conf","HostnamePath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hostname","HostsPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hosts","LogPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60-json.log","Name":"/wait_for-test","Driver":"aufs","ExecDriver":"native-0.2","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","RestartCount":0,"UpdateDns":false,"Volumes":{},"VolumesRW":{},"AppliedVolumesFrom":null}}'
416
+ http_version:
417
+ recorded_at: Fri, 05 Jun 2015 23:27:39 GMT
418
+ - request:
419
+ method: get
420
+ uri: "<DOCKER_HOST>/v1.16/containers/wait_for-test/json"
421
+ body:
422
+ encoding: US-ASCII
423
+ string: ''
424
+ headers:
425
+ User-Agent:
426
+ - Swipely/Docker-API 1.21.4
427
+ Content-Type:
428
+ - text/plain
429
+ response:
430
+ status:
431
+ code: 200
432
+ message:
433
+ headers:
434
+ Content-Type:
435
+ - application/json
436
+ Date:
437
+ - Fri, 05 Jun 2015 23:27:39 GMT
438
+ body:
439
+ encoding: UTF-8
440
+ string: |
441
+ {"AppArmorProfile":"","Args":["-c","tail -f /dev/null"],"Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/bin/sh","-c","tail -f /dev/null"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":null,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"ExposedPorts":null,"Hostname":"6f78527a5457","Image":"e54ee11fcbab","Labels":{},"MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":null,"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2015-06-05T23:27:38.545780178Z","Driver":"aufs","ExecDriver":"native-0.2","ExecIDs":["d3edd456e26e868cd828d5dd3265d345230283bce3b2167ba157ab2fb457be54"],"HostConfig":{"Binds":[],"CapAdd":null,"CapDrop":null,"CgroupParent":"","ContainerIDFile":"","CpuShares":0,"CpusetCpus":"","Devices":null,"Dns":null,"DnsSearch":null,"ExtraHosts":[],"IpcMode":"","Links":null,"LogConfig":{"Config":null,"Type":"json-file"},"LxcConf":null,"Memory":0,"MemorySwap":0,"NetworkMode":"","PidMode":"","PortBindings":{},"Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"SecurityOpt":null,"Ulimits":null,"VolumesFrom":[]},"HostnamePath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hostname","HostsPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hosts","Id":"6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60","Image":"e54ee11fcbab3bfb1d590b51f016356c49af03ab95fcc7446d53592796c15847","LogPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60-json.log","MountLabel":"","Name":"/wait_for-test","NetworkSettings":{"Bridge":"docker0","Gateway":"172.17.42.1","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"172.17.1.109","IPPrefixLen":16,"IPv6Gateway":"","LinkLocalIPv6Address":"fe80::42:acff:fe11:16d","LinkLocalIPv6PrefixLen":64,"MacAddress":"02:42:ac:11:01:6d","PortMapping":null,"Ports":{}},"Path":"/bin/sh","ProcessLabel":"","ResolvConfPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/resolv.conf","RestartCount":0,"State":{"Dead":false,"Error":"","ExitCode":0,"FinishedAt":"0001-01-01T00:00:00Z","OOMKilled":false,"Paused":false,"Pid":24340,"Restarting":false,"Running":true,"StartedAt":"2015-06-05T23:27:38.944831594Z"},"Volumes":{},"VolumesRW":{}}
442
+ http_version:
443
+ recorded_at: Fri, 05 Jun 2015 23:27:39 GMT
444
+ - request:
445
+ method: post
446
+ uri: "<DOCKER_HOST>/v1.16/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/exec"
447
+ body:
448
+ encoding: UTF-8
449
+ string: '{"AttachStdin":false,"AttachStdout":true,"AttachStderr":true,"Tty":false,"Cmd":"/bigrig-wait.sh"}'
450
+ headers:
451
+ User-Agent:
452
+ - Swipely/Docker-API 1.21.4
453
+ Content-Type:
454
+ - application/json
455
+ response:
456
+ status:
457
+ code: 201
458
+ message:
459
+ headers:
460
+ Content-Type:
461
+ - application/json
462
+ Date:
463
+ - Fri, 05 Jun 2015 23:27:39 GMT
464
+ Content-Length:
465
+ - '74'
466
+ body:
467
+ encoding: UTF-8
468
+ string: |
469
+ {"Id":"2bdbc569852c80f0cb64ab3ae859ce0f9ebbb090cc2f2a737f128d4991f95a83"}
470
+ http_version:
471
+ recorded_at: Fri, 05 Jun 2015 23:27:39 GMT
472
+ - request:
473
+ method: post
474
+ uri: "<DOCKER_HOST>/v1.16/exec/2bdbc569852c80f0cb64ab3ae859ce0f9ebbb090cc2f2a737f128d4991f95a83/start"
475
+ body:
476
+ encoding: UTF-8
477
+ string: '{"Tty":false,"Detach":false}'
478
+ headers:
479
+ User-Agent:
480
+ - Swipely/Docker-API 1.21.4
481
+ Content-Type:
482
+ - application/json
483
+ response:
484
+ status:
485
+ code: 200
486
+ message:
487
+ headers:
488
+ Content-Type:
489
+ - application/vnd.docker.raw-stream
490
+ body:
491
+ encoding: UTF-8
492
+ string: ''
493
+ http_version:
494
+ recorded_at: Fri, 05 Jun 2015 23:27:41 GMT
495
+ - request:
496
+ method: get
497
+ uri: "<DOCKER_HOST>/v1.16/exec/2bdbc569852c80f0cb64ab3ae859ce0f9ebbb090cc2f2a737f128d4991f95a83/json"
498
+ body:
499
+ encoding: US-ASCII
500
+ string: ''
501
+ headers:
502
+ User-Agent:
503
+ - Swipely/Docker-API 1.21.4
504
+ Content-Type:
505
+ - text/plain
506
+ response:
507
+ status:
508
+ code: 200
509
+ message:
510
+ headers:
511
+ Content-Type:
512
+ - application/json
513
+ Date:
514
+ - Fri, 05 Jun 2015 23:27:41 GMT
515
+ body:
516
+ encoding: UTF-8
517
+ string: '{"ID":"2bdbc569852c80f0cb64ab3ae859ce0f9ebbb090cc2f2a737f128d4991f95a83","Running":false,"ExitCode":0,"ProcessConfig":{"privileged":false,"user":"","tty":false,"entrypoint":"/bigrig-wait.sh","arguments":[]},"OpenStdin":false,"OpenStderr":true,"OpenStdout":true,"Container":{"State":{"Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":24340,"ExitCode":0,"Error":"","StartedAt":"2015-06-05T23:27:38.944831594Z","FinishedAt":"0001-01-01T00:00:00Z"},"ID":"6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60","Created":"2015-06-05T23:27:38.545780178Z","Path":"/bin/sh","Args":["-c","tail
518
+ -f /dev/null"],"Config":{"Hostname":"6f78527a5457","Domainname":"","User":"","Memory":0,"MemorySwap":0,"CpuShares":0,"Cpuset":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"PortSpecs":null,"ExposedPorts":null,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh","-c","tail
519
+ -f /dev/null"],"Image":"e54ee11fcbab","Volumes":null,"WorkingDir":"","Entrypoint":null,"NetworkDisabled":false,"MacAddress":"","OnBuild":null,"Labels":{}},"Image":"e54ee11fcbab3bfb1d590b51f016356c49af03ab95fcc7446d53592796c15847","NetworkSettings":{"IPAddress":"172.17.1.109","IPPrefixLen":16,"MacAddress":"02:42:ac:11:01:6d","LinkLocalIPv6Address":"fe80::42:acff:fe11:16d","LinkLocalIPv6PrefixLen":64,"GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"Gateway":"172.17.42.1","IPv6Gateway":"","Bridge":"docker0","PortMapping":null,"Ports":{}},"ResolvConfPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/resolv.conf","HostnamePath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hostname","HostsPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/hosts","LogPath":"/mnt/sda1/var/lib/docker/containers/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60/6f78527a5457ef29c679b06d00d3025cc65d3f11a2650bfb6e6872ed80c3dc60-json.log","Name":"/wait_for-test","Driver":"aufs","ExecDriver":"native-0.2","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","RestartCount":0,"UpdateDns":false,"Volumes":{},"VolumesRW":{},"AppliedVolumesFrom":null}}'
520
+ http_version:
521
+ recorded_at: Fri, 05 Jun 2015 23:27:41 GMT
522
+ recorded_with: VCR 2.9.3