Open-O CLI One Command to command whole Open-O v1.0

Slides:



Advertisements
Similar presentations
Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.
Advertisements

Standardize on Team Foundation Server across the enterprise with Teamprise Corey Steffen General Manager
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Martin Nicolay SyncML Client for c´man Framework for Symbian devices
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Nir Koren DevOps & Integration Lead, SAP Labs Israel June 2013 Connect your tools to Jenkins Using the basic Jenkins API’s Jenkins User Conference Jenkins.
Ex Libris Developers Network Develop. Experiment. Collaborate.
Correlator GUI Sonja Vrcic Socorro, April 3, 2006.
Software Deployment & Release 26/03/2015 1EN-ICE.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
Game programming 1.
SDN-O LCM for Mercury Release Key Points and Overview
Open-O SFC.Mgr Proposal
The Holmes Platform and Applications
Open source development model and methodologies.
Why Laravel Development is the Best PHP Framework
OPEN-O VNF-SDK Planning Release 2
ONAP CLI (Command-Line Interface ) Architecture
Open-O CLI (Command-Line Interface ) Architecture
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Open-O Client Project Proposal
© 2017 InterDigital, Inc. All Rights Reserved.
OPEN-O CLIENT Planning Mercury Release
Open-O Integration Project Introduction
Swagger-SDK ONAP Paris Developer Event 25 –
Open-O Client Project Proposal
Maven 04 March
InGenius Connector Enterprise Microsoft Dynamics CRM
Ed-Fi ODS/API v3.0 Pre-Read Information for Technical Congress.
DotnetConf 9/10/2018 7:49 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Updatecenter Module 3 Application Server SE/EE 8.1 Installation
OPEN-O GS-O Planning Mercury Release
OPEN-O Sun Release Lab Deployment & Assembly
CLI PTL ONAP Paris Developer Event 25 –
Swagger-SDK CLI PTL ONAP Paris Developer Event 25 –
Updatecenter Snjezana Sevo-Zenzerovic
Open-O O-Parent Project Proposal
ETL Validator + ALM = Data Delivery. Faster and Better
SuiteCRM – Magento Integration
The Enterprise API Integration Platform Prepared for
Open-O Client Project Proposal
Open-O GUI Project Proposal
API Documentation Guidelines
Automated Automation of REST APIs
Bin Hu, AT&T IPv6 Project Lead, OPNFV
slides borrowed and adapted from Alex Mariakis and CSE 390a
Ucsmsdk v UCS Python SDK.
(Includes setup) FAQ ON DOCUMENTS (Includes setup)
HP Quality Center 10 Hottest Features and Project Harmonization
Maven IIB9 Plug-in Version 9.0
GIFT / Fiscal Data Package Iteration 3
Lecture 09:Software Testing
Introducing Qwory, a Business-to-Business Search Engine That’s Powered by Microsoft Azure and Detects Vital Contact Information for Businesses MICROSOFT.
Chapter 2: System Structures
What’s New in ECD V Improvement in U.I. and System Stability
Testing RESTful Web APIs
Maven IIB9 Plug-in Version 9.0
Eclipse Marketplace Client (MPC) Release and Graduation Review
DSDP Mobile Tools for Java 1
CS 240 – Advanced Programming Concepts
Distributed System using Web Services
Automation of Control System Configuration TAC 18
ITAS Risk Reporting Integration to an ERP
(Includes setup) FAQ ON DOCUMENTS (Includes setup)
PyWBEM Python WBEM Client: Overview #2
SUCCESS STORY.
Object Oriented Design
Presentation transcript:

Open-O CLI One Command to command whole Open-O v1.0 Project Proposal kanagaraj.manickam@huawei.com

Overview Any micro service based architecture, would provide Project Name : Openo-CLI Repository name : openo-cli Project Description Provides Command Line interface (CLI) and java SDK (java client library) for all Open-O services. One Command to command whole Open-O !! Any micro service based architecture, would provide Client  SDK in different language CLI for different OS.  Project Participants Huawei, ???

Why CLI/SDK needed ? CLI: SDK (java api): Helps to automation Helps to expand Open-O eco-system Existing operator environment New Business 3rd party integration operator-friendly concise/powerful SDK (java api): Helps to avoid code-duplication/re-implementation Detects the REST API version/schema changes at compile time itself, than run-time 1:1 mapping between REST API and java api

Problems faced in Sun release are addressed ! Problem: When micro-service (A) is used by more than one micro-services, say, B & C, both of these services re-implemented/repeated the integration code for service A. in sun release, ESR and DM services got integrated by many services and each of them re-implemented (copied) the code across. Solution: As every micro-service provides sdk jars, dependent micro-services could directly use it via maven dependency, instead of re-implement/repeating the code (copy & paste) This will completely avoid maintenance over-head introduced in sun release Problem: When a micro-service (A) depends on another micro-service (B), and when B changes the REST API, A will fail when user runs it. This has become a BIG blocker issue in CMCC lab during sun release time. Solution: As part of CLI project, each micro-service would provide an java client library jar (SDK), which is auto-generated from swagger.json of that micro-service. So when changes made in REST API of micro-service A, automatically B will fail as listed below: Now B uses A sdk to connect to A using mvn dependency, instead of re-implementing the integration. A changes REST API A sdk jar got auto-updated (changes in java method signature/model change, etc) Now Mvn build of B will break as dependent A sdk jar is changed. Developer will fix B to use updated A sdk jar. This problem is identified in compile time than run time. (early detection and recovery)

Birds-view Open-o GUI GSO SDNO Open-O API gateway Micro-service interface Preferred by CLI admin GUI user SDK (java lib) developer GSO SDK GSO Micro-service SDK user SDNO SDK Micro-service SDK SDNO Micro-service Micro-service developer Open-O API gateway MSB Micro-service Micro-service Micro-service NFVO SDK NFVO Micro-service SDK Open-o CLI Micro-service SDK ComSDK COMMON-O admin Sdk = java client api library New Projects

Project details Using swagger, each service would be enabled to generate version-specific-java library/jar (sdk) with sub-project ( ex: nfvo/sdk/java-client, sdno-overlay/sdk/java-client) Developers could make use of SDK to integrate one service with another service. For implementing the CLI, new gerrit project Openo-cli could be created Openo-cli project could be governed under O-Common This will avoid to have separate PTL for CLI project. Separate Committers group could be defined in open-o gerrit, which would help to govern better review process

Reference OpenStack CLI: https://github.com/openstack/python-openstackclient Sample OpenStack service (python) SDK: https://github.com/openstack/python-heatclient https://github.com/openstack/python-tackerclient In OpenStack, SDK are developed by community manually, where as in Open-O, it would be automated using swagger.

Thanks Open-O Team