add instructions about tracking status
Change-Id: I0b7cb8ee7d24a9bb135b7437cf6c3f2b78338ed8 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
a8b52bf673
commit
a0db30412b
37
README.rst
37
README.rst
@ -96,6 +96,43 @@ use it while reviewing the other patches.
|
||||
$ cd ../Output/Documentation/openstack-infra/project-config
|
||||
$ git review
|
||||
|
||||
Marking the Team "In Progress"
|
||||
------------------------------
|
||||
|
||||
1. Use ``update-tasks`` to set the status of the tasks on the story to
|
||||
"review". For example::
|
||||
|
||||
$ cd goal-tools
|
||||
$ .tox/venv/bin/update-tasks --status review 2003250
|
||||
|
||||
2. The Infrastructure team needs to know not to approve changes to job
|
||||
configurations for a team while the team's settings are being
|
||||
migrated. To inform them, send email to the
|
||||
``openstack-infra@lists.openstack.org`` list. The ``migration
|
||||
announce`` command will build a message body containing all of the
|
||||
repository names.::
|
||||
|
||||
$ .tox/venv/bin/python3-first migration announce Oslo
|
||||
|
||||
The Zuul project settings for the Oslo repositories
|
||||
has begun. Please do not approve any changes to
|
||||
openstack-infra/project-config/zuul.d/projects.yaml for
|
||||
the following repositories:
|
||||
|
||||
- openstack-dev/cookiecutter
|
||||
- openstack-dev/oslo-cookiecutter
|
||||
- openstack-dev/pbr
|
||||
- openstack/automaton
|
||||
...
|
||||
|
||||
Marking the Team "Complete"
|
||||
---------------------------
|
||||
|
||||
1. Use ``update-tasks`` to set the status of the tasks on the story to
|
||||
"merged".
|
||||
2. Reply to the preivous message on the ``openstack-infra`` mailing
|
||||
list to announce that the migration for the team is completed.
|
||||
|
||||
Tools
|
||||
-----
|
||||
|
||||
|
@ -3,10 +3,12 @@
|
||||
import logging
|
||||
import os.path
|
||||
import subprocess
|
||||
import textwrap
|
||||
|
||||
from goal_tools import governance
|
||||
|
||||
from cliff import command
|
||||
import jinja2
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@ -86,3 +88,44 @@ class ReposList(command.Command):
|
||||
except ValueError as err:
|
||||
print(err)
|
||||
return 1
|
||||
|
||||
|
||||
class MigrationAnnounce(command.Command):
|
||||
"email the infra team a list the locked repositories for a team"
|
||||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super().get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
'--project-list',
|
||||
default=governance.PROJECTS_LIST,
|
||||
help='URL for projects.yaml',
|
||||
)
|
||||
parser.add_argument(
|
||||
'team',
|
||||
help='the team name',
|
||||
)
|
||||
return parser
|
||||
|
||||
body_template = textwrap.dedent('''
|
||||
The Zuul project settings for the {{team}} repositories
|
||||
has begun. Please do not approve any changes to
|
||||
openstack-infra/project-config/zuul.d/projects.yaml for
|
||||
the following repositories:
|
||||
{% for repo in repos %}
|
||||
- {{repo}}
|
||||
{%- endfor %}
|
||||
''')
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
gov_dat = governance.Governance(url=parsed_args.project_list)
|
||||
repos = sorted(list(gov_dat.get_repos_for_team(parsed_args.team)))
|
||||
|
||||
template = jinja2.Template(
|
||||
source=self.body_template,
|
||||
undefined=jinja2.StrictUndefined,
|
||||
)
|
||||
body = template.render(
|
||||
team=parsed_args.team,
|
||||
repos=repos,
|
||||
)
|
||||
print(body)
|
||||
|
@ -7,3 +7,4 @@ requests
|
||||
ruamel.yaml
|
||||
six
|
||||
yamlordereddictloader
|
||||
jinja2
|
||||
|
@ -54,6 +54,7 @@ python3_first =
|
||||
repos clone = goal_tools.python3_first.repos:ReposClone
|
||||
repos list = goal_tools.python3_first.repos:ReposList
|
||||
patches list = goal_tools.python3_first.patches:PatchesList
|
||||
migration announce = goal_tools.python3_first.repos:MigrationAnnounce
|
||||
|
||||
[wheel]
|
||||
universal = 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user