Skip to content

Commit 26f45ef

Browse files
dnephinDaniel Nephin
authored andcommitted
Remove unused intermediate_container from return value.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
1 parent 4827e60 commit 26f45ef

3 files changed

Lines changed: 27 additions & 36 deletions

File tree

fig/project.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,14 @@ def up(self,
176176
do_build=True):
177177
running_containers = []
178178
for service in self.get_services(service_names, include_links=start_links):
179-
if recreate:
180-
for (_, container) in service.recreate_containers(
181-
insecure_registry=insecure_registry,
182-
detach=detach,
183-
do_build=do_build):
184-
running_containers.append(container)
185-
else:
186-
for container in service.start_or_create_containers(
187-
insecure_registry=insecure_registry,
179+
create_func = (service.recreate_containers if recreate
180+
else service.start_or_create_containers)
181+
182+
for container in create_func(
183+
insecure_registry=insecure_registry,
188184
detach=detach,
189185
do_build=do_build):
190-
running_containers.append(container)
186+
running_containers.append(container)
191187

192188
return running_containers
193189

fig/service.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,9 @@ def create_container(self,
242242

243243
def recreate_containers(self, insecure_registry=False, do_build=True, **override_options):
244244
"""
245-
If a container for this service doesn't exist, create and start one. If there are
246-
any, stop them, create+start new ones, and remove the old containers.
245+
If a container for this service doesn't exist, create and start one. If
246+
there are any, stop them, create+start new ones, and remove the old
247+
containers.
247248
"""
248249
containers = self.containers(stopped=True)
249250
if not containers:
@@ -253,21 +254,22 @@ def recreate_containers(self, insecure_registry=False, do_build=True, **override
253254
do_build=do_build,
254255
**override_options)
255256
self.start_container(container)
256-
return [(None, container)]
257+
return [container]
257258
else:
258-
tuples = []
259-
260-
for c in containers:
261-
log.info("Recreating %s..." % c.name)
262-
tuples.append(self.recreate_container(c, insecure_registry=insecure_registry, **override_options))
263-
264-
return tuples
259+
return [
260+
self.recreate_container(
261+
container,
262+
insecure_registry=insecure_registry,
263+
**override_options)
264+
for container in containers
265+
]
265266

266267
def recreate_container(self, container, **override_options):
267268
"""Recreate a container. An intermediate container is created so that
268269
the new container has the same name, while still supporting
269270
`volumes-from` the original container.
270271
"""
272+
log.info("Recreating %s..." % container.name)
271273
try:
272274
container.stop()
273275
except APIError as e:
@@ -295,7 +297,7 @@ def recreate_container(self, container, **override_options):
295297

296298
intermediate_container.remove()
297299

298-
return (intermediate_container, new_container)
300+
return new_container
299301

300302
def start_container_if_stopped(self, container, **options):
301303
if container.is_running:

tests/integration/service_test.py

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -148,30 +148,23 @@ def test_recreate_containers(self):
148148
self.assertIn('FOO=1', old_container.dictionary['Config']['Env'])
149149
self.assertEqual(old_container.name, 'figtest_db_1')
150150
service.start_container(old_container)
151-
volume_path = old_container.inspect()['Volumes']['/etc']
151+
volume_path = old_container.get('Volumes')['/etc']
152152

153153
num_containers_before = len(self.client.containers(all=True))
154154

155155
service.options['environment']['FOO'] = '2'
156-
tuples = service.recreate_containers()
157-
self.assertEqual(len(tuples), 1)
156+
containers = service.recreate_containers()
157+
self.assertEqual(len(containers), 1)
158158

159-
intermediate_container = tuples[0][0]
160-
new_container = tuples[0][1]
161-
self.assertEqual(intermediate_container.dictionary['Config']['Entrypoint'], ['/bin/echo'])
162-
163-
self.assertEqual(new_container.dictionary['Config']['Entrypoint'], ['sleep'])
164-
self.assertEqual(new_container.dictionary['Config']['Cmd'], ['300'])
165-
self.assertIn('FOO=2', new_container.dictionary['Config']['Env'])
159+
new_container = containers[0]
160+
self.assertEqual(new_container.get('Config.Entrypoint'), ['sleep'])
161+
self.assertEqual(new_container.get('Config.Cmd'), ['300'])
162+
self.assertIn('FOO=2', new_container.get('Config.Env'))
166163
self.assertEqual(new_container.name, 'figtest_db_1')
167-
self.assertEqual(new_container.inspect()['Volumes']['/etc'], volume_path)
168-
self.assertIn(intermediate_container.id, new_container.dictionary['HostConfig']['VolumesFrom'])
164+
self.assertEqual(new_container.get('Volumes')['/etc'], volume_path)
169165

170166
self.assertEqual(len(self.client.containers(all=True)), num_containers_before)
171167
self.assertNotEqual(old_container.id, new_container.id)
172-
self.assertRaises(APIError,
173-
self.client.inspect_container,
174-
intermediate_container.id)
175168

176169
def test_recreate_containers_when_containers_are_stopped(self):
177170
service = self.create_service(

0 commit comments

Comments
 (0)