Update Gerrit project renaming for Zuul v3

With the switch to Zuul v3, we need to resolve some configuration
catch-22s where project names and related in-repository job
definitions can't happen without a complex multi-stage removal and
reintroduction process to get it through speculative testing
successfully. For now, just punt and use monolithic changes
bypassing CI in code review. As an up side, the Ansible automation
of this process coupled with Zuul v3's increased resilience to
on-the-fly configuration changes means we can skip stopping/starting
it now and significantly simplify the process.

Since we're here, correct the section heading level for
"Force-Merging a Change" in the sysadmin document.

Change-Id: I335c23abd0b5706f43bbea2dd8cfffa4280dd5db
This commit is contained in:
Jeremy Stanley 2018-03-19 15:21:50 +00:00
parent 4e0c23e62d
commit cbbceb2330
2 changed files with 9 additions and 19 deletions

View File

@ -424,10 +424,10 @@ in-progress changes do not need to be merged before the move.
To rename a project: To rename a project:
#. Prepare a change to the project-config repo to update things like #. Prepare a change to the project-config repo to update things like
projects.yaml/ACLs, jenkins-job-builder and gerritbot for the new projects.yaml, Gerrit ACLs, zuul and gerritbot for the new name.
name. Also add changes to update projects.txt in all branches of Also add changes to update projects.txt in all branches of the
the requirements repo, devstack-vm-gate-wrap.sh in the requirements repo, project matrix in the devstack-gate repo and
devstack-gate repo, reference/projects.yaml in the all branches of devstack, reference/projects.yaml in the
openstack/governance repo, and .gitmodules in the openstack/governance repo, and .gitmodules in the
openstack/openstack repo if necessary. openstack/openstack repo if necessary.
@ -454,25 +454,13 @@ To rename a project:
not currently in progress. When it finishes, make sure the entry not currently in progress. When it finishes, make sure the entry
has not been added back to the crontab. has not been added back to the crontab.
#. Export and stop Zuul on zuul.openstack.org::
python /opt/zuul/tools/zuul-changes.py http://zuul.openstack.org gate >gate.sh
python /opt/zuul/tools/zuul-changes.py http://zuul.openstack.org check >check.sh
sudo invoke-rc.d zuul stop
sudo rm -f /var/run/zuul/zuul.pid /var/run/zuul/zuul.listedock
#. Run the ansible rename repos playbook, passing in the path to your yaml #. Run the ansible rename repos playbook, passing in the path to your yaml
file:: file::
sudo ansible-playbook -f 10 /opt/system-config/production/playbooks/rename_repos.yaml -e repolist=ABSOLUTE_PATH_TO_VARS_FILE sudo ansible-playbook -f 10 /opt/system-config/production/playbooks/rename_repos.yaml -e repolist=ABSOLUTE_PATH_TO_VARS_FILE
#. Start Zuul on zuul.openstack.org:: #. :ref:`Force-merge <force-merging-a-change>` the prepared Puppet
configuration changes.
sudo invoke-rc.d zuul start
sudo bash gate.sh
sudo bash check.sh
#. Merge the prepared Puppet configuration changes.
#. Rename the project or transfer ownership in GitHub #. Rename the project or transfer ownership in GitHub

View File

@ -291,8 +291,10 @@ Note if you created your working directory in a path that is not
excluded by bup you will want to remove that directory when your work is excluded by bup you will want to remove that directory when your work is
done. /root/backup-restore-* is excluded so the path above is safe. done. /root/backup-restore-* is excluded so the path above is safe.
.. _force-merging-a-change:
Force-Merging a Change Force-Merging a Change
---------------------- ======================
Occasionally it is necessary to bypass the CI system and merge a Occasionally it is necessary to bypass the CI system and merge a
change directly. Usually, this is only required if we have a hole in change directly. Usually, this is only required if we have a hole in