Mirror Configuration

Note

This is a work in progress, the zuul-jobs required changes are not implemented yet.

Many roles in zuul-jobs can be made aware of local mirrors of Internet services. If site mirrors are present, they expect to find a variable named mirror_info, or zuul_site_mirror_info if that is not defined. This variable is a dictionary which holds keys for each type of mirror that one or more roles in zuul-jobs can work with.

Note

The following example defines a local variable zuul_site_local_mirror_host for convenience, but it is not part of the API – it is only used in defining the mirror info dictionary.

For example:

zuul_site_local_mirror_host: "mirror.{{ nodepool.region | lower }}.{{ nodepool.cloud | lower }}.example.org"

zuul_site_mirror_info:
  pypi:
    url: https://{{ zuul_site_local_mirror_host }}/pypi/simple
  wheel:
    url: https://{{ zuul_site_local_mirror_host }}/wheel
  fedora:
    url: https://{{ zuul_site_local_mirror_host }}/fedora
  opensuse:
    url: https://{{ zuul_site_local_mirror_host }}/opensuse
  debian:
    - type: deb
      options:
        trusted: true
      url: https://{{ zuul_site_local_mirror_host }}/debian
      suites: ['stretch', 'buster']
      components: ['main']
    - type: deb
      options:
        trusted: true
      url: https://{{ zuul_site_local_mirror_host }}/debian-security
      suites: ['stretch/updates', 'buster/updates']
      components: ['main']
  ubuntu:
    - type: deb
      options:
        trusted: true
      url: https://{{ zuul_site_local_mirror_host }}/ubuntu
      suites: ['xenial', 'bionic']
      components: ['main', 'universe']
    - type: deb
      options:
        trusted: true
      url: https://{{ zuul_site_local_mirror_host }}/ubuntu
      suites: ['xenial-security', 'bionic-security']
      components: ['main', 'universe']
  dockerhub:
    url: https://{{ zuul_site_local_mirror_host }}:8082/
mirror_info

A dictionary which contains information about the various mirrors available. Each type of mirror is a key in this dictionary; if it is not present, then the site does not have that mirror.

mirror_info.pypi
mirror_info.pypi.url

The URL for a PyPI mirror.

mirror_info.wheel
mirror_info.wheel.url

The URL for a Python wheel mirror.

mirror_info.fedora
mirror_info.fedora.url

The URL for a Fedora mirror.

mirror_info.epel
mirror_info.epel.url

The URL for an EPEL mirror.

mirror_info.opensuse
mirror_info.opensuse.url

The URL for an openSUSE mirror.

mirror_info.debian
Type: list

A list of dictionaries, one for each Debian mirror URL. This accomodates mirror systems which may have a security mirror at a different URL.

mirror_info.debian[].type

The type for a Debian mirror (usually either deb or deb-src).

mirror_info.debian[].options
Type: dict

Mirror options, for example add trusted: yes in order to trust unsigned APT mirrors.

mirror_info.debian[].url

The URL for a Debian mirror.

mirror_info.debian[].suites
Type: list

The list of suites for a Debian mirror.

mirror_info.debian[].components
Type: list

A list of components available in this mirror (e.g., main, contrib).

mirror_info.ubuntu
Type: list

A list of dictionaries, one for each Ubuntu mirror URL. This accomodates mirror systems which may have a security mirror at a different URL.

mirror_info.ubuntu[].type

The type for an Ubuntu mirror (usually either deb or deb-src).

mirror_info.ubuntu[].options
Type: dict

Mirror options, for example add trusted: yes in order to trust unsigned APT mirrors.

mirror_info.ubuntu[].url

The URL for an Ubuntu mirror.

mirror_info.ubuntu[].suites
Type: list

The list of suites for an Ubuntu mirror.

mirror_info.ubuntu[].components
Type: list

A list of components available in this mirror (e.g., main, contrib).

mirror_info.dockerhub
mirror_info.dockerhub.url

The URL for a Docker Hub mirror.