2015-09-14 09:01:39 +00:00
|
|
|
import subprocess
|
|
|
|
|
2015-12-17 09:59:52 +00:00
|
|
|
import pytest
|
|
|
|
import rostest.util as u
|
2015-09-14 09:01:39 +00:00
|
|
|
|
2015-09-18 15:58:42 +00:00
|
|
|
ssh_command = ['./scripts/ssh', '--qemu', '--key', './tests/integration/assets/test.key']
|
2015-09-14 09:01:39 +00:00
|
|
|
cloud_config_path = './tests/integration/assets/test_03/cloud-config.yml'
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
|
|
def qemu(request):
|
2015-12-17 09:59:52 +00:00
|
|
|
q = u.run_qemu(request, ['--cloud-config', cloud_config_path])
|
|
|
|
u.flush_out(q.stdout)
|
|
|
|
return q
|
2015-09-14 09:01:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.timeout(40)
|
|
|
|
def test_reboot_with_container_running(qemu):
|
2015-12-17 09:59:52 +00:00
|
|
|
u.wait_for_ssh(qemu, ssh_command)
|
2015-09-14 09:01:39 +00:00
|
|
|
subprocess.check_call(ssh_command + ['docker', 'run', '-d', '--restart=always', 'nginx'],
|
|
|
|
stderr=subprocess.STDOUT, universal_newlines=True)
|
|
|
|
|
|
|
|
subprocess.call(ssh_command + ['sudo', 'reboot'],
|
|
|
|
stderr=subprocess.STDOUT, universal_newlines=True)
|
|
|
|
|
2015-12-17 09:59:52 +00:00
|
|
|
u.wait_for_ssh(qemu, ssh_command)
|
2015-09-14 09:01:39 +00:00
|
|
|
v = subprocess.check_output(ssh_command + ['docker', 'ps', '-f', 'status=running'],
|
|
|
|
stderr=subprocess.STDOUT, universal_newlines=True)
|
|
|
|
|
|
|
|
assert v.find('nginx') != -1
|