From 87a67c7656d4c4119bc6391ccc2bb9c4d401fb68 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Thu, 12 Aug 2021 13:53:05 -0700 Subject: [PATCH] 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 --- doc/source/gerrit.rst | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/doc/source/gerrit.rst b/doc/source/gerrit.rst index 545c3a008c..3bca57ec71 100644 --- a/doc/source/gerrit.rst +++ b/doc/source/gerrit.rst @@ -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 ` the prepared Puppet - configuration changes. +#. :ref:`Force-merge ` 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::