Added command line tool information to README.rst
Added explanations and example scenarios about the command line usage for jobs.py to the README.rst file. A few syntax errors found in the README.rst was fixed as well. Visit the following link for a preview of the README.rst: http://rst.ninjs.org/?n=de7d3bc022f4ba2417bd3de97e33c91c&theme=nature Additionally, the YAML file extention has been changed to '.yaml.' The name of the meetings have also been capitalized. Spaces were added in front of agenda list items. Lastly, a minor issue was fixed where the iCals files was missing the . in the file extension. It now can handle both '.yaml' and '.yml' extentions when writting '.ical' files. Change-Id: Iff6805a690339303ec58bf19883dcfbbf3d37d72
This commit is contained in:
parent
e6ec82a4c9
commit
6a5ee13854
121
README.rst
121
README.rst
@ -9,40 +9,101 @@ Currently, each team's meeting time and agenda are listed at:
|
||||
This project replaces each meeting with well-defined YAML files.
|
||||
|
||||
This tool will run as a Jenkins job, so that each time a YAML meeting is
|
||||
created, Jenkins will generate an iCal file.
|
||||
created, Jenkins will generate an iCal file. Additionally, user can also run
|
||||
the program locally to check for conflict before submitting the meeting changes
|
||||
for review.
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
Running locally
|
||||
---------------
|
||||
Running Locally from Command Line
|
||||
---------------------------------
|
||||
|
||||
To test this project locally, you must have the following requirements
|
||||
installed:
|
||||
|
||||
* Python 3.3+
|
||||
* icalendar python library
|
||||
* PyYaml
|
||||
* `iCalendar` python library
|
||||
* `PyYaml` python library
|
||||
|
||||
Before running this tool, first place some meeting YAML files in the meetings
|
||||
directory. This directory already contains some meetings. To create your own
|
||||
meeting, see the meetings/README file.
|
||||
Before running this tool, first edit some meeting YAML files in the meetings
|
||||
directory. This directory already contains YAML files for the meetings
|
||||
found on the `Meetings <https://wiki.openstack.org/wiki/Meetings>`_ wiki page.
|
||||
To create a new meeting YAML file, read the `YAML Meeting File` section below.
|
||||
|
||||
To run this tool, run
|
||||
To start with, we need to clone the repository to a local directory. Afterward,
|
||||
`cd` into the directory where the `jobs.py` script is found.
|
||||
|
||||
`$ python jobs.py`
|
||||
::
|
||||
|
||||
in the gerrit-powered-agenda directory.
|
||||
$ git clone https://git.openstack.org/cgit/openstack-infra/gerrit-powered-agenda
|
||||
$ cd gerrit-powered-agenda/gerrit-powered-agenda/
|
||||
|
||||
The generated iCal files will appear in the /icals directory.
|
||||
The different command line options are as follows. For help, use `-h`
|
||||
(or `--help`) to show a list of options and exit.
|
||||
|
||||
As a Jenkins Job
|
||||
----------------
|
||||
::
|
||||
|
||||
$ python jobs.py -h
|
||||
|
||||
The `-t TEST` (or `--test TEST`) is used to execute a test. The valid values
|
||||
for `TEST` are `check`, `gate` and `post`. It'd be a good idea to run a quick
|
||||
check job to test for conflicts before pushing for review.
|
||||
|
||||
::
|
||||
|
||||
$ python jobs.py -t check
|
||||
$ python jobs.py -t gate
|
||||
$ python jobs.py -t post
|
||||
|
||||
For converting YAML files to iCal files, there are four flags to consider:
|
||||
|
||||
* Use the `-y YAML_DIR` (or `--yamldir YAML_DIR`) to specify the path to the
|
||||
directory `YAML_DIR` where the YAML files are located. The default
|
||||
`YAML_DIR` is `meetings` when this flag is not provided.
|
||||
* Use the `-i ICAL_DIR` (or `--icaldir ICAL_DIR`) to specify the path to the
|
||||
directory `ICAL_DIR` where the iCals files will be written to.
|
||||
* Use the `-m MEETING_LIST_FILE` (or `--meetings MEETING_LIST_FILE`) to write
|
||||
selected YAML files in `MEETING_LIST_FILE` to `ICAL_DIR`.
|
||||
|
||||
* Note: `MEETING_LIST_FILE` consists of names of YAML files per line.
|
||||
* Add the `-c` (or `--convert`) to convert.
|
||||
|
||||
The following are a few scenarios:
|
||||
|
||||
* Read all the YAML files in meetings and output iCal files to iCals folder:
|
||||
|
||||
::
|
||||
|
||||
$ cd gerrit-powered-agenda/gerrit-powered-agenda/
|
||||
$ mkdir ../iCals
|
||||
$ python jobs.py -i ../iCals -c
|
||||
|
||||
* Read all the YAML files in myYAML folder and output iCal files to iCals
|
||||
folder:
|
||||
|
||||
::
|
||||
|
||||
$ cd gerrit-powered-agenda/gerrit-powered-agenda/
|
||||
$ mkdir ../iCals
|
||||
$ python jobs.py -y ../myYAML -i ../iCals -c
|
||||
|
||||
* Read myMeetings.txt, select the YAML file listed in there from myYAML
|
||||
directory, convert these files and write them to iCals folder:
|
||||
|
||||
::
|
||||
|
||||
$ cd gerrit-powered-agenda/gerrit-powered-agenda/
|
||||
$ mkdir ../iCals
|
||||
$ python jobs.py -y ../myYAML -m ../myMeetings.txt -i ../iCals -c
|
||||
|
||||
Running as a Jenkins Job
|
||||
------------------------
|
||||
|
||||
When this project is complete, this tool will run as a Jenkins job. A developer
|
||||
wishing to create a meeting will push a YAML file to Gerrit, which will then be
|
||||
reviewed. If the review passes, Jenkins will run this tool to generate ical
|
||||
files.
|
||||
wishing to modify existing meetings or create a new meeting will push the
|
||||
respecitve YAML file to Gerrit, which will then be reviewed. When the review
|
||||
passes, Jenkins will run this tool to generate iCal files.
|
||||
|
||||
YAML Meeting File
|
||||
=================
|
||||
@ -59,10 +120,11 @@ Each meeting consists of:
|
||||
|
||||
* `project` -- the name of the project
|
||||
* `schedule` -- a list of schedule each consisting of
|
||||
- `time` -- time string in UTC
|
||||
- `day` -- the day of week the meeting takes place
|
||||
- `irc` -- the irc room in which the meeting is held
|
||||
- `frequency` -- frequent occurence of the meeting
|
||||
|
||||
* `time` -- time string in UTC
|
||||
* `day` -- the day of week the meeting takes place
|
||||
* `irc` -- the irc room in which the meeting is held
|
||||
* `frequency` -- frequent occurence of the meeting
|
||||
* `chair` -- name of the meeting's chair
|
||||
* `description` -- a paragraph description about the meeting
|
||||
* `agenda` -- a paragraph consisting of the bulleted list of topics
|
||||
@ -101,14 +163,15 @@ will be import into Python as a dictionary.
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
|
||||
* The chair is just a one liner. The might be left empty if there is not a chair.
|
||||
* The chair is just a one liner. The might be left empty if there is not a
|
||||
chair.
|
||||
|
||||
::
|
||||
|
||||
chair: Russell Bryant
|
||||
|
||||
* The project description is as follows. Use `>` to for the parapraph so new
|
||||
lines are folded.
|
||||
* The project description is as follows. Use `>` for parapraphs where new
|
||||
lines are folded, or `|` for paragraphs where new lines are preserved.
|
||||
|
||||
::
|
||||
|
||||
@ -126,8 +189,8 @@ will be import into Python as a dictionary.
|
||||
::
|
||||
|
||||
agenda: |
|
||||
* general annoucement
|
||||
* sub-teams
|
||||
* bugs
|
||||
* blueprints
|
||||
* open discussion
|
||||
* General annoucement
|
||||
* Sub-teams
|
||||
* Bugs
|
||||
* Blueprints
|
||||
* Open discussion
|
||||
|
@ -99,7 +99,7 @@ class Meeting:
|
||||
cal.add_component(event)
|
||||
|
||||
# write ical files to disk
|
||||
ical_filename = self.filename[:-4] + 'ics'
|
||||
ical_filename = self.filename.split('.')[0] + '.ics'
|
||||
|
||||
if not os.path.exists(ical_dir):
|
||||
os.makedirs(ical_dir)
|
||||
|
@ -1,10 +1,10 @@
|
||||
project: Gantt (Scheduler) team meeting
|
||||
project: Gantt (Scheduler) Team Meeting
|
||||
schedule:
|
||||
- time: '1500'
|
||||
day: Tuesday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Don Dugger
|
||||
description: >
|
||||
agenda: |
|
||||
*How will the current API work lead to actual scheduling
|
||||
description: >
|
||||
agenda: |
|
||||
* How will the current API work lead to actual scheduling
|
40
meetings/ironic-team-meeting.yaml
Normal file
40
meetings/ironic-team-meeting.yaml
Normal file
@ -0,0 +1,40 @@
|
||||
project: Ironic Team Meeting
|
||||
schedule:
|
||||
- time: '1900'
|
||||
day: Monday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Devananda van der Veen
|
||||
description: >
|
||||
If you're interested in bare metal deployments ith OpenStack, please join
|
||||
us. This meeting is here we'll talk about the Ironic project, an evolution
|
||||
of the Nova Baremetal driver.
|
||||
agenda: |
|
||||
* Greeting, roll-call and anouncements
|
||||
* Regular Topics
|
||||
** Blueprint status check: https://blueprints.launchpad.net/ironic
|
||||
** Bug status check: https://wiki.openstack.org/wiki/BugTriage
|
||||
* Call outs
|
||||
** Nova Driver
|
||||
*** Nova volume driver
|
||||
*** Nova hostmanager
|
||||
*** Refactor get_iscsi_initiator
|
||||
** Functional testing with devstack
|
||||
** Inteeration with TripleO
|
||||
* I-3 planning
|
||||
** Graduation requirements
|
||||
*** Nova driver needs to land
|
||||
*** We need ful CI (https://review.openstack.org/#/c/70348/)
|
||||
** Feature freeze
|
||||
*** What work / revies need to be prioritized
|
||||
*** What can we realistically land
|
||||
** Code cleanup
|
||||
*** With mock vs. @mock
|
||||
*** Node[property] vs node.property
|
||||
* Open Discussion
|
||||
* Adds max retry limit to sync_poer_state task(should e rely on driver |
|
||||
health or not when preventing infinite syncs?)
|
||||
https://revie.openstack.org/#/c/77420/2/ironic/conductor/manager.py
|
||||
** Functional/Integration testing of vendor drivers (Tempest?)
|
||||
** Driver architecture for Chassis object (Allo vendors to define behavior |
|
||||
for the Chassis object like Auto node discovery etc)
|
@ -1,38 +0,0 @@
|
||||
project: Ironic team Meeting
|
||||
schedule:
|
||||
- time: '1900'
|
||||
day: Monday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Devananda van der Veen
|
||||
description: >
|
||||
If you're interested in bare metal deployments ith OpenStack, please join
|
||||
us. This meeting is here we'll talk about the Ironic project, an evolution
|
||||
of the Nova Baremetal driver.
|
||||
agenda: |
|
||||
*Greeting, roll-call and anouncements
|
||||
*Regular Topics
|
||||
**blueprint status check: https://blueprints.launchpad.net/ironic
|
||||
**bug status check: https://wiki.openstack.org/wiki/BugTriage
|
||||
*Call outs
|
||||
**Nova Driver
|
||||
***Nova volume driver
|
||||
***Nova hostmanager
|
||||
***Refactor get_iscsi_initiator
|
||||
**Functional testing with devstack
|
||||
**Inteeration with TripleO
|
||||
*I-3 planning
|
||||
**Graduation requirements
|
||||
***nova driver needs to land
|
||||
***we need ful CI (https://review.openstack.org/#/c/70348/)
|
||||
**feature freeze
|
||||
***what work / revies need to be prioritized
|
||||
***what can we realistically land
|
||||
**code cleanup
|
||||
***with mock vs. @mock
|
||||
***node[property] vs node.property
|
||||
*Open Discussion
|
||||
*Adds max retry limit to sync_poer_state task(should e rely on driver | health or not when preventing infinite syncs?) https://revie.openstack.org/#/c/77420/2/ironic/conductor/manager.py
|
||||
**Functional/Integration testing of vendor drivers (Tempest?)
|
||||
**Driver architecture for Chassis object (Allo vendors to define behavior | for the Chassis object like Auto node discovery etc)
|
||||
|
@ -5,15 +5,15 @@ schedule:
|
||||
irc: openstack-meeting-3
|
||||
frequency: weekly
|
||||
chair: Tracy Jones
|
||||
description: >
|
||||
description: >
|
||||
This is a weekly meeting review Nova Bugs. The initial focus will be on
|
||||
triaging bugs in the New state and ensuring that critical bugs are making
|
||||
progress. Once the new queue is under control we will switch our focus to
|
||||
reviewing incomplete bugs, removing assignees from stale bugs so others
|
||||
can pick them up (especially low hanging fruit). In general we will follow
|
||||
the policies documented here https://wiki.openstack.org/wiki/BugTriage
|
||||
agenda: |
|
||||
*Tag untagged
|
||||
*Triage New
|
||||
*Revie Critical
|
||||
*Open Discussion
|
||||
agenda: |
|
||||
* Tag untagged
|
||||
* Triage New
|
||||
* Revie Critical
|
||||
* Open Discussion
|
@ -1,4 +1,4 @@
|
||||
project: Nova Hyper-V team meeting
|
||||
project: Nova Hyper-V Team Meeting
|
||||
schedule:
|
||||
- time: '1600'
|
||||
day: Tuesday
|
@ -1,16 +1,16 @@
|
||||
project: OpenStack Project & Release Status meeting
|
||||
project: OpenStack Project & Release Status Meeting
|
||||
schedule:
|
||||
- time: '2100'
|
||||
day: Tuesday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Thierry Carrez
|
||||
description: >
|
||||
description: >
|
||||
The whole OpenStack Team holds a public weekly Project & Release Status
|
||||
meeting in #openstack-meetings, Tuesdays at 2100 UTC. Everyone is encouraged
|
||||
to attend.
|
||||
agenda: |
|
||||
*Current RC status
|
||||
*(add topics here)
|
||||
*Incubated Projects
|
||||
*Open Discussion
|
||||
meeting in #openstack-meetings, Tuesdays at 2100 UTC. Everyone is
|
||||
encouraged to attend.
|
||||
agenda: |
|
||||
* Current RC status
|
||||
* (add topics here)
|
||||
* Incubated Projects
|
||||
* Open Discussion
|
@ -5,14 +5,14 @@ schedule:
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Thierry Carrez
|
||||
description: >
|
||||
description: >
|
||||
The OpenStack Technical Committee is one of the governing bodies of the
|
||||
OpenStack project. It is an elected group that represents the
|
||||
contributors to the project, and has oversight on all technical matters.
|
||||
The Technical Committee is formally defined in the OpenStack Foundation
|
||||
bylas and further refined in the Technical Committee charter.
|
||||
agenda: |
|
||||
*Integrated projects and new requirements, Gap analysis for Ceilometer
|
||||
*Bylas subcommitte report, proposed changes to the OpenStack Bylas
|
||||
*Minor governance changes
|
||||
*Open Discussion
|
||||
agenda: |
|
||||
* Integrated projects and new requirements, Gap analysis for Ceilometer
|
||||
* Bylas subcommitte report, proposed changes to the OpenStack Bylas
|
||||
* Minor governance changes
|
||||
* Open Discussion
|
@ -1,18 +1,18 @@
|
||||
project: VMware API team meeting
|
||||
project: VMware API Team Meeting
|
||||
schedule:
|
||||
- time: '1500'
|
||||
day: Wednesday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: Shan Hartsock
|
||||
description: >
|
||||
description: >
|
||||
This is a weekly meeting to discuss blueprints and bugs related to VMwareAPI
|
||||
integrations ith OpenStack. At present, this one meeting will cover all
|
||||
these out into separate sub-teams. We maintain a channel for general
|
||||
discussion of VMwareAPI on freenode IRC at openstack-vmware but formal meetings
|
||||
are held in the official IRC meeting rooms for OpenStack.
|
||||
agenda: |
|
||||
*Refactorings priority order & assignments and schedule
|
||||
*blueprint priority order after refactorings
|
||||
**any exceptional blueprints which should be exempt from this rule
|
||||
*Open Discussion
|
||||
discussion of VMwareAPI on freenode IRC at openstack-vmware but formal
|
||||
meetings are held in the official IRC meeting rooms for OpenStack.
|
||||
agenda: |
|
||||
* Refactorings priority order & assignments and schedule
|
||||
* Blueprint priority order after refactorings
|
||||
** Any exceptional blueprints which should be exempt from this rule
|
||||
* Open Discussion
|
@ -1,21 +1,21 @@
|
||||
project: Xen Api team meeting
|
||||
project: Xen Api Team Meeting
|
||||
schedule:
|
||||
- time: '1500'
|
||||
day: Wednesday
|
||||
irc: openstack-meeting
|
||||
frequency: weekly
|
||||
chair: John Garbutt
|
||||
description: >
|
||||
description: >
|
||||
Meeting to discuss the status of Blueprints and bugs relating to the XenAPI
|
||||
layer in #openstack-meeting, every Wednesday at 1500 UTC. (It used to be
|
||||
every Wednesday at 1700 UTC, but this proved to late for the UK folks at
|
||||
Citrix after daylight savings kicked in)
|
||||
agenda: |
|
||||
*Actions from last meeting
|
||||
*Blueprints
|
||||
**Discuss Icehouse-2 progress
|
||||
*Docs
|
||||
*Bugs & QA
|
||||
**https://bugs.launchpad.net/nova/+bugs?field.tag=xenserver
|
||||
**gating progress
|
||||
*Open Discussion
|
||||
agenda: |
|
||||
* Actions from last meeting
|
||||
* Blueprints
|
||||
** Discuss Icehouse-2 progress
|
||||
* Docs
|
||||
* Bugs & QA
|
||||
** https://bugs.launchpad.net/nova/+bugs?field.tag=xenserver
|
||||
** Gating progress
|
||||
* Open Discussion
|
Loading…
x
Reference in New Issue
Block a user