Skip to content

Commit 63dc57c

Browse files
committed
fix(controller): container entrypoint error
1 parent c844116 commit 63dc57c

2 files changed

Lines changed: 10 additions & 19 deletions

File tree

rootfs/api/models/app.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -660,12 +660,7 @@ def _get_command(self, container_type):
660660
# has profile
661661
if release.build.procfile and container_type in release.build.procfile:
662662
command = release.build.procfile[container_type]
663-
# if the entrypoint is `/bin/bash -c`, we want to supply the list
664-
# as a script. Otherwise, we want to send it as a list of arguments.
665-
if self._get_entrypoint(container_type) == ['/bin/sh', '-c']:
666-
return [command]
667-
else:
668-
return command.split()
663+
return command.split()
669664
return []
670665

671666
def _get_stack(self, release):
@@ -685,10 +680,6 @@ def _get_entrypoint(self, container_type):
685680
"""
686681
entrypoint = []
687682
release = self.release_set.filter(failed=False).latest()
688-
if release is not None and release.build is not None:
689-
if (release.build.procfile and container_type in release.build.procfile) \
690-
or container_type == "run":
691-
entrypoint = ['/bin/sh', '-c']
692683
if self._get_stack(release) == "buildpack":
693684
if container_type in release.build.procfile:
694685
entrypoint = [container_type]

rootfs/api/tests/test_pods.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -522,22 +522,22 @@ def test_command_good(self, mock_requests):
522522
# switch to container image app
523523
build.sha = ''
524524
build.save()
525-
self.assertEqual(app._get_command('web'), ['node server.js'])
525+
self.assertEqual(app._get_command('web'), ['node', 'server.js'])
526526

527527
# switch to dockerfile app
528528
build.sha = 'european-swallow'
529529
build.dockerfile = 'dockerdockerdocker'
530530
build.save()
531-
self.assertEqual(app._get_command('web'), ['node server.js'])
531+
self.assertEqual(app._get_command('web'), ['node', 'server.js'])
532532
self.assertEqual(app._get_command('cmd'), [])
533533

534534
# ensure we can override the cmd process type in a Procfile
535535
build.procfile['cmd'] = 'node server.js'
536536
build.save()
537-
self.assertEqual(app._get_entrypoint('cmd'), ['/bin/sh', '-c'])
538-
self.assertEqual(app._get_command('cmd'), ['node server.js'])
539-
self.assertEqual(app._get_entrypoint('worker'), ['/bin/sh', '-c'])
540-
self.assertEqual(app._get_command('worker'), ['node worker.js'])
537+
self.assertEqual(app._get_entrypoint('cmd'), [])
538+
self.assertEqual(app._get_command('cmd'), ['node', 'server.js'])
539+
self.assertEqual(app._get_entrypoint('worker'), [])
540+
self.assertEqual(app._get_command('worker'), ['node', 'worker.js'])
541541

542542
# for backwards compatibility if no Procfile is supplied
543543
build.procfile = {}
@@ -578,7 +578,7 @@ def test_run_command_good(self, mock_requests):
578578
response = self.client.post(url, body)
579579
self.assertEqual(response.status_code, 200, response.data)
580580
app = App.objects.get(id=app_id)
581-
self.assertEqual(app._get_entrypoint('web'), ['/bin/sh', '-c'])
581+
self.assertEqual(app._get_entrypoint('web'), [])
582582

583583
# docker image workflow
584584
build.dockerfile = ''
@@ -590,7 +590,7 @@ def test_run_command_good(self, mock_requests):
590590
self.assertEqual(response.status_code, 200, response.data)
591591
app = App.objects.get(id=app_id)
592592
self.assertEqual(app._get_entrypoint('cmd'), [])
593-
self.assertEqual(app._get_entrypoint('run'), ['/bin/sh', '-c'])
593+
self.assertEqual(app._get_entrypoint('run'), [])
594594

595595
# procfile workflow
596596
build.sha = 'somereallylongsha'
@@ -639,7 +639,7 @@ def test_run_not_fail_on_debug(self, mock_requests):
639639
response = self.client.post(url, body)
640640
self.assertEqual(response.status_code, 200, response.data)
641641
app = App.objects.get(id=app_id)
642-
self.assertEqual(app._get_entrypoint('web'), ['/bin/sh', '-c'])
642+
self.assertEqual(app._get_entrypoint('web'), [])
643643

644644
def test_scaling_does_not_add_run_proctypes_to_structure(self, mock_requests):
645645
"""Test that app info doesn't show transient "run" proctypes."""

0 commit comments

Comments
 (0)