OpenDaylight branching analysis Stephen Kitt, Robert Varga– 2016-01-11.

Slides:



Advertisements
Similar presentations
Cross-Border Infrastructure: A Toolkit Tariff and Rate Setting Session on Regulation & Accountability Max Bradford Castalia The views expressed here are.
Advertisements

Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.
Waterfall Model H.M.Shahzad MS(CS) from COMSATS Institute of Information Technology, Lahore.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
1 / 16 CS 425/625 Software Engineering Software Configuration Management Guest Speaker Jim Hunt November 17, 2008.
UML Activity Diagram. Activity Diagram  The main reason to use activity diagrams is to model the workflow behind the system being designed.  Activity.
The Product Owner prioritizes the requirements or features through feedback from the Stakeholders & interaction with the core team The Team.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Overview of Git Workflows for CSE Software Trilinos Spring Developers Meeting May 13, 2015 Roscoe A. Bartlett Oak Ridge National Lab Computational Eng.
Software Testing Online Training DEFECT TRACKING & CORRECTION
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
1 Software Construction Software Construction Chapter 1.
Hands-On Microsoft Windows Server 2003 Administration Chapter 2 Managing Windows Server 2003 Hardware and Software.
Tracking The Problem  By Aaron Jackson. What’s a Problem?  A suspicious or unwanted behavior in a program  Not all problems are errors as some perceived.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
OpenDayLight – “autorelease” tool and process Jun 2014 Giovanni Meo 1.
Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon,TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery,Sr.
Branching. Version Control - Branching A way to write code without affecting the rest of your team Merge branches to integrate your changes.
Regression Testing. 2  So far  Unit testing  System testing  Test coverage  All of these are about the first round of testing  Testing is performed.
Test-Stable Tag Process 1.For each active release branch there will be a pre-defined CVS Test Tag maintained by TOG. An active release branch is any OpenPegasus.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Rick Lopez, Director of Quality Engineering Rainya Mosher, Dev Manager, Deploy Infrastructure Deploying from OpenStack Trunk into a Production Environment.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
© 2014 Dbvisit Software Limited | dbvisit.com Welcome to Dbvisit Replicate Migrations Overview.
Code and Asset Branching Best Practices Session 315 Philip Wolfe, Lead Developer Farm Credit Services of America.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
+ Moving Targets: Security and Rapid-Release in Firefox Presented by Carlos Bernal-Cárdenas.
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
ATA/SE-SQM/OM-4/Workshop 1.PPT/V3.1 Slide 1 of 105 © 2010 NUS. All rights reserved. Master of Technology in Software Engineering Workshop 1: Content Management.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
A Git Workflow Model Slides produced from blog by Vincent Driessen and secondary posting at The.
USM - IT BRANCHING PRESENTATION. Branch copying a codeline to create a new one codelines evolve independently //depot/main/...
Top Gun 2007 Hyperion Planning for the Non-Planning Consultant Dave Whittaker Senior Consultant Americas Technical Services.
ARC PARTNERSHIP PRESENTATION – SEPTEMBER 21, 2010 BY CARL P. MAERTZ, JR., PH.D. JOHN COOK SCHOOL OF BUSINESS SAINT LOUIS UNIVERSITY Contact at:
Savannah ROOT in JIRA Petya Petrova PH/SFT. LCG Savannah is retiring Reasons: o Code based on dead GNU Savannah branch o Technology and methods evolved.
Cruise Training Introduction of Continuous Integration.
Project management Topic 8 Configuration Management.
Decibel: The Relational Dataset Branching System
Development and deploy procedures ver. 1.0 Addition / ITU / Cohaesio Addition extends document ”gemini resolutions in a 3 server setup environement” ver.
Cyberinfrastructure Release 2 Production Readiness Review 12 December 2013.
USDA 2016 Financial Management Training Transforming Shared Services Change Management Presented by Ron Gros.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Founded by Big Five Consulting ex-employees Oracle Gold Partner Focus on PeopleSoft 15 years of PeopleSoft experience Worked in both technical and functional.
 A life cycle of product development is commonly referred as the “model”  A simple model contains five phases  Requirement analysis  Design  Development.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
Version Control How and why to control changes in a software artifact.
Version Control for PL/SQL
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Welcome to Dbvisit Replicate
OPEN-O CSIT Infrastructure
LECTURE 2: Software Configuration Management
Cross Community CI (XCI)
Branching Strategies for Web Development: Functionality vs. Content
Branching Strategy.
Currently in trunk Name: testsupport Version: 0.4-SNAPSHOT
Release Process June 11, 2017.
Maintaining Quality Test Optimization with Increasing Software Complexity Ankit Goyal Software Engineer II Adobe Systems.
office product key|
LECTURE 3: Software Configuration Management
Figure 6-4: Installation and Patching
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Agile Evolution - We Heard Your Feedback Current Plan
Adaptive Product Development Process Framework
Branches And Releases Branch for Urgent Bug Branch for Feature A
Presentation transcript:

OpenDaylight branching analysis Stephen Kitt, Robert Varga–

Intro Based on October/ htmlhttps://lists.opendaylight.org/pipermail/release/2015- October/ html Analysis at 2

Basic assumptions All projects divided into three groups Offsets or kernel/protocols/apps How projects are grouped is not relevant Each group has its own development cycle Per-group ‘autorelease’ setup Inter-group dependencies are strictly on released artifacts Intra-group dependencies are strictly on SNAPSHOT artifacts 3

Simplistic* three-project illustration 4 Yangtools master Yangtools stable/boron YT release YT release propagation Mdsal master MDSAL release Controller stable/boron Controller master CTRL release YT+MDSAL release propagation *) Does not account for how the autorelease looks

Per-group autorelease contents Upstream groups’ artifacts on their released version Upstream delivers fixes via stable releases This group’s artifacts on SNAPSHOTs Downstream artifacts on SNAPSHOTs Previous version + any modifications to make integration work ‘integration branch’ Never actually released

The ‘integration branch’ Actually a per-group collection of per-project branches Created for each new release cycle using latest release artifacts Contains fixes to make the component work with upstream development “Owned” by its group projects Similar rules to autorelease participation Upstream can decide to drop a downstream project to get unblocked Retired when the group performs a release Available for cherry-picks and merges into downstream

Risks Release artifact propagation occurs between groups Propagation blocked until all projects in downstream group complete … or are thrown out of the release, which affects their downstream What is the integration window? Issues reported by downstream has to be prioritized If ‘integration-critical’ bugs are raised, upstream dev cycle is interrupted May be reasonably predictable How important is upstream? Issues encountered by upstream integration need to be analyzed/fixed Disrupts downstream dev cycle to analyze bugs Project dropped from integration branch in limbo until fixed, along with all its consumers

Mitigation Smaller groups Faster integration Less functionality skew Semantic versioning ‘Free’ minor upgrades Faster releases Less ‘delta’ between integrations Different development workflows?