bigrig 0.0.0 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rspec +3 -0
- data/.rubocop.yml +20 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +19 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +84 -0
- data/LICENSE +28 -0
- data/README.md +191 -0
- data/Rakefile +10 -0
- data/bigrig.gemspec +29 -0
- data/bin/bigrig +113 -0
- data/lib/bigrig/actions/destroy_action.rb +21 -0
- data/lib/bigrig/actions/dev_action.rb +19 -0
- data/lib/bigrig/actions/log_action.rb +45 -0
- data/lib/bigrig/actions/run_action.rb +14 -0
- data/lib/bigrig/actions/ship_action.rb +51 -0
- data/lib/bigrig/actions.rb +5 -0
- data/lib/bigrig/dependency_graph.rb +21 -0
- data/lib/bigrig/descriptor.rb +43 -0
- data/lib/bigrig/docker_adapter.rb +129 -0
- data/lib/bigrig/models/application.rb +22 -0
- data/lib/bigrig/models/base_model.rb +7 -0
- data/lib/bigrig/models/container.rb +40 -0
- data/lib/bigrig/models.rb +3 -0
- data/lib/bigrig/output_parser.rb +52 -0
- data/lib/bigrig/runner.rb +94 -0
- data/lib/bigrig/version.rb +3 -0
- data/lib/bigrig.rb +8 -0
- data/spec/bigrig/actions/destroy_action_spec.rb +55 -0
- data/spec/bigrig/actions/dev_action_spec.rb +17 -0
- data/spec/bigrig/actions/log_action_spec.rb +33 -0
- data/spec/bigrig/actions/run_action_spec.rb +270 -0
- data/spec/bigrig/actions/ship_action_spec.rb +82 -0
- data/spec/bigrig/dependency_graph_spec.rb +19 -0
- data/spec/bigrig/descriptor_spec.rb +56 -0
- data/spec/bigrig/docker_adapter_spec.rb +409 -0
- data/spec/bigrig/models/application_spec.rb +32 -0
- data/spec/bigrig/models/container_spec.rb +115 -0
- data/spec/bigrig/output_parser_spec.rb +71 -0
- data/spec/bigrig_spec.rb +249 -0
- data/spec/data/addscontainer.json +24 -0
- data/spec/data/build/Dockerfile +2 -0
- data/spec/data/build/test +0 -0
- data/spec/data/dev.json +26 -0
- data/spec/data/duplicate.json +13 -0
- data/spec/data/env.json +12 -0
- data/spec/data/hosts_ip.json +12 -0
- data/spec/data/hosts_name.json +11 -0
- data/spec/data/links.json +13 -0
- data/spec/data/log.json +8 -0
- data/spec/data/multiple.json +13 -0
- data/spec/data/path.json +5 -0
- data/spec/data/ports.json +9 -0
- data/spec/data/profiles.json +24 -0
- data/spec/data/ship.json +5 -0
- data/spec/data/single.json +8 -0
- data/spec/data/tagandpath.json +24 -0
- data/spec/data/tiny-image.tar +0 -0
- data/spec/data/volumes.json +13 -0
- data/spec/spec_helper.rb +104 -0
- data/spec/support/bigrig_vcr +8 -0
- data/spec/support/vcr.rb +15 -0
- data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_has_exited/should_remove_the_container.yml +392 -0
- data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_is_running/kills_and_removes_the_container.yml +418 -0
- data/spec/vcr/Bigrig_DockerAdapter/_build/builds_the_given_directory.yml +63 -0
- data/spec/vcr/Bigrig_DockerAdapter/_build/passes_build_input_to_a_block.yml +35 -0
- data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_does_not_exist/is_false.yml +115 -0
- data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_exists/is_true.yml +82 -0
- data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_does_not_exist/raise_a_ImageNotFoundError.yml +172 -0
- data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_exists/returns_the_image_id.yml +148 -0
- data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_does_not_exist/should_raise_an_error.yml +115 -0
- data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_is_running/should_kill_the_container.yml +200 -0
- data/spec/vcr/Bigrig_DockerAdapter/_logs/streams_logs_to_a_block.yml +163 -0
- data/spec/vcr/Bigrig_DockerAdapter/_pull/given_a_block_to_capture_output/should_capture_output.yml +64 -0
- data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_does_not_exist/raises_a_RepoNotFoundError.yml +30 -0
- data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_exists/returns_the_image_id.yml +92 -0
- data/spec/vcr/Bigrig_DockerAdapter/_push/given_credentials/will_pass_login_and_password.yml +254 -0
- data/spec/vcr/Bigrig_DockerAdapter/_push/should_push_the_image.yml +482 -0
- data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_does_not_exist/raises_a_ContainerNotFoundError.yml +227 -0
- data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_exists/should_remove_the_container.yml +222 -0
- data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_is_running/raises_a_ContainerRunningError.yml +80 -0
- data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_doesnt_exist/raises_an_error.yml +115 -0
- data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_exists/removes_the_image.yml +199 -0
- data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name/starts_the_container_with_the_right_name.yml +204 -0
- 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 +204 -0
- data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_ports/starts_the_container_with_ports_exposed.yml +230 -0
- data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_does_not_exist/returns_false.yml +115 -0
- data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_not_running/returns_false.yml +82 -0
- data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_running/returns_true.yml +103 -0
- data/spec/vcr/Bigrig_DockerAdapter/_tag/should_tag_the_image.yml +290 -0
- data/spec/vcr/Bigrig_LogAction/_perform/follows_the_log.yml +163 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_a_path/builds_the_image_before_starting_it.yml +310 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_ip/should_pass_hosts_to_container.yml +430 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_name/should_lookup_ips_for_hosts_with_a_hostname.yml +430 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_links/should_pass_links_to_the_right_container.yml +805 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/launches_both_containers_in_parallel.yml +731 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/spins_up_multiple_containers.yml +805 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/should_spin_up_a_single_container.yml +404 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/when_a_dead_container_exists/should_remove_existing_containers.yml +329 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/should_pass_volumes_from_to_the_right_container.yml +805 -0
- data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/starts_the_dependant_container_last.yml +731 -0
- data/spec/vcr/Bigrig_RunAction/_perform/when_activating_profiles_that_do_not_exist/ignores_the_missing_profile.yml +409 -0
- data/spec/vcr/Bigrig_RunAction/_perform/with_a_file_with_active_profiles/uses_the_overridden_image.yml +432 -0
- data/spec/vcr/bigrig/destroy/spec/data/single_json/kills_the_container.yml +166 -0
- data/spec/vcr/bigrig/dev/spec/data/dev_json/activates_the_dev_profile.yml +37 -0
- data/spec/vcr/bigrig/dev/spec/data/dev_json/destroys_containers_on_exit.yml +227 -0
- data/spec/vcr/bigrig/dev/spec/data/dev_json/starts_the_containers.yml +107 -0
- data/spec/vcr/bigrig/logs/spec/data/log_json/tails_the_logs.yml +163 -0
- data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/leaves_existing_env_values_alone.yml +110 -0
- data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_env.yml +110 -0
- data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_tag.yml +103 -0
- data/spec/vcr/bigrig/run/spec/data/single_json/sends_the_name_of_the_container_to_stdout.yml +75 -0
- data/spec/vcr/bigrig/run/spec/data/single_json/starts_the_container.yml +101 -0
- data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/-c/cleans_the_image_when_its_done.yml +212 -0
- data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/builds_and_pushes_the_image.yml +128 -0
- data/spec/vcr/bigrig_bin_bigrig_destroy_spec/data/single_json_kills_the_container.yml +179 -0
- data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_activates_the_dev_profile.yml +1068 -0
- data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_destroys_containers_on_exit.yml +1070 -0
- data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_starts_the_containers.yml +1068 -0
- data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_tails_the_logs.yml +1075 -0
- data/spec/vcr/bigrig_bin_bigrig_logs_spec/data/log_json_tails_the_logs.yml +69 -0
- data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_leaves_existing_env_values_alone.yml +306 -0
- data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_env.yml +306 -0
- data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_tag.yml +306 -0
- data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_sends_the_name_of_the_container_to_stdout.yml +306 -0
- data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_starts_the_container.yml +306 -0
- data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_-c_cleans_the_image_when_its_done.yml +335 -0
- data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_builds_and_pushes_the_image.yml +285 -0
- data/test/dev/shipper.json +24 -0
- data/test/logs/bigrig.json +6 -0
- data/test/logs/container1/Dockerfile +4 -0
- data/test/logs/container1/run.sh +7 -0
- data/test/logs/container2/Dockerfile +4 -0
- data/test/logs/container2/run.sh +7 -0
- data/test/ship/bigrig-1.2.3.json +1 -0
- data/test/ship/bigrig.json +5 -0
- data/test/ship/registry.json +11 -0
- data/test/ship/ship/Dockerfile +4 -0
- data/test/ship/ship/run.sh +6 -0
- data/test/volumes_from/exports_volumes/Dockerfile +8 -0
- data/test/volumes_from/exports_volumes/index.html +8 -0
- data/test/volumes_from/exports_volumes/run.sh +7 -0
- data/test/volumes_from/shipper.json +14 -0
- metadata +278 -8
@@ -0,0 +1,227 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Swipely/Docker-API 1.20.0
|
12
|
+
Content-Type:
|
13
|
+
- text/plain
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 404
|
17
|
+
message:
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- text/plain; charset=utf-8
|
21
|
+
Date:
|
22
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '32'
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: |
|
28
|
+
No such container: doesnotexist
|
29
|
+
http_version:
|
30
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
31
|
+
- request:
|
32
|
+
method: get
|
33
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
34
|
+
body:
|
35
|
+
encoding: US-ASCII
|
36
|
+
string: ''
|
37
|
+
headers:
|
38
|
+
User-Agent:
|
39
|
+
- Swipely/Docker-API 1.20.0
|
40
|
+
Content-Type:
|
41
|
+
- text/plain
|
42
|
+
response:
|
43
|
+
status:
|
44
|
+
code: 404
|
45
|
+
message:
|
46
|
+
headers:
|
47
|
+
Content-Type:
|
48
|
+
- text/plain; charset=utf-8
|
49
|
+
Date:
|
50
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
51
|
+
Content-Length:
|
52
|
+
- '32'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |
|
56
|
+
No such container: doesnotexist
|
57
|
+
http_version:
|
58
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
59
|
+
- request:
|
60
|
+
method: get
|
61
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
62
|
+
body:
|
63
|
+
encoding: US-ASCII
|
64
|
+
string: ''
|
65
|
+
headers:
|
66
|
+
User-Agent:
|
67
|
+
- Swipely/Docker-API 1.20.0
|
68
|
+
Content-Type:
|
69
|
+
- text/plain
|
70
|
+
response:
|
71
|
+
status:
|
72
|
+
code: 404
|
73
|
+
message:
|
74
|
+
headers:
|
75
|
+
Content-Type:
|
76
|
+
- text/plain; charset=utf-8
|
77
|
+
Date:
|
78
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
79
|
+
Content-Length:
|
80
|
+
- '32'
|
81
|
+
body:
|
82
|
+
encoding: UTF-8
|
83
|
+
string: |
|
84
|
+
No such container: doesnotexist
|
85
|
+
http_version:
|
86
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
87
|
+
- request:
|
88
|
+
method: get
|
89
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
90
|
+
body:
|
91
|
+
encoding: US-ASCII
|
92
|
+
string: ''
|
93
|
+
headers:
|
94
|
+
User-Agent:
|
95
|
+
- Swipely/Docker-API 1.20.0
|
96
|
+
Content-Type:
|
97
|
+
- text/plain
|
98
|
+
response:
|
99
|
+
status:
|
100
|
+
code: 404
|
101
|
+
message:
|
102
|
+
headers:
|
103
|
+
Content-Type:
|
104
|
+
- text/plain; charset=utf-8
|
105
|
+
Date:
|
106
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
107
|
+
Content-Length:
|
108
|
+
- '32'
|
109
|
+
body:
|
110
|
+
encoding: UTF-8
|
111
|
+
string: |
|
112
|
+
No such container: doesnotexist
|
113
|
+
http_version:
|
114
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
115
|
+
- request:
|
116
|
+
method: get
|
117
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
118
|
+
body:
|
119
|
+
encoding: US-ASCII
|
120
|
+
string: ''
|
121
|
+
headers:
|
122
|
+
User-Agent:
|
123
|
+
- Swipely/Docker-API 1.20.0
|
124
|
+
Content-Type:
|
125
|
+
- text/plain
|
126
|
+
response:
|
127
|
+
status:
|
128
|
+
code: 404
|
129
|
+
message:
|
130
|
+
headers:
|
131
|
+
Content-Type:
|
132
|
+
- text/plain; charset=utf-8
|
133
|
+
Date:
|
134
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
135
|
+
Content-Length:
|
136
|
+
- '32'
|
137
|
+
body:
|
138
|
+
encoding: UTF-8
|
139
|
+
string: |
|
140
|
+
No such container: doesnotexist
|
141
|
+
http_version:
|
142
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
143
|
+
- request:
|
144
|
+
method: get
|
145
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
146
|
+
body:
|
147
|
+
encoding: US-ASCII
|
148
|
+
string: ''
|
149
|
+
headers:
|
150
|
+
User-Agent:
|
151
|
+
- Swipely/Docker-API 1.20.0
|
152
|
+
Content-Type:
|
153
|
+
- text/plain
|
154
|
+
response:
|
155
|
+
status:
|
156
|
+
code: 404
|
157
|
+
message:
|
158
|
+
headers:
|
159
|
+
Content-Type:
|
160
|
+
- text/plain; charset=utf-8
|
161
|
+
Date:
|
162
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
163
|
+
Content-Length:
|
164
|
+
- '32'
|
165
|
+
body:
|
166
|
+
encoding: UTF-8
|
167
|
+
string: |
|
168
|
+
No such container: doesnotexist
|
169
|
+
http_version:
|
170
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
171
|
+
- request:
|
172
|
+
method: get
|
173
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
174
|
+
body:
|
175
|
+
encoding: US-ASCII
|
176
|
+
string: ''
|
177
|
+
headers:
|
178
|
+
User-Agent:
|
179
|
+
- Swipely/Docker-API 1.20.0
|
180
|
+
Content-Type:
|
181
|
+
- text/plain
|
182
|
+
response:
|
183
|
+
status:
|
184
|
+
code: 404
|
185
|
+
message:
|
186
|
+
headers:
|
187
|
+
Content-Type:
|
188
|
+
- text/plain; charset=utf-8
|
189
|
+
Date:
|
190
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
191
|
+
Content-Length:
|
192
|
+
- '32'
|
193
|
+
body:
|
194
|
+
encoding: UTF-8
|
195
|
+
string: |
|
196
|
+
No such container: doesnotexist
|
197
|
+
http_version:
|
198
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
199
|
+
- request:
|
200
|
+
method: get
|
201
|
+
uri: "<DOCKER_HOST>/v1.16/containers/doesnotexist/json"
|
202
|
+
body:
|
203
|
+
encoding: US-ASCII
|
204
|
+
string: ''
|
205
|
+
headers:
|
206
|
+
User-Agent:
|
207
|
+
- Swipely/Docker-API 1.20.0
|
208
|
+
Content-Type:
|
209
|
+
- text/plain
|
210
|
+
response:
|
211
|
+
status:
|
212
|
+
code: 404
|
213
|
+
message:
|
214
|
+
headers:
|
215
|
+
Content-Type:
|
216
|
+
- text/plain; charset=utf-8
|
217
|
+
Date:
|
218
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
219
|
+
Content-Length:
|
220
|
+
- '32'
|
221
|
+
body:
|
222
|
+
encoding: UTF-8
|
223
|
+
string: |
|
224
|
+
No such container: doesnotexist
|
225
|
+
http_version:
|
226
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
227
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,222 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: "<DOCKER_HOST>/v1.16/containers/create"
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Image":"hawknewton/true"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Swipely/Docker-API 1.20.0
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 201
|
17
|
+
message:
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- application/json
|
21
|
+
Date:
|
22
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '90'
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: |
|
28
|
+
{"Id":"b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56","Warnings":null}
|
29
|
+
http_version:
|
30
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
31
|
+
- request:
|
32
|
+
method: get
|
33
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
34
|
+
body:
|
35
|
+
encoding: US-ASCII
|
36
|
+
string: ''
|
37
|
+
headers:
|
38
|
+
User-Agent:
|
39
|
+
- Swipely/Docker-API 1.20.0
|
40
|
+
Content-Type:
|
41
|
+
- text/plain
|
42
|
+
response:
|
43
|
+
status:
|
44
|
+
code: 200
|
45
|
+
message:
|
46
|
+
headers:
|
47
|
+
Content-Type:
|
48
|
+
- application/json
|
49
|
+
Date:
|
50
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
51
|
+
Content-Length:
|
52
|
+
- '1744'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |
|
56
|
+
{"AppArmorProfile":"","Args":[],"Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/true"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":[],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"ExposedPorts":null,"Hostname":"b55cce347dbd","Image":"hawknewton/true","MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":null,"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2015-03-12T21:38:03.195569823Z","Driver":"aufs","ExecDriver":"native-0.2","ExecIDs":null,"HostConfig":{"Binds":null,"CapAdd":null,"CapDrop":null,"ContainerIDFile":"","Devices":null,"Dns":null,"DnsSearch":null,"ExtraHosts":null,"IpcMode":"","Links":null,"LxcConf":null,"NetworkMode":"","PidMode":"","PortBindings":null,"Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"SecurityOpt":null,"VolumesFrom":null},"HostnamePath":"","HostsPath":"","Id":"b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56","Image":"5fbce35eb33780adf252ee2f87b7156660fdb5c7ca54a0fb4e262a87447cceeb","MountLabel":"","Name":"/admiring_engelbart","NetworkSettings":{"Bridge":"","Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"MacAddress":"","PortMapping":null,"Ports":null},"Path":"/true","ProcessLabel":"","ResolvConfPath":"","RestartCount":0,"State":{"Error":"","ExitCode":0,"FinishedAt":"0001-01-01T00:00:00Z","OOMKilled":false,"Paused":false,"Pid":0,"Restarting":false,"Running":false,"StartedAt":"0001-01-01T00:00:00Z"},"Volumes":{},"VolumesRW":{}}
|
57
|
+
http_version:
|
58
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
59
|
+
- request:
|
60
|
+
method: get
|
61
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
62
|
+
body:
|
63
|
+
encoding: US-ASCII
|
64
|
+
string: ''
|
65
|
+
headers:
|
66
|
+
User-Agent:
|
67
|
+
- Swipely/Docker-API 1.20.0
|
68
|
+
Content-Type:
|
69
|
+
- text/plain
|
70
|
+
response:
|
71
|
+
status:
|
72
|
+
code: 200
|
73
|
+
message:
|
74
|
+
headers:
|
75
|
+
Content-Type:
|
76
|
+
- application/json
|
77
|
+
Date:
|
78
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
79
|
+
Content-Length:
|
80
|
+
- '1744'
|
81
|
+
body:
|
82
|
+
encoding: UTF-8
|
83
|
+
string: |
|
84
|
+
{"AppArmorProfile":"","Args":[],"Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/true"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":[],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"ExposedPorts":null,"Hostname":"b55cce347dbd","Image":"hawknewton/true","MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":null,"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2015-03-12T21:38:03.195569823Z","Driver":"aufs","ExecDriver":"native-0.2","ExecIDs":null,"HostConfig":{"Binds":null,"CapAdd":null,"CapDrop":null,"ContainerIDFile":"","Devices":null,"Dns":null,"DnsSearch":null,"ExtraHosts":null,"IpcMode":"","Links":null,"LxcConf":null,"NetworkMode":"","PidMode":"","PortBindings":null,"Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"SecurityOpt":null,"VolumesFrom":null},"HostnamePath":"","HostsPath":"","Id":"b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56","Image":"5fbce35eb33780adf252ee2f87b7156660fdb5c7ca54a0fb4e262a87447cceeb","MountLabel":"","Name":"/admiring_engelbart","NetworkSettings":{"Bridge":"","Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"MacAddress":"","PortMapping":null,"Ports":null},"Path":"/true","ProcessLabel":"","ResolvConfPath":"","RestartCount":0,"State":{"Error":"","ExitCode":0,"FinishedAt":"0001-01-01T00:00:00Z","OOMKilled":false,"Paused":false,"Pid":0,"Restarting":false,"Running":false,"StartedAt":"0001-01-01T00:00:00Z"},"Volumes":{},"VolumesRW":{}}
|
85
|
+
http_version:
|
86
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
87
|
+
- request:
|
88
|
+
method: delete
|
89
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56"
|
90
|
+
body:
|
91
|
+
encoding: US-ASCII
|
92
|
+
string: ''
|
93
|
+
headers:
|
94
|
+
User-Agent:
|
95
|
+
- Swipely/Docker-API 1.20.0
|
96
|
+
Content-Type:
|
97
|
+
- text/plain
|
98
|
+
response:
|
99
|
+
status:
|
100
|
+
code: 204
|
101
|
+
message:
|
102
|
+
headers:
|
103
|
+
Date:
|
104
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
105
|
+
body:
|
106
|
+
encoding: UTF-8
|
107
|
+
string: ''
|
108
|
+
http_version:
|
109
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
110
|
+
- request:
|
111
|
+
method: get
|
112
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
113
|
+
body:
|
114
|
+
encoding: US-ASCII
|
115
|
+
string: ''
|
116
|
+
headers:
|
117
|
+
User-Agent:
|
118
|
+
- Swipely/Docker-API 1.20.0
|
119
|
+
Content-Type:
|
120
|
+
- text/plain
|
121
|
+
response:
|
122
|
+
status:
|
123
|
+
code: 404
|
124
|
+
message:
|
125
|
+
headers:
|
126
|
+
Content-Type:
|
127
|
+
- text/plain; charset=utf-8
|
128
|
+
Date:
|
129
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
130
|
+
Content-Length:
|
131
|
+
- '84'
|
132
|
+
body:
|
133
|
+
encoding: UTF-8
|
134
|
+
string: |
|
135
|
+
No such container: b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56
|
136
|
+
http_version:
|
137
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
138
|
+
- request:
|
139
|
+
method: get
|
140
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
141
|
+
body:
|
142
|
+
encoding: US-ASCII
|
143
|
+
string: ''
|
144
|
+
headers:
|
145
|
+
User-Agent:
|
146
|
+
- Swipely/Docker-API 1.20.0
|
147
|
+
Content-Type:
|
148
|
+
- text/plain
|
149
|
+
response:
|
150
|
+
status:
|
151
|
+
code: 404
|
152
|
+
message:
|
153
|
+
headers:
|
154
|
+
Content-Type:
|
155
|
+
- text/plain; charset=utf-8
|
156
|
+
Date:
|
157
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
158
|
+
Content-Length:
|
159
|
+
- '84'
|
160
|
+
body:
|
161
|
+
encoding: UTF-8
|
162
|
+
string: |
|
163
|
+
No such container: b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56
|
164
|
+
http_version:
|
165
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
166
|
+
- request:
|
167
|
+
method: get
|
168
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
169
|
+
body:
|
170
|
+
encoding: US-ASCII
|
171
|
+
string: ''
|
172
|
+
headers:
|
173
|
+
User-Agent:
|
174
|
+
- Swipely/Docker-API 1.20.0
|
175
|
+
Content-Type:
|
176
|
+
- text/plain
|
177
|
+
response:
|
178
|
+
status:
|
179
|
+
code: 404
|
180
|
+
message:
|
181
|
+
headers:
|
182
|
+
Content-Type:
|
183
|
+
- text/plain; charset=utf-8
|
184
|
+
Date:
|
185
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
186
|
+
Content-Length:
|
187
|
+
- '84'
|
188
|
+
body:
|
189
|
+
encoding: UTF-8
|
190
|
+
string: |
|
191
|
+
No such container: b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56
|
192
|
+
http_version:
|
193
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
194
|
+
- request:
|
195
|
+
method: get
|
196
|
+
uri: "<DOCKER_HOST>/v1.16/containers/b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56/json"
|
197
|
+
body:
|
198
|
+
encoding: US-ASCII
|
199
|
+
string: ''
|
200
|
+
headers:
|
201
|
+
User-Agent:
|
202
|
+
- Swipely/Docker-API 1.20.0
|
203
|
+
Content-Type:
|
204
|
+
- text/plain
|
205
|
+
response:
|
206
|
+
status:
|
207
|
+
code: 404
|
208
|
+
message:
|
209
|
+
headers:
|
210
|
+
Content-Type:
|
211
|
+
- text/plain; charset=utf-8
|
212
|
+
Date:
|
213
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
214
|
+
Content-Length:
|
215
|
+
- '84'
|
216
|
+
body:
|
217
|
+
encoding: UTF-8
|
218
|
+
string: |
|
219
|
+
No such container: b55cce347dbd82a4f2d0afcbe7ca0990e986d31b07a62c47c4477c2a3f35db56
|
220
|
+
http_version:
|
221
|
+
recorded_at: Thu, 12 Mar 2015 21:38:05 GMT
|
222
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: "<DOCKER_HOST>/v1.16/containers/create"
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Image":"hawknewton/true"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Swipely/Docker-API 1.20.0
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 201
|
17
|
+
message:
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- application/json
|
21
|
+
Date:
|
22
|
+
- Thu, 12 Mar 2015 21:38:03 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '90'
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: |
|
28
|
+
{"Id":"d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4","Warnings":null}
|
29
|
+
http_version:
|
30
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
31
|
+
- request:
|
32
|
+
method: post
|
33
|
+
uri: "<DOCKER_HOST>/v1.16/containers/d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4/start"
|
34
|
+
body:
|
35
|
+
encoding: UTF-8
|
36
|
+
string: "{}"
|
37
|
+
headers:
|
38
|
+
User-Agent:
|
39
|
+
- Swipely/Docker-API 1.20.0
|
40
|
+
Content-Type:
|
41
|
+
- application/json
|
42
|
+
response:
|
43
|
+
status:
|
44
|
+
code: 204
|
45
|
+
message:
|
46
|
+
headers:
|
47
|
+
Date:
|
48
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
49
|
+
body:
|
50
|
+
encoding: UTF-8
|
51
|
+
string: ''
|
52
|
+
http_version:
|
53
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
54
|
+
- request:
|
55
|
+
method: get
|
56
|
+
uri: "<DOCKER_HOST>/v1.16/containers/d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4/json"
|
57
|
+
body:
|
58
|
+
encoding: US-ASCII
|
59
|
+
string: ''
|
60
|
+
headers:
|
61
|
+
User-Agent:
|
62
|
+
- Swipely/Docker-API 1.20.0
|
63
|
+
Content-Type:
|
64
|
+
- text/plain
|
65
|
+
response:
|
66
|
+
status:
|
67
|
+
code: 200
|
68
|
+
message:
|
69
|
+
headers:
|
70
|
+
Content-Type:
|
71
|
+
- application/json
|
72
|
+
Date:
|
73
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
74
|
+
body:
|
75
|
+
encoding: UTF-8
|
76
|
+
string: |
|
77
|
+
{"AppArmorProfile":"","Args":[],"Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/true"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":[],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"ExposedPorts":null,"Hostname":"d6e61245f80d","Image":"hawknewton/true","MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":null,"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2015-03-12T21:38:03.785138793Z","Driver":"aufs","ExecDriver":"native-0.2","ExecIDs":null,"HostConfig":{"Binds":null,"CapAdd":null,"CapDrop":null,"ContainerIDFile":"","Devices":null,"Dns":null,"DnsSearch":null,"ExtraHosts":null,"IpcMode":"","Links":null,"LxcConf":null,"NetworkMode":"","PidMode":"","PortBindings":null,"Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"SecurityOpt":null,"VolumesFrom":null},"HostnamePath":"/mnt/sda1/var/lib/docker/containers/d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4/hostname","HostsPath":"/mnt/sda1/var/lib/docker/containers/d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4/hosts","Id":"d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4","Image":"5fbce35eb33780adf252ee2f87b7156660fdb5c7ca54a0fb4e262a87447cceeb","MountLabel":"","Name":"/sick_mcclintock","NetworkSettings":{"Bridge":"docker0","Gateway":"172.17.42.1","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"172.17.2.98","IPPrefixLen":16,"IPv6Gateway":"","LinkLocalIPv6Address":"fe80::42:acff:fe11:262","LinkLocalIPv6PrefixLen":64,"MacAddress":"02:42:ac:11:02:62","PortMapping":null,"Ports":{}},"Path":"/true","ProcessLabel":"","ResolvConfPath":"/mnt/sda1/var/lib/docker/containers/d6e61245f80d91ff8585eb54941760c84be530213ed529ba352738ccfdae9de4/resolv.conf","RestartCount":0,"State":{"Error":"","ExitCode":0,"FinishedAt":"0001-01-01T00:00:00Z","OOMKilled":false,"Paused":false,"Pid":11767,"Restarting":false,"Running":true,"StartedAt":"2015-03-12T21:38:04.150279119Z"},"Volumes":{},"VolumesRW":{}}
|
78
|
+
http_version:
|
79
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
80
|
+
recorded_with: VCR 2.9.3
|
data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_doesnt_exist/raises_an_error.yml
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: "<DOCKER_HOST>/v1.16/images/does_not_exist/json"
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Swipely/Docker-API 1.20.0
|
12
|
+
Content-Type:
|
13
|
+
- text/plain
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 404
|
17
|
+
message:
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- text/plain; charset=utf-8
|
21
|
+
Date:
|
22
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '30'
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: |
|
28
|
+
No such image: does_not_exist
|
29
|
+
http_version:
|
30
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
31
|
+
- request:
|
32
|
+
method: get
|
33
|
+
uri: "<DOCKER_HOST>/v1.16/images/does_not_exist/json"
|
34
|
+
body:
|
35
|
+
encoding: US-ASCII
|
36
|
+
string: ''
|
37
|
+
headers:
|
38
|
+
User-Agent:
|
39
|
+
- Swipely/Docker-API 1.20.0
|
40
|
+
Content-Type:
|
41
|
+
- text/plain
|
42
|
+
response:
|
43
|
+
status:
|
44
|
+
code: 404
|
45
|
+
message:
|
46
|
+
headers:
|
47
|
+
Content-Type:
|
48
|
+
- text/plain; charset=utf-8
|
49
|
+
Date:
|
50
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
51
|
+
Content-Length:
|
52
|
+
- '30'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |
|
56
|
+
No such image: does_not_exist
|
57
|
+
http_version:
|
58
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
59
|
+
- request:
|
60
|
+
method: get
|
61
|
+
uri: "<DOCKER_HOST>/v1.16/images/does_not_exist/json"
|
62
|
+
body:
|
63
|
+
encoding: US-ASCII
|
64
|
+
string: ''
|
65
|
+
headers:
|
66
|
+
User-Agent:
|
67
|
+
- Swipely/Docker-API 1.20.0
|
68
|
+
Content-Type:
|
69
|
+
- text/plain
|
70
|
+
response:
|
71
|
+
status:
|
72
|
+
code: 404
|
73
|
+
message:
|
74
|
+
headers:
|
75
|
+
Content-Type:
|
76
|
+
- text/plain; charset=utf-8
|
77
|
+
Date:
|
78
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
79
|
+
Content-Length:
|
80
|
+
- '30'
|
81
|
+
body:
|
82
|
+
encoding: UTF-8
|
83
|
+
string: |
|
84
|
+
No such image: does_not_exist
|
85
|
+
http_version:
|
86
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
87
|
+
- request:
|
88
|
+
method: get
|
89
|
+
uri: "<DOCKER_HOST>/v1.16/images/does_not_exist/json"
|
90
|
+
body:
|
91
|
+
encoding: US-ASCII
|
92
|
+
string: ''
|
93
|
+
headers:
|
94
|
+
User-Agent:
|
95
|
+
- Swipely/Docker-API 1.20.0
|
96
|
+
Content-Type:
|
97
|
+
- text/plain
|
98
|
+
response:
|
99
|
+
status:
|
100
|
+
code: 404
|
101
|
+
message:
|
102
|
+
headers:
|
103
|
+
Content-Type:
|
104
|
+
- text/plain; charset=utf-8
|
105
|
+
Date:
|
106
|
+
- Thu, 12 Mar 2015 21:38:04 GMT
|
107
|
+
Content-Length:
|
108
|
+
- '30'
|
109
|
+
body:
|
110
|
+
encoding: UTF-8
|
111
|
+
string: |
|
112
|
+
No such image: does_not_exist
|
113
|
+
http_version:
|
114
|
+
recorded_at: Thu, 12 Mar 2015 21:38:06 GMT
|
115
|
+
recorded_with: VCR 2.9.3
|