예제 #1
0
def osbs(request, openshift):
    kwargs = request.param['kwargs'] or {}

    kwargs.setdefault('build_json_dir', 'inputs')
    kwargs.setdefault('additional_general', '')
    with NamedTemporaryFile(mode="wt") as fp:
        config = dedent("""\
            [general]
            build_json_dir = {build_json_dir}
            {additional_general}

            [default]
            openshift_url = /
            flatpak_base_image = registry.fedoraproject.org/fedora:latest
            can_orchestrate = true
            use_auth = false
            build_from = image:buildroot:latest
            """)

        if request.param['additional_config'] is not None:
            config += request.param['additional_config']
            config += '\n'

        fp.write(config.format(**kwargs))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #2
0
def osbs106(openshift):
    with NamedTemporaryFile(mode="wt") as fp:
        fp.write("""
[general]
build_json_dir = {build_json_dir}
openshift_required_version = 1.0.6
[default]
openshift_url = /
registry_uri = registry.example.com
sources_command = fedpkg sources
vendor = Example, Inc.
build_host = localhost
authoritative_registry = registry.example.com
distribution_scope = authoritative-source-only
koji_root = http://koji.example.com/kojiroot
koji_hub = http://koji.example.com/kojihub
use_auth = false
build_from = image:buildroot:latest
""".format(build_json_dir="inputs"))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #3
0
def osbs106(openshift):
    with NamedTemporaryFile(mode="wt") as fp:
        fp.write("""
[general]
build_json_dir = {build_json_dir}
openshift_required_version = 1.0.6
[default]
openshift_url = /
registry_uri = registry.example.com
sources_command = fedpkg sources
vendor = Example, Inc.
build_host = localhost
authoritative_registry = registry.example.com
distribution_scope = authoritative-source-only
koji_root = http://koji.example.com/kojiroot
koji_hub = http://koji.example.com/kojihub
build_type = simple
use_auth = false
""".format (build_json_dir="inputs"))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #4
0
def osbs(openshift,
         kwargs=None,
         additional_config=None,
         platform_descriptors=None):
    kwargs = kwargs or {}
    platform_descriptors = platform_descriptors or {}

    kwargs.setdefault('build_json_dir', 'inputs')
    kwargs.setdefault('registry_uri', 'registry.example.com')
    kwargs.setdefault('additional_general', '')
    with NamedTemporaryFile(mode="wt") as fp:
        config = dedent("""\
            [general]
            build_json_dir = {build_json_dir}
            {additional_general}

            [default]
            openshift_url = /
            registry_uri = {registry_uri}
            sources_command = fedpkg sources
            vendor = Example, Inc.
            build_host = localhost
            authoritative_registry = registry.example.com
            distribution_scope = authoritative-source-only
            koji_root = http://koji.example.com/kojiroot
            koji_hub = http://koji.example.com/kojihub
            flatpak_base_image = registry.fedoraproject.org/fedora:latest
            odcs_url = https://odcs.example.com/odcs/1
            pdc_url = https://pdc.example.com/rest_api/v1
            use_auth = false
            can_orchestrate = true
            build_from = image:buildroot:latest
            """)

        if additional_config is not None:
            config += additional_config
            config += '\n'

        for platform, platform_info in platform_descriptors.items():
            if not platform_info:
                continue

            config += '[platform:{0}]\n'.format(platform)
            for item, value in platform_info.items():
                config += '{0} = {1}\n'.format(item, value)

        fp.write(config.format(**kwargs))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #5
0
def osbs_cant_orchestrate(openshift):
    with NamedTemporaryFile(mode="wt") as fp:
        fp.write("""
[general]
build_json_dir = {build_json_dir}
[default]
openshift_url = /
use_auth = false
""".format(build_json_dir="inputs"))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #6
0
def osbs106(openshift):
    with NamedTemporaryFile(mode="wt") as fp:
        fp.write("""
[general]
build_json_dir = {build_json_dir}
openshift_required_version = 1.0.6
[default]
openshift_url = /
build_from = image:buildroot:latest
""".format(build_json_dir="inputs"))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs
예제 #7
0
def osbs(openshift, kwargs=None, additional_config=None, platform_descriptors=None):
    kwargs = kwargs or {}
    platform_descriptors = platform_descriptors or {}

    kwargs.setdefault('build_json_dir', 'inputs')
    kwargs.setdefault('registry_uri', 'registry.example.com')
    kwargs.setdefault('additional_general', '')
    with NamedTemporaryFile(mode="wt") as fp:
        config = dedent("""\
            [general]
            build_json_dir = {build_json_dir}
            {additional_general}

            [default]
            openshift_url = /
            registry_uri = {registry_uri}
            sources_command = fedpkg sources
            vendor = Example, Inc.
            build_host = localhost
            authoritative_registry = registry.example.com
            distribution_scope = authoritative-source-only
            koji_root = http://koji.example.com/kojiroot
            koji_hub = http://koji.example.com/kojihub
            use_auth = false
            can_orchestrate = true
            """)

        if additional_config is not None:
            config += additional_config
            config += '\n'

        for platform, platform_info in platform_descriptors.items():
            if not platform_info:
                continue

            config += '[platform:{0}]\n'.format(platform)
            for item, value in platform_info.items():
                config += '{0} = {1}\n'.format(item, value)

        fp.write(config.format(**kwargs))
        fp.flush()
        dummy_config = Configuration(fp.name)
        osbs = OSBS(dummy_config, dummy_config)

    osbs.os = openshift
    return osbs