Allow gitea_create_repos always_update to be list
Setting the gitea_always_update var for the gitea-git-repos role to a list will filter metadata updates to only the project names included in the supplied list. False and True still have their prior meanings of do no metadata updates or force metadata updates for every project we host. Add testing for this, and also actually test that the rename playbook renamed something. Get rid of the git clone in the playbook since it's no longer relevant to how we run things anyway, we'll instead want to rely on the Zuul supplied projects.yaml path. Change-Id: Id8238b232caffc242c6bda9fe39eb7e65fe5e059
This commit is contained in:
parent
d76fb17fba
commit
a39a939e03
@ -197,6 +197,9 @@ class Gitea(object):
|
||||
# https://github.com/go-gitea/gitea/pull/7493
|
||||
self.make_gitea_project(project)
|
||||
if create or self.always_update:
|
||||
if isinstance(self.always_update, list
|
||||
) and project not in self.always_update:
|
||||
continue
|
||||
futures.append(settings_thread_pool.submit(
|
||||
self.update_gitea_project_settings,
|
||||
project))
|
||||
@ -272,7 +275,7 @@ def ansible_main():
|
||||
url=dict(required=True),
|
||||
password=dict(required=True, no_log=True),
|
||||
projects=dict(required=True, type='list'),
|
||||
always_update=dict(type='bool', default=True),
|
||||
always_update=dict(default=True),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -1,16 +1,9 @@
|
||||
- hosts: "localhost:!disabled"
|
||||
name: "sync-gitea-projects: Collect the project-config ref"
|
||||
strategy: free
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Clone project-config repo
|
||||
git:
|
||||
repo: https://opendev.org/openstack/project-config
|
||||
dest: /opt/project-config
|
||||
force: yes
|
||||
|
||||
# Note: Override the gitea_always_update rolevar to either true (update all) or
|
||||
# a list of specific projects if you want metadata applied for these, otherwise
|
||||
# the default (false) does not set any project metadata. We intentionally leave
|
||||
# it unset here so that we can test it in the system-config-run-gitea job after
|
||||
# renaming a project, or to be able to set it from the command line.
|
||||
- hosts: "gitea:!disabled"
|
||||
name: "Create repos on gitea servers"
|
||||
roles:
|
||||
- role: gitea-git-repos
|
||||
gitea_always_update: true
|
||||
|
@ -31,6 +31,33 @@
|
||||
vars:
|
||||
repolist: /home/zuul/src/opendev.org/opendev/system-config/playbooks/zuul/test_gitea_renames.yaml
|
||||
|
||||
- hosts: "bridge.openstack.org:!disabled"
|
||||
tasks:
|
||||
- name: Update DIB project name in projects.yaml and switch to SB
|
||||
lineinfile:
|
||||
path: "{{ project_config_src }}/gerrit/projects.yaml"
|
||||
regexp: "^- project: openstack/diskimage-builder"
|
||||
line: "- project: opendev/disk-image-builder\n use-storyboard: true"
|
||||
|
||||
- name: Run filtered sync playbook
|
||||
import_playbook: sync-gitea-projects.yaml
|
||||
vars:
|
||||
gitea_always_update: ["opendev/disk-image-builder"]
|
||||
|
||||
- hosts: "gitea"
|
||||
tasks:
|
||||
- name: Test opendev/disk-image-builder exists in gitea
|
||||
uri:
|
||||
url: "https://localhost:3000/opendev/disk-image-builder"
|
||||
validate_certs: false
|
||||
status_code: 200
|
||||
return_content: yes
|
||||
register: dib_content
|
||||
- name: Assert DIB issues URL was updated
|
||||
fail:
|
||||
msg: DIB issues URL was not updated
|
||||
when: '"https://storyboard.openstack.org/#!/project/opendev/disk-image-builder" not in dib_content.content'
|
||||
|
||||
# This is conveniently left here so that it can be uncommented in order to
|
||||
# autohold the system-config-run-gitea job in zuul.
|
||||
#- hosts: bridge.openstack.org
|
||||
|
Loading…
Reference in New Issue
Block a user