Update for OpenDev Gerrit changes

Use new URLs and project organizations everywhere.

Change-Id: I2a5fb17c5ec1cb76693bf55ff25ffda6cc84759e
This commit is contained in:
Andreas Jaeger 2019-04-21 11:16:21 +02:00
parent eafd8722cd
commit 62e839d0c9
7 changed files with 80 additions and 80 deletions

View File

@ -67,7 +67,7 @@ git repository
The base name of the repository should be unique across all of the
namespace directories for git repositories under
https://git.openstack.org/cgit. That is, it is not sufficient to have
https://opendev.org/explore/repos. That is, it is not sufficient to have
``openstack/foo`` and ``openstack-dev/foo`` because that prevents us
from moving those two repositories into the same namespace at some
point.
@ -147,7 +147,7 @@ for testing with OpenStack CI systems.
``Needed-By`` to a change for the ``openstack/governance``
repository to add the new repository under the project team, see
:ref:`add-to-governance-repo`. This change is for
``openstack-infra/project-config`` repository.
``openstack/project-config`` repository.
* Second change to add jobs to your project, see
:ref:`add_jobs_for_project`. This one can only pass Zuul internal
@ -289,7 +289,7 @@ Request Signing of ICLA
If your project requires signing of the Individual Contributor
License Agreement (`ICLA
<https://review.openstack.org/static/cla.html>`_), change the
<https://review.opendev.org/static/cla.html>`_), change the
``receive`` section to:
.. code-block:: ini
@ -508,7 +508,7 @@ Submitting Infra Change for Review
At this point, you should submit all the additions discussed so far as a
single change to gerrit.
When submitting the change to openstack-infra/project-config for
When submitting the change to ``openstack/project-config`` for
review, use the "new-project" topic so it receives the appropriate
attention:
@ -579,7 +579,7 @@ Central Config Exceptions
~~~~~~~~~~~~~~~~~~~~~~~~~
There are several notable exceptions for job configs that should remain
in the central config repository ``openstack-infra/project-config``:
in the central config repository ``openstack/project-config``:
* Translation jobs for all branches.
* Jobs that should only run against the master branch of the project
@ -701,7 +701,7 @@ Update the Gerrit Group Members
After the review is approved and :ref:`groups are created
<add-gerrit-permissions>` ask the Infra team to add you to both groups in
Gerrit, and then you can add other members by going to
https://review.openstack.org/#/admin/groups/ and filtering for your group's
https://review.opendev.org/#/admin/groups/ and filtering for your group's
names.
The project team lead (PTL), at least, should be added to
@ -724,7 +724,7 @@ consistent way so they can all be tested with a common
configuration. If your project will not need to be installed for
devstack gate jobs, you can skip this step.
Check out ``openstack-infra/devstack-gate`` and edit
Check out ``openstack/devstack-gate`` and edit
``devstack-vm-gate-wrap.sh`` to add the new project::
PROJECTS="openstack/<projectname> $PROJECTS"
@ -762,7 +762,7 @@ Start by checking out a copy of your new repository:
.. code-block:: console
$ git clone https://git.openstack.org/openstack/<projectname>
$ git clone https://opendev.org/openstack/<projectname>
.. _cookiecutter: https://pypi.org/project/cookiecutter
@ -785,34 +785,34 @@ most projects. It can be used as follows:
.. code-block:: console
$ cookiecutter -f https://git.openstack.org/openstack-dev/cookiecutter
$ cookiecutter -f https://opendev.org/openstack/cookiecutter
Remember, as mentioned earlier, these commands should typically be used only
if you are working with an empty repository.
The template in ``openstack-dev/specs-cookiecutter`` should be used for
The template in ``openstack/specs-cookiecutter`` should be used for
specs:
.. code-block:: console
$ cookiecutter -f https://git.openstack.org/openstack-dev/specs-cookiecutter
$ cookiecutter -f https://opendev.org/openstack/specs-cookiecutter
The template in ``openstack-dev/oslo-cookiecutter`` should be used for
The template in ``openstack/oslo-cookiecutter`` should be used for
Oslo libraries:
.. code-block:: console
$ cookiecutter -f https://git.openstack.org/openstack-dev/oslo-cookiecutter
$ cookiecutter -f https://opendev.org/openstack/oslo-cookiecutter
The template in ``openstack/ui-cookiecutter`` should be used for
Horizon plugins:
.. code-block:: console
$ cookiecutter -f https://git.openstack.org/openstack/ui-cookiecutter
$ cookiecutter -f https://opendev.org/openstack/ui-cookiecutter
Other templates are available; the full list can be seen at
https://git.openstack.org/cgit/?q=cookiecutter.
https://opendev.org/explore/repos?q=cookiecutter&tab=.
Applying the Template
---------------------
@ -876,12 +876,12 @@ review and approve:
.. code-block:: console
$ git clone https://git.openstack.org/openstack/<projectname>
$ git clone https://opendev.org/openstack/<projectname>
$ cd <projectname>
$ git checkout -b add-gitreview
$ cat > .gitreview <<EOF
[gerrit]
host=review.openstack.org
host=review.opendev.org
port=29418
project=openstack/<projectname>.git
EOF
@ -908,9 +908,9 @@ administrator privileges will need to add you to each group. After
that point, you can add other members.
To check the membership of the groups, visit
``https://review.openstack.org/#/admin/projects/openstack/<projectname>,access``
``https://review.opendev.org/#/admin/projects/openstack/<projectname>,access``
-- for example,
https://review.openstack.org/#/admin/projects/openstack-infra/infra-manual,access
https://review.opendev.org/#/admin/projects/openstack/infra-manual,access
-- and then click on the group names displayed on that page to review
their membership.
@ -1180,7 +1180,7 @@ The translated PO files will converted into JSON and placed into the
Add Translation Server Support
------------------------------
Propose a change to the ``openstack-infra/project-config`` repository
Propose a change to the ``openstack/project-config`` repository
including the following changes:
#. Set up the project on the translation server.
@ -1211,7 +1211,7 @@ including the following changes:
``translation-jobs-master-stable`` template. Otherwise use
the ``translation-jobs-master-only`` template.
When submitting the change to ``openstack-infra/project-config`` for
When submitting the change to ``openstack/project-config`` for
review, use the ``translation_setup`` topic so it receives the
appropriate attention:
@ -1416,12 +1416,12 @@ For a project being added to existing official OpenStack project:
Create an ``openstack/governance`` change and add a "Depends-On:
project-change-url" of the change you make in the following steps to
the commit message, and add a comment in the
``openstack-infra/project-config`` change that references the
``openstack/project-config`` change that references the
governance change. You will also make sure the PTL has expressed
approval for the addition in some way.
When preparing to rename a project, begin by making changes to the
files in the ``openstack-infra/project-config`` repository related
files in the ``openstack/project-config`` repository related
to your project.
When uploading your change, make sure the topic is "project-rename"

View File

@ -64,7 +64,7 @@ Launchpad when you address them with your code commits.
Log into Gerrit
^^^^^^^^^^^^^^^
Visit https://review.openstack.org/ and click the ``Sign In`` link
Visit https://review.opendev.org/ and click the ``Sign In`` link
at the top-right corner of the page. Log in with your Ubuntu One
OpenID.
@ -87,11 +87,11 @@ Sign the appropriate Individual Contributor License Agreement
Unless you are an U.S. Government Employee (see below),
`agree to the Individual Contributor License
Agreement <https://review.openstack.org/#/settings/agreements>`_.
Agreement <https://review.opendev.org/#/settings/agreements>`_.
The full text of the agreement will be
displayed before you can enter "I AGREE" below it, but it's also
anonymously available if you want to `preview the OpenStack
ICLA <https://review.openstack.org/static/cla.html>`_ now.
ICLA <https://review.opendev.org/static/cla.html>`_ now.
Employees of the U.S. Government do not sign the Individual
CLA. Instead, someone with authority to sign on behalf of your agency
@ -115,7 +115,7 @@ Upload your public SSH key
^^^^^^^^^^^^^^^^^^^^^^^^^^
You'll also want to `upload an SSH key to Gerrit
<https://review.openstack.org/#/settings/ssh-keys>`_ while you're at
<https://review.opendev.org/#/settings/ssh-keys>`_ while you're at
it, so that you'll be able to commit changes for review later. This is
separate from adding a key to Launchpad (which you can do if you
like, but is not required for contributing to OpenStack).
@ -137,7 +137,7 @@ You'll want to make sure that the ``user.email`` you specify matches
at least one you've provided to Gerrit. By default this is taken
from your OpenID login the first time you authenticate, but you can
also change it or add more addresses through the `Contact
Information <https://review.openstack.org/#/settings/contact>`_ page
Information <https://review.opendev.org/#/settings/contact>`_ page
at any point in the future.
Install the git-review utility
@ -218,7 +218,7 @@ Starting Work on a New Project
Clone a repository in the usual way, for example::
git clone https://git.openstack.org/openstack/<projectname>.git
git clone https://opendev.org/openstack/<projectname>
You may want to ask git-review to configure your repository to know
about Gerrit at this point. If you don't, it will do so the first
@ -238,11 +238,11 @@ configuring git to use your Gerrit username, as follows::
git config --global gitreview.username yourgerritusername
If you don't remember your Gerrit user name go to the `settings page
on gerrit <https://review.openstack.org/#/settings/>`_ to check it out
on gerrit <https://review.opendev.org/#/settings/>`_ to check it out
(it's not your email address).
.. Note:: You can verify the SSH host keys for review.openstack.org
on https://review.openstack.org/#/settings/ssh-keys
.. Note:: You can verify the SSH host keys for review.opendev.org
on https://review.opendev.org/#/settings/ssh-keys
We have a tutorial: :ref:`sandbox`. If this is your first time
contributing to OpenStack, we strongly suggest you follow this tutorial.
@ -256,10 +256,10 @@ over non-standards ports might be blocked (or you need to access the web
using https) then you can configure git-review to use an https endpoint
instead of ssh. Keep in mind that you will need to generate an
`HTTP password in Gerrit
<https://review.openstack.org/#/settings/http-password>`_ to use this
<https://review.opendev.org/#/settings/http-password>`_ to use this
connection. You should run the following command before "git review -s"::
git remote add gerrit https://<username>@review.openstack.org/<umbrella repository name>/<repository name>.git
git remote add gerrit https://<username>@review.opendev.org/<umbrella repository name>/<repository name>.git
In case you had already tried to setup git-review and it failed, it might
be necessary to remove the Gerrit remote from git::
@ -741,7 +741,7 @@ other repositories. Thus, a Depends-on only enforces an ordering but
is not visible otherwise especially in these cases:
* Changes for the CI infrastructure like changes
``openstack-infra/project-config`` are never tested in a production
``openstack/project-config`` are never tested in a production
simulated environment. So, if one of the changes adjusts the job
definitions or creates a new job, a Depends-On will not test the new
definition, the CI infrastructure change needs to merge to master
@ -779,7 +779,7 @@ means removing the approval and readding it again.
Code Review
===========
Log in to https://review.openstack.org/ to see proposed changes, and
Log in to https://review.opendev.org/ to see proposed changes, and
review them.
To provide a review for a proposed change in the Gerrit UI, click on
@ -816,7 +816,7 @@ check.
For more details on reviews in Gerrit, check the
`Gerrit documentation
<https://review.openstack.org/Documentation/intro-quick.html#_reviewing_the_change>`_.
<https://review.opendev.org/Documentation/intro-quick.html#_reviewing_the_change>`_.
.. _automated-testing:

View File

@ -27,14 +27,14 @@ location value to the repository and commit hash from which to branch::
openstack/oslo.config: 02a86d2eefeda5144ea8c39657aed24b8b0c9a39
For more details, refer to the openstack/releases
`README.rst <http://git.openstack.org/cgit/openstack/releases/tree/README.rst>`_
`README.rst <https://opendev.org/openstack/releases/src/README.rst>`_
file.
For projects not under governance, new branches can be defined via Gerrit.
In the `Gerrit UI <https://review.openstack.org/>`_, under Projects > List,
In the `Gerrit UI <https://review.opendev.org/>`_, under Projects > List,
locate the given project and go to the Branches option. For example::
https://review.openstack.org/#/admin/projects/openstack/nova,branches
https://review.opendev.org/#/admin/projects/openstack/nova,branches
If you do not have the option to add a new branch, you will need to contact
the infra team to get the necessary permissions for the project.
@ -158,7 +158,7 @@ Release Management Team at the Release Branch Point. If you are managing
branches for your project you may have permission to do this
yourself.
* Go to https://review.openstack.org/ and sign in
* Go to https://review.opendev.org/ and sign in
* Select 'Admin', 'Projects', then the project
* Select 'Branches'
* Enter ``stable/<series>`` in the 'Branch Name' field, and ``HEAD``
@ -233,7 +233,7 @@ Tagging a Release
Deliverables produced by official teams and released following the
release cycle should be managed by the OpenStack Release Management
Team. See the instructions in the `README.rst
<http://git.openstack.org/cgit/openstack/releases/tree/README.rst>`__
<http://opendev.org/openstack/releases/src/README.rst>`__
in openstack/releases for details.
If you are managing your own releases, you may have permission to do
@ -254,7 +254,7 @@ and push that tag to Gerrit by running the following commands::
proper configuration no release will happen. A publishing job is required.
One common way to do this is to use a `publish-to-pypi template
<https://docs.openstack.org/infra/openstack-zuul-jobs/project-templates.html#project_template-publish-to-pypi>`_
in `openstack-infra/project-config <https://git.openstack.org/cgit/openstack-infra/project-config/>`_.
in `openstack/project-config <https://opendev.org/openstack/project-config/>`_.
The publishing jobs are one of the :ref:`central-config-exceptions`.
* Tags can't be effectively deleted once pushed, so make absolutely
@ -302,8 +302,8 @@ channel can have multiple notifications per project.
Before you can configure GerritBot, you need to give channel permissions with
an accessbot configuration specific to the channel where you want
notifications posted. The configuration file is hosted in
`openstack-infra/project-config
<https://git.openstack.org/cgit/openstack-infra/project-config/>`_. Edit
`openstack/project-config
<https://opendev.org/openstack/project-config/>`_. Edit
``accessbot/channels.yaml`` to add your IRC channel if it is not
already listed.
@ -311,8 +311,8 @@ In order for GerritBot to post notifications on the IRC channel of the
project you are configuring, you need to add your GerritBot
configuration into
``gerritbot/channels.yaml``. This file
is hosted in `openstack-infra/project-config
<https://git.openstack.org/cgit/openstack-infra/project-config/>`_.
is hosted in `openstack/project-config
<https://opendev.org/openstack/project-config/>`_.
The syntax for configuring the notifications is::
@ -369,7 +369,7 @@ branches as well.
Step 2: End Project Gating
--------------------------
Check out a copy of the ``openstack-infra/project-config`` repository
Check out a copy of the ``openstack/project-config`` repository
and edit ``zuul.d/projects.yaml``. Find the section for your project and
change it to look like this::
@ -379,8 +379,8 @@ change it to look like this::
- noop-jobs
Also, remove any jobs and templates you have defined. These can be
defined in ``openstack-infra/project-config`` repository in the
directory ``zuul.d``, or in ``openstack-infra/openstack-zuul-jobs``
defined in ``openstack/project-config`` repository in the
directory ``zuul.d``, or in ``openstack/openstack-zuul-jobs``
repository or in your own repository.
Submit that change and make sure to mention in the commit message that
@ -438,7 +438,7 @@ Step 4: Remove Project from Infrastructure Systems
--------------------------------------------------
Once your repository is in its final state, prepare a second change to
the ``openstack-infra/project-config`` repository that does the
the ``openstack/project-config`` repository that does the
following:
* Remove your project from ``zuul.d/projects.yaml`` and
@ -501,7 +501,7 @@ is used instead to install Python packages.
If you run devstack based tests, then list missing binary packages
below the `files
<https://git.openstack.org/cgit/openstack-dev/devstack/tree/files>`_
<https://opendev.org/openstack/devstack/src/files>`_
directory of devstack.
For non-devstack based tests, add a ``bindep.txt`` file
@ -725,13 +725,13 @@ Hosted on an External Gerrit
If the project you wish to test is hosted on a Gerrit system (other
than OpenStack's Gerrit), you may need to connect Zuul to it first, if
it isn't already. To do so, propose a change to `system-config
<http://git.openstack.org/cgit/openstack-infra/system-config/tree/hiera/group/zuul-scheduler.yaml>`_
<http://opendev.org/openstack/system-config/src/hiera/group/zuul-scheduler.yaml>`_
which adds the connection information for the new server, then work
with the infra team in #openstack-infra to set up an account.
Once this is complete, propose a change to add the project(s) to
OpenStack's Zuul. Add them to `project-config/zuul/main.yaml
<http://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul/main.yaml>`_
<http://opendev.org/openstack/project-config/src/zuul/main.yaml>`_
under the connection name established above.
The project should not be configured to load any configuration objects
@ -750,7 +750,7 @@ the `Configure` button to install the app.
Once this is complete, propose a change to add the project(s) to
OpenStack's Zuul. Add them to `project-config/zuul/main.yaml
<http://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul/main.yaml>`_
<http://opendev.org/openstack/project-config/src/zuul/main.yaml>`_
under the ``github:`` connection.
The project should not be configured to load any configuration objects
@ -767,6 +767,6 @@ projects, this needs to be done in the `project-config` repo. Define
the jobs you wish to run either in your own repos, or in
`openstack-zuul-jobs`. Then create project definitions for the new
projects in `project-config/zuul.d/projects.yaml
<http://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul.d/projects.yaml>`_
<http://opendev.org/openstack/project-config/src/zuul.d/projects.yaml>`_
which adds those jobs to the new project on the `third-party-check`
pipeline.

View File

@ -42,4 +42,4 @@ instead a user or developer looking for API documentation, see
zuulv3
Propose changes to this document to the `infra-manual git repository
<https://git.openstack.org/cgit/openstack-infra/infra-manual>`_.
<https://opendev.org/openstack/infra-manual>`_.

View File

@ -57,7 +57,7 @@ Talking to specific people
To talk to a specific person, prefix the line with their name. For instance,
to ask ``mordred`` a question::
mordred: Im having a problem with this patch, https://review.openstack.org/#/c/530978/, could you help me figure out it?
mordred: Im having a problem with this patch, https://review.opendev.org/#/c/530978/, could you help me figure out it?
It is not required or useful to prefix someone's name with an ``@``, it's
just extra typing and looks weird in IRC clients.

View File

@ -4,7 +4,7 @@ Learn the Gerrit Workflow in the Sandbox
----------------------------------------
OpenStack has a sandbox repository for learning and testing purposes:
https://git.openstack.org/cgit/openstack-dev/sandbox. This is a great
https://opendev.org/openstack-dev/sandbox. This is a great
repository to begin your OpenStack learning. It allows you to experiment
with the workflow and try different options so you can learn what they do.
Please only create 2 or 3 different changes and submit new patchsets to
@ -13,7 +13,7 @@ intention of this repository.
Clone the sandbox repo::
git clone https://git.openstack.org/openstack-dev/sandbox.git
git clone https://opendev.org/openstack-dev/sandbox
Move into the root directory for the sandbox repo::
@ -75,7 +75,7 @@ Then save the file and close the editor. Next submit your patchset to gerrit::
You will see on screen a message confirming that the change has been
submitted for review and a URL to your change on
https://review.openstack.org. Click on the URL and view your patchset.
https://review.opendev.org. Click on the URL and view your patchset.
You will also receive one or more emails from the
`automatic testing system <https://docs.openstack.org/infra/manual/developers.html#automated-testing>`_,
@ -121,10 +121,10 @@ changed the line Change-Id in your commit message.
As a last step, you should abandon your change. You can do this from
the web UI by visiting the URL of the change and hitting the *Abandon*
button. Alternatively you can abandon a change from command
line using `Gerrit ssh commands <https://review.openstack.org/Documentation/cmd-review.html>`_::
line using `Gerrit ssh commands <https://review.opendev.org/Documentation/cmd-review.html>`_::
ssh -l <YOUR_GERRIT_USERNAME>\
-p 29418 \
review.openstack.org 'gerrit review' \
review.opendev.org 'gerrit review' \
--project openstack-dev/sandbox.git \
--abandon <THE_CHANGE_ID>,2

View File

@ -425,7 +425,7 @@ configuration:
- job:
name: test-job
roles:
- zuul: openstack-infra/zuul-jobs
- zuul: zuul/zuul-jobs
The project where the job is defined is always added as an implicit
source for roles.
@ -484,7 +484,7 @@ the jobs can use.
If you want to encrypt a secret, you can use the
``tools/encrypt_secret.py`` script from project
``openstack-infra/zuul``. For example, to encrypt file
``zuul/zuul``. For example, to encrypt file
``file_with_secret`` for project ``openstack/kolla`` use:
.. code-block:: shell
@ -562,7 +562,7 @@ them, but non-OpenStack projects using OpenStack's Zuul may want to.
behaviors specific to OpenStack. Specifically, it adds
``openstack/requirements`` to the ``required-projects`` list and sets the
``tox_constraints_file`` variable to point to
``src/git.openstack.org/openstack/requirements/upper-constraints.txt``.
``src/opendev.org/openstack/requirements/upper-constraints.txt``.
``openstack-tox-py27`` is like ``tox-py27`` but uses ``openstack-tox`` as a
base job.
@ -841,7 +841,7 @@ If your job is a custom dsvm job - try to migrate it to use the new
.. note:: There may be a couple of edge cases they can't handle yet.
You can see https://review.openstack.org/#/c/500365/ for an example of just
You can see https://review.opendev.org/#/c/500365/ for an example of just
about everything you might want to do using the new devstack base job.
Converting Other Legacy Changes
@ -936,18 +936,18 @@ for more information on how jobs are configured.
.. _Project Testing Interface: https://governance.openstack.org/tc/reference/project-testing-interface.html
.. _Zuul v3 documentation: https://zuul-ci.org/docs/zuul/
.. _openstack-zuul-jobs documentation: https://docs.openstack.org/infra/openstack-zuul-jobs/
.. _openstack-zuul-jobs jobs.yaml: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d/jobs.yaml
.. _openstack-zuul-jobs roles: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/roles
.. _openstack-zuul-jobs zuul.d: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d
.. _openstack-zuul-jobs: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs
.. _openstack-zuul-jobs jobs.yaml: https://opendev.org/openstack/openstack-zuul-jobs/src/zuul.d/jobs.yaml
.. _openstack-zuul-jobs roles: https://opendev.org/openstack/openstack-zuul-jobs/src/roles
.. _openstack-zuul-jobs zuul.d: https://opendev.org/openstack/openstack-zuul-jobs/src/zuul.d
.. _openstack-zuul-jobs: https://opendev.org/openstack/openstack-zuul-jobs
.. _openstack-tox: https://docs.openstack.org/infra/openstack-zuul-jobs/jobs.html#job-openstack-tox
.. _playbooks/legacy: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/playbooks/legacy
.. _project-config zuul.d: https://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul.d
.. _project-config: https://git.openstack.org/cgit/openstack-infra/project-config
.. _playbooks/legacy: https://opendev.org/openstack/openstack-zuul-jobs/src/playbooks/legacy
.. _project-config zuul.d: https://opendev.org/openstack/project-config/src/zuul.d
.. _project-config: https://opendev.org/openstack/project-config
.. _zuul-jobs documentation: https://zuul-ci.org/docs/zuul-jobs/
.. _zuul-jobs roles: https://git.openstack.org/cgit/openstack-infra/zuul-jobs/tree/roles
.. _zuul-jobs zuul.yaml: https://git.openstack.org/cgit/openstack-infra/zuul-jobs/tree/zuul.yaml
.. _zuul-jobs: https://git.openstack.org/cgit/openstack-infra/zuul-jobs
.. _zuul.d/zuul-legacy-jobs.yaml: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d/zuul-legacy-jobs.yaml
.. _zuul.d/zuul-legacy-project-templates.yaml: https://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d/zuul-legacy-project-templates.yaml
.. _zuul.d/projects.yaml: https://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul.d/projects.yaml
.. _zuul-jobs roles: https://opendev.org/zuul/zuul-jobs/src/roles
.. _zuul-jobs zuul.yaml: https://opendev.org/zuul/zuul-jobs/src/zuul.yaml
.. _zuul-jobs: https://opendev.org/zuul/zuul-jobs
.. _zuul.d/zuul-legacy-jobs.yaml: https://opendev.org/openstack/openstack-zuul-jobs/src/zuul.d/zuul-legacy-jobs.yaml
.. _zuul.d/zuul-legacy-project-templates.yaml: https://opendev.org/openstack/openstack-zuul-jobs/src/zuul.d/zuul-legacy-project-templates.yaml
.. _zuul.d/projects.yaml: https://opendev.org/openstack/project-config/src/zuul.d/projects.yaml