How RDK Code Management Works
Philip Brennan, VP TV Technology, S3 Group
philip.brennan@s3group.com
1. S3 Group Overview
2. Code Management Facility (CMF) Goals
3. Scope and Process Flow
4. Interacting with CMF – Licensee’s View
1. Accessing Releases
2. Making Contributions to Existing Components
3. Seeing the Status of these Contributions
4. New Component Contributions
5. Support
6. Summary
Agenda
TV Service Introduction and Optimization
 Code Management: Generic and MSO specific
 Consultancy: Platform Realization
 Test Automation: industry leading StormTest®
 System Integration: Full TV platform
Overview S3 Group
Digital TV Expertise
 Cable, Satellite and IPTV
 Deep Domain Expertise of Digital TV
Technologies – Head-End through to CPE
 Technology-driven solutions for the
industry’s most complex and innovative
initiatives
Strong Ecosystem Relationships
Global Reach
 100 TV customers in 28
countries
 Delivering Digital TV to 150M+
viewers
 Staff in 10 countries
Tier 1 MSOs:
Leading
Vendors:
• A vibrant, successful RDK community
• Streamlined and robust processes
• RDK source and documentation in safe hands
• Everyone getting what they need in the time they need it
• Efficiency built on the foundations of automation
and scalability
• Protection for what is important, freedom for
participants to be creative
CMF Goals
Scope / Process Overview
Triage
Changeset
Dashboard
Integration
Engineers
Component Owners
Code Reviewers
Contributors
Release
Manager
Component
Build
Component
Test
RDK CM RDK CM
AggregationIntake
System
Build
Test Merge Release
Release
Test
Code Management Facility
• Fully integrated tool chain
• Tightly coupled workflows
• Automated build and quality assurance processes
Contributors CPE Developers
Code Management Platform
Code Management Facility
• Fully integrated tool chain
• Tightly coupled workflows
• Automated build and quality assurance processes
Contributors CPE Developers
Code Management Facility
• Fully integrated tool chain
• Tightly coupled workflows
• Automated build and quality assurance processes
Contributors CPE Developers
SCM Repository
Continuous Integration
Code ReviewOpen Source Review
Issue Tracker
Compute and Storage
Test Program Management
TDK
Code Management Facility
• Fully integrated tool chain
• Tightly coupled workflows
• Automated build and quality assurance processes
Contributors
SCM Repository
Continuous Integration
Code ReviewOpen Source Review
Issue Tracker
Compute and Storage
Test
CPE Developers
Program Management
TDK
Code Management Facility
• Fully integrated tool chain
• Tightly coupled workflows
• Automated build and quality assurance processes
Contributors
SCM Repository
Continuous Integration
Code ReviewOpen Source Review
Issue Tracker
Compute and Storage
Test
CPE Developers
Program Management
TDK
Interacting with CMF
– Licensee’s view
Triage
Changeset Dashboard
Integration
Engineers
Component Owners
Code Reviewers
Contributors
Release
Manager
Component
Build
Component
Test
RDK CM RDK CM
AggregationIntake
System
Build
Test Merge Release
Release
Test
• From the CMF Link on the RDK Wiki Home Page you will find:
 CMF Overview
 CMF Prerequisites
 Step by Step Guides on:
 How to Get Code from the CMF - Releases
 How to Make a Contribution to an Existing Component
 How to Report a Component Defect
 How to Add a New Component
 CMF Web Portal
 CMF Help Pages
Getting Started
 Used for multi-repository access
 All components in one go
 Link on RDK Wiki
How to Get the Code
Git clone urls
 Used for single component access
 Available directly in Gerrit
Repo tool & manifest.xml
Trunk (git master)
Contributions
tag
Release branch
Hot Fix Contributions
• Choose Code:
 Trunk
 Release
• Choose Access Method:
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
CMF Web Portal
1 Open JIRA Ticket
Open ticket1
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
CMF Web Portal
1 Open JIRA Ticket
Open ticket1
1 Open JIRA Ticket
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
CMF Web Portal
2 Git Clone
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
CMF Web Portal
2 Git Clone
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
CMF Web Portal
3 Dev, Test, Commit
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
CMF Web Portal
4 Push for Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
CMF Web Portal
4 Push for Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
CMF Web Portal
4 Push for Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component
Owner
Manual Review5
CMF Web Portal
5 Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component Owner
Manual Review5
CMF Web Portal
5 Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component Owner
Manual Review5
CMF Web Portal
5 Review
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component
Owner
Manual Review5
CMF
Verification
BlackDuck
Component
Build & Test
System
Build & Test
Automated
Verification
6
CMF Web Portal
6 Verification
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component Owner
Manual Review5
CMF
Verification
BlackDuck
Component
Build & Test
System
Build & Test
Automated
Verification
6
CMF Web Portal
6 Verification
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component
Owner
Manual Review5
CMF
Verification
BlackDuck
Component
Build & Test
System
Build & Test
Automated
Verification
6
Merge7
CMF Web Portal
7 Merge
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component Owner
Manual Review5
CMF
Verification
BlackDuck
Component
Build & Test
System
Build & Test
Automated
Verification
6
Merge7
CMF Web Portal
7 Merge
CMF Contributions
Contributors
CMF
Gerrit
CMF
Git
Repos
Jira
Open ticket1
Git
Clone
Clone2
Develop,
Test,
Commit
3
Push4
Review
• Comment
• VoteReviewers
Component Owner
Manual Review5
CMF
Verification
BlackDuck
Component
Build & Test
System
Build & Test
Automated
Verification
6
Merge7
CMF Web Portal
7 Merge
Adding a New Component
1. Prerequisites
1. Will need to have a MVPD Sponsor who will Deploy the Contributed Component
2. Will need to Complete the “Code Contribution License Agreement”
2. Required Deliverables
1. API and Users Guide documents
2. TDK Test Cases to validate the Component
3. Name and Contact Information for the Component Owner
4. Required Build Files/Scripts
5. Short Training Video for the module - Recommended
3. Steps
1. Open a JIRA ticket in RDK Tracker - Issue Type = Add New Component
2. RDK Management LLC will review
3. If successful, CMF admin will do required changes to CMF set up
4. RDK contributor to use the Contribution process
Support
• General Support Issues
 Raise a JIRA ticket in your Company Specific Project
 Itaas will Triage and Escalate to Correct Support Team
• Code Management Facility Support
 Step by Step Guides Available from CMF Link on RDK Wiki
 Help Pages with FAQ and Screen Shots
 CMF Support Issues:
 Raise a JIRA ticket in RDK Tracker
 Issue Type = Code Management Facility
Summary
• Significant effort has gone into establishing world-class processes
and integrating leading-edge tools
• Designed to support a global community, with intake and release
mechanisms that are user-centric
• Streamlined and robust code processing, that provides community
members with high transparency
• Protection for what is important, freedom for participants to be
creative
To learn more visit the S3 Group stand
philip.brennan@s3group.com

S3 Group on Code Management - RDK Users Conference 2014