OpenSAF Porting by Vikrant Gogri Sr. Project Manager.

Slides:



Advertisements
Similar presentations
FatMax Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 LicenseCreative Commons Attribution-NonCommercial-ShareAlike 2.5.
Advertisements

Operating-System Structures
Automation Testing - Selenium
Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
Predictor of Customer Perceived Software Quality By Haroon Malik.
Last update: August 9, 2002 CodeTest Embedded Software Verification Tools By Advanced Microsystems Corporation.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
Introduction to Virtualization
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Thread definitions and relationship to process Multithreading.
Chapter 4 Structure of Operating Systems Copyright © 2008.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
Operating Systems.
Virtualization for Cloud Computing
Agile Testing with Testing Anywhere The road to automation need not be long.
© Company Confidentialwww.itcinfotech.com Business Case for Test Automation S.Janardhanan Chief Technology Officer ITC Infotech India Limited Business.
SAIC-F QA Internal Process (DRAFT ) Sudha Chudamani QA Team, Frederick National Lab Jan 2, 2013.
Types of software. Sonam Dema..
Documentation 1. User Documentation 2. Technical Documentation 3. Program Documentation.
Methodologies, strategies and experiences Virtualization.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Matt Ayers Senior Program Manager Microsoft Corporation WCL403.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
1 The Virtual Reality Virtualization both inside and outside of the cloud Mike Furgal Director – Managed Database Services BravePoint.
Tim Vander Kooi Systems
Introduction to VMware Virtualization
Case Study : Morcom Trading – P BSC 21
DIFFERENCE BETWEEN ORCAD AND LABVIEW
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Alexey Maksimov Overview Skills Personal and professional features Employment history Ideal employment www: tel:
Issues Encountered Porting Debian GNU/Linux to PARISC and IA-64 Bdale Garbee Debian Project Leader Engineer / Scientist, HP Linux Systems.
Virtualization in the Data Center Virtual Servers – How it works – Pros – Cons IPAC’s implementation – Hardware resource usage and trends – Virtualization.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Linux Kernel Management. Module 9 – Kernel Administration ♦ Overview The innermost layer of Linux operating system is the kernel, which is a thin layer.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
Bring Linux apps to hp-ux 11i: it’s easier than you think mary kwan hp
1 OpenSolaris A Seminar Presentation on Submitted to:- Dept.of CSE Poornima College of Engg., Jaipur Submitted by:- Ajay Kr. Jain IV th Yr.(CSE)
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 Automate your way to.
Full and Para Virtualization
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Challenges in Porting & Abstraction. Getting Locked-In Applications are developed with a particular platform in mind The software is locked to the current.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
CISC2200 Threads Fall 09. Process  We learn the concept of process  A program in execution  A process owns some resources  A process executes a program.
Introduction to System Administration. System Administration  System Administration  Duties of System Administrator  Types of Administrators/Users.
ATG Overview. 2 Calsoft Technical Activities Review of New Technology Prototypes Student Projects … 2010 ATG Formation Knowledge Sharing Calsoft Talent.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Virtualization for Cloud Computing
Introduction to VMware Virtualization
Fundamentals Sunny Sharma Microsoft
Chapter 4: Threads.
Shared Services with Spotfire

Chapter 4: Threads.
Chapter 4: Threads.
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
Intro about Contanier and Docker Technology
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Software Engineering Group, Motorola India Electronics Pvt. Ltd.,
Introduction By mid-2006, the NYISO was averaging < 2% utilization across nearly 500 UNIX servers and suffering from growing power, cooling and space requirements.
Shared Hosting Workshop
Presentation transcript:

OpenSAF Porting by Vikrant Gogri Sr. Project Manager

2 Introduction ➔ This presentation shall cover …. ➔ Porting experience of OpenSAF 2.0 from Linux to OpenSolaris. ➔ Challenges the team ran into while porting. ➔ Assumptions team made during the porting projects. ➔ Discovering the different issues involved in poring OpenSAF code to another operating systems.

3 Background ➔ Sun Microsystems sponsored the porting for OpenSAF 2.0 to Solaris 10. ➔ Sun approached CalSoft, a software development and QA partner working with multiple groups at Sun, to do the port and contribute it back to the community ➔ CalSoft’s software engineering team to provide the ported code in timely manner. ➔ This was very aggressively time bound project as some of the Sun’s Customers wanted to use OpenSAF applications on Sun’s hardware running Solaris 10 Update 5 and be in the market with the ported platform.

4 About Calsoft ➔ We are an Offshore Product Development services organization focused on developing software for clients who produce infrastructure products. ➔ Calsoft has been in business 10 years, profitable for all 10 years, and has 250 system software engineers with most of the talent located offshore in Pune (near Bombay/Mumbai), India. ➔ Calsoft has a proven track record in all phases of product development: Design, Development, Testing, (Test) Automation, and Sustaining ➔ Our client list includes large companies such as NetApp, Sun, VMware, HP, Brocade, a host of medium size companies such as Pillar Data, BlueArc, Panasas, and several start ups. ➔ Open source friendly organization-have made significant contributions into Linux2.6 kernel.

5 Calsoft’s Capabilities ➔ Operating Systems  Linux,Solaris, FreeBSD, Windows, VxWorks, MontaVista, Mac, HP-UX, AIX  Operating system components like file systems, NFS, CIFS, drivers etc. ➔ Storage  Storage Management, Storage Network(SAN,NAS),Device drivers. ➔ Virtualization  Entire VMware product suite, Xen, HyperV, KVM. ➔ Networking/Telecom  TCP/IP,TOE, GSM, GSM AT command stacks, ISDN, ATM, PRS/EDGE, VOIP,Mobile operating systems and platforms. ➔ QA-Automation and Testing  Manual QA, Test harness and regression suite dev, Interop testing, Scalability testing.

6 OpenSAF porting Project ➔ 1 st sucessful porting of OpenSAF to non-Linux OS. ➔ OpenSAF 2.0 porting to Solaris had following methodology:  Bring up the Linux cluster –controller and payload – as a reference platform. Run Sample Tests and Test Suite provided by the community to understand the reference for testing effort.  1 st Port the code to Solaris running on x86 systems and Gnu Compiler.  Port the code to Solaris running on Sparc systems and Gnu Compiler.  Port the code to Solaris running on x86 systems and SunStudio.  Port the code to Solaris running on Sparc systems and SunStudio.  Ensure the changes still works on Linux cluster. ➔ Project took about 4 Calendar Months. ➔ Efforts required: 16 Developers Man Months and about 10 QA Man Months.

7 Bringing up Linux as a reference platform. ➔ Bringing up reference Linux Cluster required steep learning curve. ➔ SAForum specs and OpenSAF documentation like Install Guide, README helped quite a bit. ➔ But very little trouble shooting documentation. Resulting in 2 weeks to get the Linux cluster running. ➔ Running existing test suites and test sample took even longer than initially thought. This was primarily due to difficulties in triaging when things did not go right. ➔ Having troubleshooting documentation would have helped.

8 Challenges in porting ➔ Overall relatively easy port, if one knows what and where to look for trouble spots. ➔ In C code, Leap layers made it quite easier, but exceptions to OS calls outside of Leap layers created challenges. Have to fall back to adding #ifdef in the code. ➔ Team had to keep looking for similar violating code traces in entire code bases. ➔ E.g. system(….) calling OS specific commands. ➔ E.g. expecting OS specific “/proc/…” files in code implementation.

9 Challenges in porting … cont’d ➔ Besides C code, major effort was required in solving the platform dependent challenges in other areas as well. ➔ Some of them are:  Code Packaging – very OS specific e.g. RPM vs. pkgadm  Install scripts - Platform related assumptions caused install scripts issues e.g. assumption about the install path and issues with module install like modprobe on Solaris vs. insmod in Linux.  Run scripts to start and stop cluster services e.g. usage of killall

10 OpenSAF ➔ OS dependent calls are indirect via LEAP library for most parts. This makes it quite portable. ➔ Challenges are when there are:  Direct OS dependent calls  semantic differences in the OS calls e.g. signal handlers  assumptions about OS File Systems e.g. /shm/ for shared memory interface. ➔ To overcome these, team had to do global search of various kinds to look for patterns that caused the troubles. ➔ Once identified, we had to come up with a fix like a generic code that will either work across all the paltforms or code using platform dependent #ifdefs.

11 Some Suggestions ➔ OpenSAF has been designed with portability in mind. As a result Leap layer and efforts for POSIX compliance exist. But no piece of code is proven to be portable until ported to two or more Operating Systems. ➔ Also LEAP layer is not enough by itself. ➔ Services should limit system related code to standard LEAP interfaces. ➔ Even the install and run scripts should be as much as POSIX compliant.

12 Summary ➔ Calsoft, in executing the OpenSAF porting project, has learnt great deal about the OpenSAF code base. ➔ Along the way, Calsoft team working on OpenSAF porting discovered quite a few challenges and found a way to overcome them. ➔ Calsoft believe its going to be a sure shot commercial success and Calsoft would like to play an active part in its success.

13 Questions??? ?????????

14 Thank You! CalSoft Pvt. Ltd. (iDeate. Design. Develop. Deploy)