1
0
mirror of https://github.com/rancher/os.git synced 2025-07-07 20:08:37 +00:00
os/tests/integration/rancherostest/test_03_docker_in_persistent_console.py

37 lines
1.2 KiB
Python
Raw Normal View History

import pytest
import rancherostest.util as u
import subprocess
import yaml
ssh_command = ['ssh', '-p', '2222', '-F', './assets/scripts_ssh_config', '-i', './tests/integration/assets/test.key',
'rancher@localhost']
cloud_config_path = './tests/integration/assets/test_03/cloud-config.yml'
@pytest.fixture(scope="module")
def qemu(request):
return u.run_qemu(request, ['--cloud-config', cloud_config_path])
@pytest.fixture(scope="module")
def cloud_config():
return yaml.load(open(cloud_config_path))
@pytest.mark.timeout(40)
def test_reboot_with_container_running(qemu):
assert qemu is not None
u.wait_for_ssh(ssh_command)
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)
u.wait_for_ssh(ssh_command)
v = subprocess.check_output(ssh_command + ['docker', 'ps', '-f', 'status=running'],
stderr=subprocess.STDOUT, universal_newlines=True)
assert v.find('nginx') != -1