perforce webinar clear-case_jb[2]

23
© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only. A Free AAA Game Engine Deeply Integrated with AWS and Twitch Replacing ClearCase Lessons Learned from Cadence Design Systems

Upload: perforce

Post on 21-Jan-2018

13 views

Category:

Software


0 download

TRANSCRIPT

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

A Free AAA Game Engine Deeply

Integrated with AWS and Twitch

Replacing ClearCase

Lessons Learned fromCadence Design Systems

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Presenters

Cindi HunterDirector of Configuration Management

at Cadence Systems

Tom TylerSenior Consultant

at Perforce Software

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Agenda

1

Intro

2

SPB Organization

3

Deployment Plan

4

Migration Strategy

7

Training

5R&D DevelopmentModel Integration

6Build and

System Integration

8

Go Live Switch

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

SPB Organization

• SPB Organization• A comprehensive set of tools to allow customers to design PCBs.• For additional product information:

https://www.cadence.com/content/cadence-www/global/en_US/home/tools/pcb-design-and-analysis.html

• Supported R&D Sites• Chelmsford, India, Shanghai, Ottawa, San Jose

• VOBs• 49 VOBs split between Noida and Chelmsford

• Ranging from 61 MB to 33GB • Total of 276.6 GB• VOB Servers - Solaris Sparc

• Users – 169• Supported Platforms

• Linux (Red Hat 5.5 & Red Hat 6.5+)• Windows (all flavors)

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Requirements

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Hardware Architecture Deployment

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Migration

• Strategy – Migration Options

• Baseline & Branch Import (BBI)

• Allowed development of build & R&D environment to be done in parallel with the migration activity.

• Detailed History Import (DHI)

• Complete import of code and history from each VOB.

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Migration continued

• Process for each VOB• Local VOB with high end servers for migration runs.

• Flow• Sync latest data form VOBs.

• Run migration script.

• Diff each release with live VOB.

• Capture time.

• If transform failed or diff > 10% review migration script, modify, and repeat.

• Build release branch & PV regression runs.

• Ran 3 dry runs before final production run.

• Signoff• This process was repeated for 3 months with the failure rate of > 10% narrowed

down to 9 VOBs.

• Each difference was known and would be forced in once the official migration was complete.

• Go Live• Processing time: 276 hours divided between 2 machines.

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

R&D Flow

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Branching Methodology

Hotfix/Qir/Dev Stream Overview

Legend:

Rel = Weekly CM qualified builds: hotfix and production releases.

Dev = Nightly R&D builds for internal development

Release Order (new to old): 17.42 / 17.41 / 17.40 / 17.22 / 17.21 / 17.20

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Mapping ClearCase to Perforce to Terminologies

CLEARCASE PERFORCE

Vobs Depots

ViewsClients / Workspacesmore like CC snapshot views

Cset - branchTask stream + Job + Client(s) +

branch mapping

Branching on need basis Forced branching

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Create CSET

(private branch)

Modify code

Create CSET

(private branch)

Deliver to

DEV branch

Commit CSET

to REL

Ready for

Integration

build

Create CSET

task stream / job / client

Modify code

Create CSET

(private branch)

Deliver to

DEV branch

Commit CSET

to REL

Ready for

Integration

build

Development Flow

AfterBefore

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Build & System Integration

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

SPB Build Flow

Create a build view

Gather CSETS

submitted for build

Integrate the changes

Run regressions

Release build for

general use

• No change to the high-level flow with Perforce

• Integration of changes straightforward

• ClearCase – labels were used

• Perforce – copy of files from the DEV to the REL branch

• Additional step of populating build workspace with source code added 45 min to the overall process

• 3277 include / source files

• 996 build modules (progs/dlls)

• 3.3 GB

• Disk space demands increased

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

System Integration

• Integration of Development Tools

• Bug tracking system, CCMS (internal tool)

• Continuous integration builds & automation

• IDEs including Microsoft Studio Developer

• User scripts and utilities

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Training & Go Live

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Final Phase

• Training

• 3 training sessions were available in the final week.

• All sessions were recorded.

• Average length of session was four hours:

• Part 1 – General information including new flow, process, and overview.

• Part 2 – Workshop for users to play with the test environment.

• Go Live

• Final migration was started two weeks prior to go live date.

• Same process of complete DHI, validation of latest pull, diffs noted

• Three days: the production server updated with latest changes.

• Missing files from each VOB brought in by hand.

• Handouts and cheat sheets were provided to each user.

• Impact to R&D’s productivity was approximately two weeks.

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Background

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Tool Set Development

• Developed 1-1 tool mapping between old and new environment

• Added a “p4” to each tool

• Example deliver changed to p4deliver

• Simplifed transition

• Introduced Perforce templates to simplify the content visible to the engineer in the workspace

• Numerous APIs available to integrate existing tools

• C, C++, Perl, Python (See Perforce.com for additional information)

• Able to define an SCM solution for entire software development flow

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

System Administration

• Hardware solution is scalable regardless of Company size or location

• Maintenance

• Easy to upgrade, backup, and recover

• Less resources for administration duties

• ClearCase required 2 resources ¼ time to support VOBs in India and Chelmsford

• Today 1 resource is responsible for supporting 4 business units 400+ users world wide

• ClearCase Upgrades were time consuming and complex

• Cost

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Standards & Training

• To ease the transition we kept the use model for development the same

• Naming conventions for workspaces and templates were defined

• simplified tool development and web reports

• All tools had “p4” appended to allow the user to identify the new tools

• Training plans were agreed upon upfront

• BU decided to dedicate 1 week for training and practice

• Active development continued but local only

• Migration / Training done in parallel

• Due to product dependencies we had to move all groups at once

© 2017 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Recap

• SPB’s Transition from ClearCase to Perforce included a large data set with historical data dating back over 20+ years. Very scary and overwhelming.

• Recommendations:

• Define comprehensive requirements for the entire project

• Plan your hardware deployment up front

• Perforce is scalable which makes it easy to grow

• Define the migration strategy that works for you

• Development environment (R&D, build, and system integration) and migration can be done in parallel

• Develop solid training and a go live plan that meets everyone’s needs including the business.

• Keep it simple by using the technology that Perforce has to offer. A robust automated SCM solution using Perforce can be achieved.