Update our project rename docs

This update captures that we host projects outside of openstack and
intend for projects like openstack or others to do some steps on their
own. We also update this to reflect chagnes in the configuration
management and deployment tooling that we use today.

Change-Id: I0bc0ce335fd90e6187253e18007361a133a8f30c
This commit is contained in:
Clark Boylan 2021-08-12 13:53:05 -07:00
parent 8adc5a183d
commit 87a67c7656

View File

@ -381,15 +381,11 @@ To rename a project:
#. Prepare a change to the project-config repo to update things like
projects.yaml, Gerrit ACLs, zuul and gerritbot for the new name.
Also add changes to update projects.txt in all branches of the
requirements repo, project matrix in the devstack-gate repo and
all branches of devstack, reference/projects.yaml in the
openstack/governance repo, and .gitmodules in the
openstack/openstack repo if necessary.
#. Prepare a yaml file called repos.yaml that has a single dictionary called
`repos` with a list of dictionaries each having an old and new entry.
Optionally also add a `gerrit_groups` dict of the same form::
Optionally also add a `gerrit_groups` dict of the same form if groups
are being renamed::
repos:
- old: stackforge/awesome-repo
@ -404,27 +400,33 @@ To rename a project:
``opendev/project-config`` repository.
#. An hour in advance of the maintenance (if possible), put
``review02.opendev.org`` into the emergency file on bridge.
``review02.opendev.org``, ``gitea01-8.opendev.org``, and
``storyboard01.opendev.org`` into the emergency file on bridge.
#. Check that all servers involved in the rename playbook
(review, zuul-scheduler, storyboard, storyboard-dev, and the giteas) are
responding to ssh to ensure the next step can run successfully.
#. Run the ansible rename repos playbook, passing in the path to your yaml
file::
sudo ansible-playbook -f 10 /opt/system-config/playbooks/rename_repos.yaml -e repolist=ABSOLUTE_PATH_TO_VARS_FILE
sudo ansible-playbook -f 10 /home/zuul/srv/opendev.org/opendev/system-config/playbooks/rename_repos.yaml -e repolist=ABSOLUTE_PATH_TO_VARS_FILE
#. :ref:`Force-merge <force-merging-a-change>` the prepared Puppet
configuration changes.
#. :ref:`Force-merge <force-merging-a-change>` the prepared configuration
changes.
#. Rename the project or transfer ownership in GitHub
#. Remove ``review02.opendev.org`` from the emergency file.
#. Wait for the changes merged above to replicate to the giteas.
.. warning::
Wait for the ``project-config`` changes to merge before
re-enabling cron, else duplicate projects can appear that have
to be manually removed.
Not waiting at this step can cause manage-projects to run with
our old pre rename state causing the project to be created under
its old name.
#. Submit a change that updates .gitreview with the new location of the
project.
#. Remove ``review02.opendev.org``, ``gitea01-8.opendev.org``, and
``storyboard01.opendev.org`` from the emergency file.
#. Ensure that the next manage-projects run does not update the giteas
or review servers. It should be a noop.
Developers will either need to re-clone a new copy of the repository,
or manually update their remotes with something like::