This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no Collaborating on Geni-tools
2 Context For a standard developer, writing an aggregate manager is difficult (for BonFIRE) ◦ Navigating between all the often outdated doc confusing ◦ Mapping sfa concepts to testbed API not trivial ◦ Developping rspecs from xsd files not trivial when the examples are difficult to adapt ◦ Finding a codebase that is usable and documented to avoid reimplementing the modified XML-RPC layer and authentication checks found difficult
3 Context For a standard developer, writing an aggregate manager is difficult (for BonFIRE) ◦ Navigating between all the often outdated doc confusing ◦ Mapping sfa concepts to testbed API not trivial ◦ Developping rspecs from xsd files not trivial when the examples are difficult to adapt ◦ Finding a codebase that is usable and documented to avoid reimplementing the modified XML-RPC layer and authentication checks found difficult
Sponsored by the National Science Foundation Collaboration on geni-tools through GitHub Marshall Brinn GENI Program Office Sept. 17, 2015
Sponsored by the National Science Foundation5 Overview In the Spring of 2015, the GPO-internal git repository named ‘gcf’ migrated to a public GitHub repository named ‘geni-tools’ –Contains command-line tools such as omni and stitcher plus AM API client/server libraries and templates In addition, a Google Group was created to facilitate design discussions and coordinate releases The intent is to transition ownership and management of this software from the GPO to the broader community The process is live: we have received and incorporated several fixes/enhancements from the community.
Sponsored by the National Science Foundation6 Motivation GitHub makes it much easier for interested parties to access the software –The repo and all GitHub tools are online and freely available The method of contribution (fork and pull request) is well documented by GitHub –Many organizations develop collaboratively using GitHub; we borrowed heavily from common practices in other collaborative projects The Google Group provides a simple open discussion forum –Online, browsable, and available to everyone.
Sponsored by the National Science Foundation7 Details Both GitHub repository and Google Group need privileged members (‘owners’) –For GitHub, these members review, manage and ultimately merge pull requests, triage issues, manage releases –For Google Group, these members manage privileges of other members Currently, all geni-tools GitHub owners are from the GPO. Brecht is a Google Group owner along with Tom/Aaron from GPO. It is our expectation that the ownership of this repo/list transition to the community in the coming months.
8 Contribution to the geni-tools code base Rework the delegate mechanism and the ReferenceAggragateMAnager code to ease reuse. ◦ 20 commits in the develop branch ◦ 6 pull requests ◦ See CHANGELOG for detaisl Wrote a tutorial to help people bootsrap AM code ◦
9 Conclusion BonFIRE aggregate manager started with delegate specified on config Easy to get updates from new releases of geni-tools (code lives in a different directory/repository) sfa.bonfire.grid5000.fr up and running ◦ Still duplicating option sanity checks.
Sponsored by the National Science Foundation10 NOTES / BACKUP
Sponsored by the National Science Foundation11 Notes: TM We’ve received and incorporated contributions from N people in M countries It is much easier for interested parties to access the software The method of contribution (fork and pull request) is well documented by GitHub Anyone can report issues and search existing issues Overall, a much better and easier platform for communication and collaboration Additionally, mention the move to Google Groups for the mailing list and discussion forum. It is open and available to all These are both steps towards community ownership where we can allow others to play a more active role in development and ownership
Sponsored by the National Science Foundation12 Notes: AH Lots of models for a top-level README and CONTRIBUTING file. Many organizations develop collaboratively using GitHub. We borrowed heavily from common practices in other collaborative projects for the geni-tools/GCF module You could summarize what we say in the CONTRIBUTING file Pull request model lends itself to making everyone equal partners, and having open discussions about changes GitHub provides downloadable code bundles at any point, supporting continuous integration Google group for discussions –Online browsable, open to new members wherever they may come from We have yet to but will make more use of GitHub wiki pages Some set of people still have to be ‘owners’ –Handle pull requests –Decide on ticket prioritization, disposition, etc. –Tag releases This will require closer communication going forward As needs diverge between the omni/stitcher command-line tools and the GCF AM, we may need to consider splitting those two modules into separate repos.
Sponsored by the National Science Foundation13 Notes: MSB It is open and out there Pull request model Getting contributions Find provably good solutions How many people have contributed – several Work in plubic way Someone is in charge –Pull request, release, triage Google Groups We are in charge, we are working towards group ownership Brecht is owner of google group, not repo Owners of Repo Manage Group – Who gets to post