diff --git a/zun/container/docker/driver.py b/zun/container/docker/driver.py index 4e8a5737b..03b327c2b 100644 --- a/zun/container/docker/driver.py +++ b/zun/container/docker/driver.py @@ -396,9 +396,10 @@ class DockerDriver(driver.ContainerDriver): def _populate_command(self, container, config): command_list = config.get('Cmd') - command_str = ' '.join(command_list) - if command_str: - container.command = command_str + command_str = None + if command_list: + command_str = ' '.join(command_list) + container.command = command_str def _populate_hostname_and_ports(self, container, config): # populate hostname only when container.hostname wasn't set diff --git a/zun/tests/unit/container/docker/test_docker_driver.py b/zun/tests/unit/container/docker/test_docker_driver.py index 9db8160d9..ffb6da8a9 100644 --- a/zun/tests/unit/container/docker/test_docker_driver.py +++ b/zun/tests/unit/container/docker/test_docker_driver.py @@ -189,6 +189,16 @@ class TestDockerDriver(base.DriverTestCase): mock_container.container_id) self.assertEqual('fake_command', mock_container.command) + def test_show_without_command(self): + self.mock_docker.inspect_container = mock.Mock( + return_value={'State': 'running', + 'Config': {'Cmd': None}}) + mock_container = mock.MagicMock() + self.driver.show(self.context, mock_container) + self.mock_docker.inspect_container.assert_called_once_with( + mock_container.container_id) + self.assertIsNone(mock_container.command) + def test_show_fail_container_id_is_none(self): mock_container = mock.MagicMock() mock_container.container_id = None