system-config/playbooks/rename_repos.yaml
Jeremy Stanley 65ed837e31 Update project rename instructions
When I919ba42b0d22126719daa7ad308f75ce021720b7 merged, it introduced
a few regressions into our process:

  * Github renaming/transferring was dropped

  * Switched to a very slow (for our environment) Zuul stopping
    method

  * it advocated for composing a rename parameters file very late
    in the process

This change fixes the above issues. It also updates the
documentation to note that Puppet should be stopped well in advance
of the maintenance window, and updates the playbook to no longer run
an offline Gerrit reindex (since online reindexing is now
supported).

Change-Id: Ie249214c0d1b1df6c66d4910002e35d8c17c3b69
2016-11-22 13:41:56 -08:00

62 lines
2.3 KiB
YAML

---
- hosts: review.openstack.org
gather_facts: False
remote_user: root
tasks:
- shell: invoke-rc.d gerrit stop
- include_vars: "{{ repolist }}"
- shell: echo 'update account_project_watches set project_name = "{{ item.new }}" where project_name = "{{ item.old }}";' | mysql reviewdb
with_items: {{ repos }}
- shell: echo 'update changes set dest_project_name = "{{ item.new }}", created_on = created_on where dest_project_name = "{{ item.old }}";' | mysql reviewdb
with_items: {{ repos }}
- shell: mv {{ item[0] }}{{ item[1].old }}.git {{ item[0] }}{{ item[1].new }}.git
with_nested:
- [ '~gerrit2/review_site/git/', '/opt/lib/git/' ]
- {{ repos }}
- hosts: 'git0*'
gather_facts: False
tasks:
- include_vars: "{{ repolist }}"
- shell: mv {{ item[0] }}{{ item[1].old }}.git {{ item[0] }}{{ item[1].new }}.git
with_nested:
- [ '/var/lib/git/' ]
- {{ repos }}
- hosts: storyboard.openstack.org
gather_facts: False
remote_user: root
tasks:
- include_vars: "{{ repolist }}"
- shell: echo 'update projects set name="{{ item.new }}" where name="{{ item.old }}";' | mysql --defaults-file=/root/.storyboard_db.cnf storyboard
with_items: {{ repos }}
- hosts: review.openstack.org
gather_facts: False
remote_user: root
become: yes
become_user: gerrit2
tasks:
- shell: cp -ax /home/gerrit2/review_site/index /home/gerrit2/index.backup.$(date +%s)
- hosts: review.openstack.org
gather_facts: False
remote_user: root
tasks:
- shell: invoke-rc.d gerrit start
- hosts: review.openstack.org
gather_facts: False
remote_user: root
become: yes
become_user: gerrit2
tasks:
- pause: prompt="Make sure that Gerrit ssh api is accepting requests. Use Enter or ^C c to continue. ^C a to abort."
- include_vars: "{{ repolist }}"
- shell: ssh -p 29418 -i /home/gerrit2/review_site/etc/ssh_project_rsa_key openstack-project-creator@review.openstack.org gerrit rename-group {{ item.old }} {{ item.new }}
with_items: "{{ gerrit_groups|default([]) }}"
# TODO: online reindex accounts
# TODO: online reindex projects
- hosts: '*.ci.openstack.org:*.slave.openstack.org'
remote_user: root
gather_facts: False
tasks:
- include_vars: "{{ repolist }}"
- shell: 'rm -rf ~jenkins/workspace/*{{ item.old | basename }}*'
with_items: {{ repos }}