Example #1
0
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)
Example #3
0
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']
Example #4
0
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
Example #5
0
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']
Example #6
0
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
Example #7
0
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']
Example #8
0
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']
Example #9
0
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)
Example #10
0
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)
Example #11
0
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
Example #12
0
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
Example #13
0
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
Example #14
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
Example #16
0
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
Example #19
0
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)
Example #20
0
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)
Example #21
0
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)
Example #23
0
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)
Example #24
0
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
Example #25
0
def test_services_include(qemu, cloud_config):
    u.wait_for_ssh(qemu, ssh_command, ['docker inspect kernel-headers >/dev/null 2>&1'])
Example #26
0
def test_ssh_authorized_keys(qemu):
    u.wait_for_ssh(qemu, ssh_command)
    assert True
Example #27
0
def test_ssh_authorized_keys(qemu):
    assert qemu is not None
    u.wait_for_ssh(ssh_command)
    assert True
Example #28
0
def test_ssh_authorized_keys(qemu):
    u.wait_for_ssh(qemu, ssh_command)
    assert True
Example #29
0
def test_services_include(qemu, cloud_config):
    u.wait_for_ssh(qemu, ssh_command,
                   ['docker inspect kernel-headers >/dev/null 2>&1'])