def test_no_known_registries():
    def execute_module(module_name=None, *_):
        if module_name == "command":
            return {
                'failed': True,
            }

        return {
            'changed': False,
        }

    def mock_known_docker_registries():
        return []

    dia = DockerImageAvailability(
        execute_module,
        task_vars=dict(
            openshift=dict(common=dict(
                service_type='origin',
                is_containerized=False,
                is_atomic=False,
            )),
            openshift_docker_additional_registries=["docker.io"],
            openshift_deployment_type="openshift-enterprise",
            openshift_image_tag='latest',
            group_names=['nodes', 'masters'],
        ))
    dia.known_docker_registries = mock_known_docker_registries
    actual = dia.run()
    assert actual['failed']
    assert "Unable to retrieve any docker registries." in actual['msg']
def test_all_images_unavailable():
    def execute_module(module_name=None,
                       module_args=None,
                       tmp=None,
                       task_vars=None):
        if module_name == "command":
            return {
                'failed': True,
            }

        return {
            'changed': False,
        }

    check = DockerImageAvailability(execute_module=execute_module)
    actual = check.run(
        tmp=None,
        task_vars=dict(openshift=dict(
            common=dict(
                service_type='origin',
                is_containerized=False,
                is_atomic=False,
            ),
            docker=dict(additional_registries=["docker.io"]),
        ),
                       openshift_deployment_type="openshift-enterprise",
                       openshift_release=None,
                       openshift_image_tag='latest'))

    assert actual['failed']
    assert "required Docker images are not available" in actual['msg']
def test_all_images_unavailable():
    def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None):
        if module_name == "command":
            return {
                'failed': True,
            }

        return {
            'changed': False,
        }

    check = DockerImageAvailability(execute_module=execute_module)
    actual = check.run(tmp=None, task_vars=dict(
        openshift=dict(
            common=dict(
                service_type='origin',
                is_containerized=False,
                is_atomic=False,
            ),
            docker=dict(additional_registries=["docker.io"]),
        ),
        openshift_deployment_type="openshift-enterprise",
        openshift_image_tag='latest',
        group_names=['nodes', 'masters'],
    ))

    assert actual['failed']
    assert "required Docker images are not available" in actual['msg']
def test_no_known_registries():
    def execute_module(module_name=None, *_):
        if module_name == "command":
            return {
                'failed': True,
            }

        return {
            'changed': False,
        }

    def mock_known_docker_registries():
        return []

    dia = DockerImageAvailability(execute_module, task_vars=dict(
        openshift=dict(
            common=dict(
                service_type='origin',
                is_containerized=False,
                is_atomic=False,
            ),
            docker=dict(additional_registries=["docker.io"]),
        ),
        openshift_deployment_type="openshift-enterprise",
        openshift_image_tag='latest',
        group_names=['nodes', 'masters'],
    ))
    dia.known_docker_registries = mock_known_docker_registries
    actual = dia.run()
    assert actual['failed']
    assert "Unable to retrieve any docker registries." in actual['msg']
def test_docker_image_availability(task_vars, expected_result):
    def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None):
        return {'info': {}}  # TODO: this will vary depending on input parameters.

    check = DockerImageAvailability(execute_module=execute_module)
    result = check.run(tmp=None, task_vars=task_vars)
    assert result == expected_result
Exemple #6
0
def test_docker_image_availability(task_vars, expected_result):
    def execute_module(module_name=None,
                       module_args=None,
                       tmp=None,
                       task_vars=None):
        return {
            'info': {}
        }  # TODO: this will vary depending on input parameters.

    check = DockerImageAvailability(execute_module=execute_module)
    result = check.run(tmp=None, task_vars=task_vars)
    assert result == expected_result
def test_all_images_available_remotely(task_vars, available_locally):
    def execute_module(module_name, *_):
        if module_name == 'docker_image_facts':
            return {'images': [], 'failed': available_locally}
        return {}

    task_vars['openshift_docker_additional_registries'] = ["docker.io", "registry.access.redhat.com"]
    task_vars['openshift_image_tag'] = 'v3.4'
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    result = check.run()

    assert not result.get('failed', False)
Exemple #8
0
def test_all_images_available_remotely(task_vars, available_locally):
    def execute_module(module_name, *_):
        if module_name == 'docker_image_facts':
            return {'images': [], 'failed': available_locally}
        return {}

    task_vars['openshift_docker_additional_registries'] = ["docker.io", "registry.access.redhat.com"]
    task_vars['openshift_image_tag'] = 'v3.4'
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    result = check.run()

    assert not result.get('failed', False)
def test_all_images_unavailable(task_vars):
    def execute_module(module_name=None, *args):
        if module_name == "wait_for":
            return {}
        elif module_name == "command":
            return {'failed': True}

        return {}  # docker_image_facts failure

    task_vars['openshift_docker_additional_registries'] = ["docker.io"]
    task_vars['openshift_deployment_type'] = "openshift-enterprise"
    task_vars['openshift_image_tag'] = 'latest'
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    actual = check.run()

    assert actual['failed']
    assert "required container images are not available" in actual['msg']
Exemple #10
0
def test_all_images_unavailable(task_vars):
    def execute_module(module_name=None, *args):
        if module_name == "wait_for":
            return {}
        elif module_name == "command":
            return {'failed': True}

        return {}  # docker_image_facts failure

    task_vars['openshift_docker_additional_registries'] = ["docker.io"]
    task_vars['openshift_deployment_type'] = "openshift-enterprise"
    task_vars['openshift_image_tag'] = 'latest'
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    actual = check.run()

    assert actual['failed']
    assert "required container images are not available" in actual['msg']
def test_skopeo_update_failure(task_vars, message, extra_words):
    def execute_module(module_name=None, *_):
        if module_name == "yum":
            return {
                "failed": True,
                "msg": message,
            }

        return {}

    task_vars['openshift_docker_additional_registries'] = ["unknown.io"]
    task_vars['openshift_deployment_type'] = "openshift-enterprise"
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    actual = check.run()

    assert actual["failed"]
    for word in extra_words:
        assert word in actual["msg"]
Exemple #12
0
def test_skopeo_update_failure(task_vars, message, extra_words):
    def execute_module(module_name=None, *_):
        if module_name == "yum":
            return {
                "failed": True,
                "msg": message,
            }

        return {}

    task_vars['openshift_docker_additional_registries'] = ["unknown.io"]
    task_vars['openshift_deployment_type'] = "openshift-enterprise"
    check = DockerImageAvailability(execute_module, task_vars)
    check._module_retry_interval = 0
    actual = check.run()

    assert actual["failed"]
    for word in extra_words:
        assert word in actual["msg"]