Www.opendaylight.org Versioning and Automated Weekly Releases.

Slides:



Advertisements
Similar presentations
By Rick Clements Software Testing 101 By Rick Clements
Advertisements

Project Proposal Anton Tkacik, Lukas Sedlak
DireXions – PVX Plus Sales and Marketing PVX Plus Sales and Marketing Presented By David Twiddy.
© Leaf Solutions, LLC. All Rights Reserved What’s New in Everett Microsoft.Net V1.1.
Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.
Jenkins User Conference San Francisco, Oct 2nd 2011 Continuous Deployment with Gerrit and Jenkins R. Tyler Croy Lookout, Inc.
Know the Difference™ Incident Investigation Solution Martin Perlin Marketing Director, Evolven A HIGH STAKES RACE AGAINST TIME Prevent high impact IT environment.
Infinispan based MD-SAL Data Store POC
Maven: Build and project management in the 21th century.
Lab Manager Maintenance July, 2008 VMware Confidential Lab Manager 3 Training Series Module 9.
SNMP Plugin TSC Update December,
Software Testing Test Design and Implementation. Agenda Test Design Test Implementation Test Design Sources Automated Testing 2.
Test Automation: An Architected Approach Dan Young March 17th, 2005
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Version control Using Git 1Version control, using Git.
WRA /16/13 HTML VALIDATION & HTML5. TODAY’S AGENDA Overview of new objects: lists, tables Overview of metadata: meta tags, comments History of the.
OpenDayLight – “autorelease” tool and process Jun 2014 Giovanni Meo 1.
Version control Using Git Version control, using Git1.
Getting Started with the PowerShell.org DSC Toolkit Jason Hofferle
Transaction Communications Yi Sun. Outline Transaction ACID Property Distributed transaction Two phase commit protocol Nested transaction.
…using Git/Tortoise Git
Created by Jan Medved Integration & Test Strategy for Lithium.
RMS Importer Status MACS Week March 2011 PP b-ABR_RMSImporterStatus Angela Brett RMS Importer Status 1.
Distributed Transactions
Clue data model Design team meeting 30/09/2014 Roberta Presta, Simon Romano.
DB2 Universal Database Confidential | July 2012 | India Software Lab Click to add text © 2012 IBM Corporation An End to End Windows Automation Framework.
Created by Jan Medved Integration & Test Strategy for Lithium.
Versioning and Automated Weekly Releases.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Maven for building Java applications By Nalin De Zoysa
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
1 © Cable Television Laboratories, Inc Do not share this material with anyone other than CableLabs Members, and vendors under CableLabs NDA if applicable.
UAB Versioning: Definition 1 07/05/2014. Summary UAB component definition UAB component release UAB component query UAB component installation Create.
OCTOPUS. CONTINUOUS INTEGRATION CI is a software development practice which requires all the developers integrate their work into master frequently. Some.
APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett.
Copyright Vincent Massol 2006 – All rights reserved Panorama of Quality Features in Maven2 Vincent Massol, 11 July 2006
Process changes: Internal processes of CASA, external contributions, release schedule Mark G. Rawlings, CASA Build & Test Lead NRAO, Charlottesville Acknowledgements:
ISO 9001:2015 Subject: Quality Management System Clause 8 - Operation
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
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.
The Maven Alfresco SDK™ At the end of a journey, there is always a new beginning…
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.
1 A New Soar Editor Miller Tinkerhess University of Michigan.
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
HPE ALM Octane.
Open-O Integration Project Introduction
Essentials of UrbanCode Deploy v6.1 QQ147
CQAA Automation Meetup
Open-O O-Parent Project Proposal
prepared by hasan.we4tech.com
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
draft-clacla-netmod-yang-model-update-02
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Introduction of Week 6 Assignment Discussion
Product Pipelines Swapnil Gupta – QA Manager
Automated Parser Generation for High-Speed NIDS
Automation execution portal for Customer-Partner businesses
Zlatko Stamatov JavaSkop 13 December 2015
Balazs Lengyel, Ericsson
Current State Problem of Multiple Data Sources
Automated Testing and Integration with CI Tool
JENKINS TIPS Ideas for making your life with Jenkins easier
Software Verification, Validation, and Acceptance Testing
Approaches Taken by Two Large Scale Open Source Projects
Version Control with Git
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
WF 305: Automating Records Management with Workflow
Interoperability Testing
Presentation transcript:

Versioning and Automated Weekly Releases

There are over 250 bundles carrying different versions in OpenDaylight Automated release process using maven release plugin does not work reliably because of the way current pom files are structured When it is time to release, lot of time is wasted fixing pom files manually which makes the release very error prone Current Challenges 2

Multiple parent pom’s within a given module  For example, mdsal in controller project has 2 parents: sal- parent at version: 1.1-SNAPSHOT and compatibility parent which is also at 1.1-SNAPSHOT. Both of these parents are pointing to another parent which is at SNAPSHOT. Bundle versions not derived from the parent  In UserManager pom file, the parent version is defined as SNAPSHOT but the bundle version is SNAPSHOT Cross project dependencies listed directly in the Bundle POM instead of deriving it from the parent Current Challenges – Few Examples 3

Proposed Solution - Overview 4

Have only one version per project/git repo Have only one parent per project unless otherwise necessary Define a global pom which is common to all the projects participating in simultaneous release This global pom will maintain the release version which could be $MAJOR.$MINOR-$BUILD_NUMBER All sub-project’s parents will inherit the global pom file Proposed Solution 5

Project dependency versions have to be defined as properties in the parent pom and should not be hardcoded in the module pom’s Schedule automated weekly release for each project participating in simultaneous release using maven versions plugin + maven release plugin + Jenkins Use consistent naming convention for git tags for all projects in simultaneous release Proposed Solution 6

Current Maven Dependency tree 7

Future Maven Dependency tree 8

Demo

After the pom files are re-structured and release automation is in place, there is a possibility that pom files can get into similar situation very quickly. To prevent this from happening, we can have a gerrit pre-commit gate that validates the pom files, if a pom file is part of the commit. If the pom file does not meet the criteria, jenkins verification build will fail for that particular project Future Considerations 10