def test_system_docker_survives_custom_docker_install(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + [ 'curl', '-OL', 'https://experimental.docker.com/builds/Linux/x86_64/docker-1.10.0-dev' ], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['chmod', '+x', '/home/rancher/docker-1.10.0-dev'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + [ 'sudo', 'ln', '-sf', '/home/rancher/docker-1.10.0-dev', '/usr/bin/docker' ], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'restart', 'docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'version'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_system_docker_survives_custom_docker_install(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call( ssh_command + ["curl", "-Lfo", "./docker", docker_url[u.arch]], stderr=subprocess.STDOUT, universal_newlines=True, ) subprocess.check_call( ssh_command + ["chmod", "+x", "/home/rancher/docker"], stderr=subprocess.STDOUT, universal_newlines=True ) subprocess.check_call( ssh_command + ["sudo", "ln", "-sf", "/home/rancher/docker", "/usr/bin/docker"], stderr=subprocess.STDOUT, universal_newlines=True, ) subprocess.check_call( ssh_command + ["sudo", "system-docker", "restart", "docker"], stderr=subprocess.STDOUT, universal_newlines=True ) subprocess.check_call( ssh_command + ["sudo", "system-docker", "version"], stderr=subprocess.STDOUT, universal_newlines=True ) u.wait_for_ssh(qemu, ssh_command)
def test_rancher_environment(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) v = subprocess.check_output( ssh_command + ['sudo', 'ros', 'env', 'printenv', 'FLANNEL_NETWORK'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.strip() == cloud_config['rancher']['environment']['FLANNEL_NETWORK']
def test_dhcpcd(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) v = subprocess.check_output( ssh_command + ['sh', '-c', 'ps -ef | grep dhcpcd'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.find('dhcpcd -M') != -1
def test_rancher_network(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) v = subprocess.check_output( ssh_command + ['ip', 'route', 'get', 'to', '10.10.2.120'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.split(' ')[2] == 'eth1' assert v.split(' ')[5] + '/24' == cloud_config['rancher']['network']['interfaces']['eth1']['address']
def test_dhcpcd(qemu, cloud_config): assert qemu is not None u.wait_for_ssh(ssh_command) v = subprocess.check_output( ssh_command + ['sh', '-c', 'ps -ef | grep dhcpcd'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.find('dhcpcd -M') != -1
def test_rancher_environment(qemu, cloud_config): assert qemu is not None u.wait_for_ssh(ssh_command) v = subprocess.check_output( ssh_command + ['sudo', 'ros', 'env', 'printenv', 'FLANNEL_NETWORK'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.strip() == cloud_config['rancher']['environment']['FLANNEL_NETWORK']
def test_rancher_network(qemu, cloud_config): assert qemu is not None u.wait_for_ssh(ssh_command) v = subprocess.check_output( ssh_command + ['ip', 'route', 'get', 'to', '10.10.2.120'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.split(' ')[2] == 'eth1' assert v.split(' ')[5] + '/24' == cloud_config['rancher']['network']['interfaces']['eth1']['address']
def test_docker_tls_args(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call( ssh_command + ['sudo', 'ros', 'tls', 'gen'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call( ssh_command + ['docker', '--tlsverify', 'version'], stderr=subprocess.STDOUT, universal_newlines=True)
def test_docker_tls_args(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + ['sudo', 'ros', 'tls', 'gen'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['docker', '--tlsverify', 'version'], stderr=subprocess.STDOUT, universal_newlines=True)
def test_docker_args(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command) v = subprocess.check_output( ssh_command + ['sh', '-c', 'ps -ef | grep docker'], stderr=subprocess.STDOUT, universal_newlines=True) expected = string.join(cloud_config['rancher']['docker']['args']) assert v.find(expected) != -1
def test_docker_args(qemu, cloud_config): assert qemu is not None u.wait_for_ssh(ssh_command) v = subprocess.check_output( ssh_command + ['sh', '-c', 'ps -ef | grep docker'], stderr=subprocess.STDOUT, universal_newlines=True) expected = string.join(cloud_config['rancher']['docker']['args']) assert v.find(expected) != -1
def test_run_system_container(qemu): u.wait_for_ssh(qemu) ssh = subprocess.Popen( './scripts/ssh --qemu sudo system-docker run --rm busybox /bin/true', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) for ln in u.iter_lines(ssh.stdout): print(ln) ssh.wait() assert ssh.returncode == 0
def test_ros_dev(qemu): u.wait_for_ssh(qemu) ssh = subprocess.Popen( './scripts/ssh --qemu sudo ros dev', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) for ln in u.iter_lines(ssh.stdout): print(ln) ssh.wait() assert ssh.returncode == 0
def test_reboot_with_container_running(qemu): u.wait_for_ssh(qemu, 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(qemu, ssh_command) v = subprocess.check_output(ssh_command + ['docker', 'ps', '-f', 'status=running'], stderr=subprocess.STDOUT, universal_newlines=True) assert v.find('nginx') != -1
def test_ros_install_on_formatted_disk(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + ['sudo', 'mkfs.ext4', '/dev/vda'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'ros', 'install', '-f', '--no-reboot', '-d', '/dev/vda', '-i', 'rancher/os:v0.4.4-dev' + u.suffix], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.call(ssh_command + ['sudo', 'reboot'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
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
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
def test_ros_install_on_formatted_disk(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call( ['sh', '-c', 'docker save rancher/os:%s%s | ./scripts/ssh sudo system-docker load' % (u.version, u.suffix)], stderr=subprocess.STDOUT, universal_newlines=True) SSH(qemu, ssh_command).check_call(''' set -e -x sudo mkfs.ext4 /dev/vda sudo ros install -f --no-reboot -d /dev/vda -i rancher/os:%s%s '''.strip() % (u.version, u.suffix)) subprocess.call(ssh_command + ['sudo', 'reboot'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_system_docker_survives_custom_docker_install(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + ['curl', '-Lfo', './docker', docker_url[u.arch]], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['chmod', '+x', '/home/rancher/docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'ln', '-sf', '/home/rancher/docker', '/usr/bin/docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'restart', 'docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'version'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_ros_install_on_formatted_disk(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + ['sudo', 'mkfs.ext4', '/dev/vda'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + [ 'sudo', 'ros', 'install', '-f', '--no-reboot', '-d', '/dev/vda', '-i', 'rancher/os:v0.4.1' ], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.call(ssh_command + ['sudo', 'reboot'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_system_docker_survives_custom_docker_install(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call(ssh_command + ['curl', '-OL', 'https://experimental.docker.com/builds/Linux/x86_64/docker-1.10.0-dev'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['chmod', '+x', '/home/rancher/docker-1.10.0-dev'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'ln', '-sf', '/home/rancher/docker-1.10.0-dev', '/usr/bin/docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'restart', 'docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call(ssh_command + ['sudo', 'system-docker', 'version'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_ros_install_on_formatted_disk(qemu): u.wait_for_ssh(qemu, ssh_command) subprocess.check_call([ 'sh', '-c', 'docker save rancher/os:%s%s | ./scripts/ssh sudo system-docker load' % (u.version, u.suffix) ], stderr=subprocess.STDOUT, universal_newlines=True) SSH(qemu, ssh_command).check_call(''' set -e -x sudo mkfs.ext4 /dev/vda sudo ros install -f --no-reboot -d /dev/vda -i rancher/os:%s%s '''.strip() % (u.version, u.suffix)) subprocess.call(ssh_command + ['sudo', 'reboot'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(qemu, ssh_command)
def test_docker_tls_args(qemu, cloud_config): assert qemu is not None u.wait_for_ssh(ssh_command) subprocess.check_call( ssh_command + ['sudo', 'ros', 'tls', 'generate', '-s', '--hostname', '10.10.2.120', '-d', '~/.docker'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call( ssh_command + ['sudo', 'ros', 'config', 'set', 'rancher.docker.tls', 'true'], stderr=subprocess.STDOUT, universal_newlines=True) subprocess.check_call( ssh_command + ['sudo', 'system-docker', 'restart', 'docker'], stderr=subprocess.STDOUT, universal_newlines=True) u.wait_for_ssh(ssh_command) v = subprocess.check_output( ssh_command + ['sh', '-c', 'ps -ef | grep docker'], stderr=subprocess.STDOUT, universal_newlines=True) expected = string.join(cloud_config['rancher']['docker']['tls_args']) assert v.find(expected) != -1
def test_services_include(qemu, cloud_config): u.wait_for_ssh(qemu, ssh_command, ['docker inspect kernel-headers >/dev/null 2>&1'])
def test_ssh_authorized_keys(qemu): u.wait_for_ssh(qemu, ssh_command) assert True
def test_ssh_authorized_keys(qemu): assert qemu is not None u.wait_for_ssh(ssh_command) assert True