The challenge for developers who work with large volumes of data such as multimedia assets, video game art, and firmware designs, etc., is the ability to get a quick copy of source and build assets. By combining the technologies of Perforce and NetApp, a new Perforce workspace can be created in minutes instead of hours. Perforce in collaboration with NetApp has developed a p4 broker script written in Python that allows users to create workspaces quickly using NetApp FlexClone technology.
5. Faster TTM Depends on..
Developers Focus on
• Code & Testing (Unit/Smoke tests)
• Maintain Version Control
• Continuous Integration
• Automate as much as possible
Build environments should be
• Faster & Scalable
• Builds can be repeatable and reliable
• Every build should be a release
candidate
Images by xkcd.com
8. P4 Flex Team
8
PM Clary
Technical Account
Manager
Lawrence Bunka
Sr. Product Strategy
Manager
Tim Brazil
Performance
Engineer
Paul Allen
Senior Integrations
Engineer
Narjit Chadha
Solutions Architect
Bikash Roy Choudhury
Principal Architect
9. P4 Flex Overview
What is it?
• P4 flex is an open-source p4broker script which
is shared to the developer community to refine
and customized to their own environment.
• A starting reference
10. P4 Flex Overview
Support
• Support is through the developer community
forums in which Perforce and NetApp are
members.
• Posted on Perforce Workshop
• Currently only supports Linux and NFS
environments.
12. Requirements
In order to be able to utilize P4 Flex the following is
required:
• Python 2.6 or later
• P4 Python 2.6 or later APIs
• NetApp Manageability Software Development Kit (NMSDK) 5.3.x or
later
• NetApp RESTful API services will be available in May 2016.
13. Pre- Requisites
To use P4 flex, the following are assumed.
• SERVER
- P4D Server is installed and running
- P4Broker installed
- LDAP is running or an existence of user accounts and authentication
management.
- NetApp Cluster Mode Storage Data ONTAP 8.x is used with FlexClone
and NFS license enabled
• CLIENT:
- NFS Client is running on client box
- NetApp volume is mounted on client box
- The "p4 client" is installed.
14. Workflow
Create a Volume & add content
Snapshot a Volume
Cloned by a User
Clean up
15. Workflow
Volume snapshot 1 snapshot 2 snapshot 3
clone at
snapshot 1
clone at
snapshot 3
Bob
Joe
User’s clones created at snapshot on the Volume
16. Workflow
1. Create a Volume, add content
p4 flex volume -s 1G projVolume
-Create and Mount the volume at:
/p4/projVolume
2. Snapshot the volume
p4 volumes
p4 flex snapshot -VprojVolume snap1
- Creates a snapshot and hidden Perforce workspace
to manage the have list.
NetApp is a Fortune 500 global provider of software, systems and services that help you manage and store data. We were founded in 1992.
We have more than 12,000 employees in 150 countries, as well as a vast network of partners to meet your needs around the world.
We have a strong portfolio of Intellectual Property, including 200 patents in the hot area of flash technology alone.
When we look at what drives decisions at the top, they fall into two categories: the left side is about risk mitigation and cost reduction. The right side is about speed and scale – or, in a word, opportunity.
It is easy to just focus on mitigating the bad things – like eliminating downtime or reducing costs. These are important aspects of what we need IT teams to do.
But we need to be talking about opportunity, too.
Most of our customers spend as much as 85% of their annual IT budgets addressing decisions they made in the past. All of them are looking for ways to focus on the ‘Opportunity’ that enables your business to move more quickly and with greater scale.
If you are successful in the initiatives that drive growth and success, then you can help make great things happen for your business.
Each development environment is unique and may have requirements of security, control, workflow, etc. Thus this script is meant to be only as a starting reference which can be enhanced to support requirements of customer’s specific development environment.
Each development environment is unique and may have requirements of security, control, workflow, etc. Thus this script is meant to be only as a starting reference which can be enhanced to support requirements of customer’s specific development environment.
The p4 flex script is written in python and is run in behalf of the user by the p4broker. Consists of the following files:
broker.cfg - p4broker configuration file that defines the ports and location of flex.py script
flex.cfg - p4 flex configuration file that defines the variables needed to run p4 flex such as p4 admin user information and NetApp admin user information
flex.py - python script that provides the functionality to create template, create clone and delete Perforce workspaces quickly
The Perforce Broker is a server process that mediates between Perforce client applications and Perforce Servers. Allows running of local policies or rules.