==== Project Name ==== * Proposed name for the project: ''Controller Performance Testing'' * Proposed name for the repository: ''cperf'' * Project Category: Integration & Testing ==== Project description ==== The Controller Performance Testing (cperf) project will serve as a performance testing environment for the SDN controller portion of the large, realistic, automated deployments required by OPNFV. The newly created OpenDaylight Performance Group, which consists of the upstream ODL perf testing community, has committed to bootstrapping the effort. Because of the group's background, the initial focus will be ODL, but the cperf project explicitly hopes to leave the controller part of the test matrix open and will welcome collaboration with other controller communities. The cperf project also hopes to serve as a community that fosters collaboration between benchmarking experts from academic/standards backgrounds and the upstream engineers who implement actual perf benchmarks in modern CI environments. ==== Scope ==== The Controller Performance Testing project's scope is to build performance tests for SDN controllers in realistic, large, automated deployments. Cperf, in the spirit of OPNFV's upstream-first focus, will work to solve problems primarily in the relevant upstream communities. For example, when creating OpenDaylight performance tests, cperf will consume and contribute to the [[https://wiki.opendaylight.org/view/CrossProject:Integration_Group | OpenDaylight Integration Team]]'s Python and Robot test libraries vs re-implementing that logic. When deploying OpenDaylight in a complex automated deployment, cperf will leverage the ODL [[https://wiki.opendaylight.org/view/Project_Proposals:Integration_Packaging | Integration/Packaging]] project's automated deployment tools as well as OPNFV's subsequent OpenStack integrations (via [[https://wiki.opnfv.org/get_started | BGS/Genesis]] and subsequent projects). Cperf explicitly encourages collaboration with other relevant communities, including additional SDN controller communities. There's a huge amount of work to be done, and inter-community collaboration is one of the possible big wins that may come from working in the context of OPNFV. We expect the considerable upstream experience of the OpenDaylight community members who will bootstrap this project to expedite such collaboration. The OPNFV [[https://wiki.opnfv.org/yardstick | Yardstick]], [[https://wiki.opnfv.org/opnfv_platform_characterization | Qtip]], and [[https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases | VSPERF]] testing projects have distinct, non-overlapping scopes (different types of perf testing). Cperf will complement [[https://wiki.opnfv.org/opnfv_functional_testing | Functest]]+[[https://wiki.opnfv.org/octopus | Octopus]] with additional CI validations. Cperf will consume OPNFV's lab space via [[https://wiki.opnfv.org/pharos | Pharos]] for realistic full-stack tests. ==== Dependencies ==== * [[https://wiki.opnfv.org/pharos | Pharos]] for hardware * [[https://wiki.opnfv.org/octopus | Octopus]] for basic CI * [[https://wiki.opendaylight.org/view/Project_Proposals:Integration_Test | OpenDaylight's Integration/Test project]] for bootstraping perf test logic/libraries * [[https://wiki.opendaylight.org/view/Project_Proposals:Integration_Packaging | OpenDaylight's Integration/Packaging project]] for automated ODL deployments * [[https://wiki.opnfv.org/get_started | BGS/Genesis]] and subsequent installer projects for ODL+OpenStack automated deployments ==== Committers and Contributors ==== === Project Leader === * Daniel Farrell (dfarrell@redhat.com, IRC: dfarrell07) === Committers === * Daniel Farrell (dfarrell@redhat.com, IRC: dfarrell07) * Luis Gomez (ecelgp@gmail.com, IRC: LuisGomez) * Jamo Luhrsen (jluhrsen@redhat.com, IRC: jamoluhrsen) * Marcus Williams (marcus.williams@intel.com, IRC: mgkwill) * Tim Rozet (trozet@redhat.com, IRC: trozet) We give committer rights based a history of contributions over time. We typically at least expect committers to have: * Contributed a substantial number of quality patches to relevant upstream projects. * Given quality code reviews to relevant upstream projects over an extended period of time. * Shown a solid understanding of the relevant version control, issue tracking, continuous integration and project governance systems. === Contributors === * Sandeep Gangadharan (sandeep.gangadharan@hp.com) * Al Morton (acmorton@att.com) * Carol Sanders (carolsand@gmail.com) * Nitin Agarwal (nitinagarwal3006@gmail.com) * Praveen Mala (praveen.mala@intel.com) * Kailash Khalasi (kkhalasi@iix.net) * Venkatrangan Govindarajan (venkatrangang@hcl.com) * Vasanthan Balasubram (vasanthan_balasubram@dell.com) * Zhanghaoyu (zhanghaoyu7@huawei.com) You don't have to be an "official" Contributor to contribute to cperf! The people above have documented that they explicitly hope to contribute to cperf, but that's optional - all contributions are equally welcome. You don't need to ask permission to add yourself to the list of contributors above. ==== Planned Deliverables ==== As described in detail in the Scope section, the cperf project will strive to contribute its changes back to upstream communities. These "deliverables" include additional performance testing logic, improvements to ODL+OpenStack automated deployment tools and feedback+data to academic and standards communities. ==== Proposed Release Schedule ==== The cperf project doesn't necessarily need to "release" artifacts. Its output will consist of contributions to upstream projects (ODL perf tests, OPNFV automated deployment logic, etc) and performance data for consumption by academic/standards communities and the profiled projects. Any logic hosted in the cperf repository will be versioned and released according to [[http://semver.org/ | semantic versioning]], which can additionally aline with OPNFV's release cadence. ===== Key Project Facts ===== ** Project Name: ** Controller Performance Testing (cperf) \\ ** Repo name: ** cperf \\ ** Project Category: ** Integration & Testing \\ ** Lifecycle State: ** Incubation \\ ** Primary Contact: ** Daniel Farrell \\ ** Project Lead: ** Daniel Farrell \\ ** Jira Project Name: ** Controller Performance Testing \\ ** Jira Project Prefix: ** cperf \\ ** Mailing list tag: ** cperf \\ ** Committers: ** \\ Daniel Farrell, dfarrell@redhat.com, IRC: dfarrell07 \\ Luis Gomez, ecelgp@gmail.com, IRC: LuisGomez \\ Jamo Luhrsen, jluhrsen@redhat.com, IRC: jamoluhrsen \\ Marcus Williams, marcus.williams@intel.com, IRC: mgkwill \\ Tim Rozet, trozet@redhat.com, IRC: trozet \\ ** Link to TSC approval: ** [[http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-09-01-13.59.log.html | TSC vote]] \\ ** Link to approval of additional submitters: ** None \\