Www.opendaylight.org Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.

Slides:



Advertisements
Similar presentations
Goal Setting Learning to Work Efficiently and Effectively.
Advertisements

Continuous Integration (CI) By Jim Rush Version Control Build Test Report.
Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.
Chapter 4 Quality Assurance in Context
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
{ Dominion - Test Plan Version 1 – 22 nd Apr Aravind Palanisami.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Notes on the Game Development Process
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
Project Planning with IT Y/601/7321
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
SOA-14: Continuous Integration in SOA Projects Experience from the field Andreas Gies Principal Architect.
Systems Development Life Cycle Dirt Sport Custom.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Identify steps for understanding and solving the
OpenDayLight – “autorelease” tool and process Jun 2014 Giovanni Meo 1.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Created by Jan Medved Integration & Test Strategy for Lithium.
Created by Jan Medved Integration & Test Strategy for Lithium.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
1 © Cable Television Laboratories, Inc Do not share this material with anyone other than CableLabs Members, and vendors under CableLabs NDA if applicable.
Created by Jan Medved Integration & Test Strategy for Lithium.
Versioning and Automated Weekly Releases.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Module 5 Session 5.2 Visual 1 Module 5 Refining Objectives, Scope, and Other Project Parameters Session 5.2 Reviewing the PAR and refining key project.
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
Version Control and SVN ECE 297. Why Do We Need Version Control?
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Cruise Training Introduction of Continuous Integration.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Versioning and Automated Weekly Releases.
Review for Eclipse Release Review | © 2012 by Review for Eclipse Committers, made available under the EPL v1.0 1 Review for Eclipse (R4E) 0.11 Release.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
PRODUCT - ORGANIZATION - AGILE - LEAN CD - Agile on Steroids - (and what Jenkins got to do with it) Paul Bakker linkedin.com/paulgbakker github.com/p-bakker.
Optimizing the Approach
Implementing Cloud-based Agile Team Development - Lessons Learned
Open-O Integration Project Introduction
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Office 365 Security Assessment Workshop
Dilbert Scott Adams.
Continuous Delivery- Complete Guide
Global Grid Forum GridForge
OpenDaylight Packetcable Plugin Working Group Call
Mr. Gerkins InnerSource's first open tool
Open-O O-Parent Project Proposal
Jenkins and Azure OPEN322 Michael Friedrich.
Version Control System
Onboarding Session Victoria Martinez de la Cruz (vkmc)
Continuous Integration For Databases
X in [Integration, Delivery, Deployment]
Simplified Development Toolkit
Automated Testing and Integration with CI Tool
Continuous Delivery good & bad 4/20/2012
Sr. Developer Cloud System - Architecture
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
JENKINS TIPS Ideas for making your life with Jenkins easier
Continuous Integration
Adaptive Product Development Process Framework
For Community and TSC Discussion Bin Hu
Software Development Life Cycle (SDLC)
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
Samir Behara, Senior Developer, EBSCO
Presentation transcript:

Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho

Content 2  Opendaylight release (Ed, George)  Lessons learned ( Colin, Robert)  Proposal for Lithium release  Release process, schedule and milestones (George, Robert)  Auto-release move to Gerrit? (Ed)  A La Carte download portal (Mathieu)  Quality of project (An, George)  Other discussions (version control, introducing Gradle, Zuul etc)

 Auto-release in Hydrogen Build locally Cannot handle mutual dependencies Use maven version plugin, release plugin and wagon plugin  Auto-release in Helium auto-release-helium-worker: the main auto release scripts auto-release-helium-test: time control, no publish artifacts auto-release-helium-nightly: publish artifacts auto-release-helium-release: publish to staging, no date suffix Opendaylight Release 3

Current Release Pipeline 4 OpenDaylight Project A Milestones and Stages Release OpenDaylight Project B Milestones and Stages Release OpenDaylight Project C Milestones and Stages Release 09/14 08/14 06/14

Current Release Pipeline 5 What’s wrong with this pipeline?

Current Release Pipeline 6 All projects race to finish line at the same time!

Current Release Pipeline 7 Problem is … Inter-project dependencies some things need to happen before others!

Current Release Pipeline 8 Outcome … cat hearding, pain and… last minute BUGS..

Suggestion 9 No more simultaneous release!

Create a Gated Release Pipeline 10 09/14 08/14 06/14 Gate 1 Gate 2 Project A Gate 1 Gate 2 Project B Gate 1 Gate 2 Distribution

What is missing?  Proper Modularity  Tools to get proper insights on “Gates” (Gates can be documentation, test code coverage, etc.) It should also help classify and promote the projects.  Continuous Deployment  Some changes to automated release  Pipeline management…

Goals  Fail often and Early (catch CI failures faster for integration work)  No rush at the finish line  Less wasted time for everyone  Better Docs

 Details in Opendaylight wiki: Lithium Release PlanOpendaylight wiki: Lithium Release Plan  We should make it clear that participation in Service Releases is not optional  We should make it clear what we expect in terms of timely responses from project primary contacts for a release  We need a longer time between code freeze and release candidates because developers don't focus on tests (especially system and integration tests) until after code freeze  Status reports for each milestone should include more than a Boolean for tests  In general, the templates for status reports should probably be developed more in advance. Lessons Learned 13

 Moving to new infra, toolchains, etc. is really painful  This time it was karaf, docs, next time it will be…  Gradle, new version of maven, etc.  Possible solution, is to declare the things we need to use several months out  Phil points out that when we add things, we need to either make it optional or push release dates out  Need how tos written for this stuff before it’s even suggested  The milestones are broken  We can’t be taking 3 months to get to the point that we’re doing integration testing  Maybe we should have it be the case that people are already working on and maybe finishing up the features for the next release during this one  A lot of discussion of “core” code and how to differentiate them from leaf or incubation  Only release mature/core code  Other projects can release as “ancilliary” parts that tag along  Service releases are something we’ve yet to do  We eally need to make sure core/mature/etc. is not on a project granularity Problems We Agree On 14

 We really need somebody who groks the things that need to be accomplished at each milestone and can take a glance at the code and jenkins jobs for each project to get an idea of whether they're on track or not.  Requirements to meet at different stages (and especially RCs) should be set and enforced with clearly explained consequences for missing them  We need to pre-declare when RCs and final release artifacts will be cut (both dates and times for clarity)  Need to add an EOL-plans section to release plan to understand user impact of EOLed features/components/APIs at the start of a development cycle Lessons Learned (cont.) 15

 Feedback and suggestions from lessons learned discussion.  Longer time between code freeze and release? M5 3/23/2015 RC0 3/30/2015  Stable branch cut at RC0 instead of after release? Currently auto-release will pick up whatever check in HEAD Release Process for Lithium 16

 Version Control  Put autorelease scripts into Gerrit.(?)  Scripts modification should go through Gerrit peer review process.  Enforce versioning control and release control.  Tag trigger Release Build  Cut stable branch at RC timeframe and tag trigger release verification.  Regular Builds  How and strategy to maintain three regular builds. Hydrogen, Helium and later Lithium.  Add two VMs to Jenkins/autorelease Autorelease 17

 Do we put this into release project (github)?  How do we update and test it automatically? A La Carte Download 18

 Portal  Have a central web portal with an overview of the project status and release status  This should be used for release decision.  Data Driven  Portal should give people an objective fact based summary of project quality based on criteria such as  Number of Defects Open  Number of Static Analysis Violations  Percentage of Code Coverage  Visualization  Portal should display data in a manner that is easily consumed. Quality of Projects 19

Quality of Projects 20

 Release project for Lithium? (do we need one?)  Release milestone dates modification? (if yes, which one?)  Release policy (template, enforce milestone, declaration…)  Other Discussions 21

 Contact:  Mailing List:  IRC Channel: #opendaylight-release Interested? 22

Thank You