Upload
roy-mathews
View
227
Download
0
Embed Size (px)
Citation preview
Pegasus UpdateFebruary 2001
February 6 2001
Karl Schopmeyer
1. Pegasus and the Pegasus Project1. Pegasus and the Pegasus Project
What is Pegasus?
Open Source implementation of the DMTF WBEM specifications
Provides CIMOM, repositories Standardized interfaces
Documentation of the Implementation Specifications for the Interfaces Multiplatform (NT and Linux today) Designed as a production tool, not prototype A project to continue the development of Pegasus
Pegasus Architectural Components
ManageabilityManageability
ServicesServices
BrokerBroker
ManageabilityManageability
ServicesServices
BrokerBroker
Consumer
Provider
ConsumerConsumerConsumerConsumer
ManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServices
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
ProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProvider
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
xml/CIM
ResourcesResourcesResourcesResources
ResourcesResourcesResourcesResources
localAdapterAdapterAdapterAdapter
OtherConsumer
OtherConsumer
Pegasus Project by versions
Version 1 Compile and install
classes Simple Authentication Implement all CIM HTTP
V1 Operations Test Providers Sample manageability
Services Multiple Language
Bindings (C++, etc.)
Version 2 Events Query Java TBD
Version 3 CIMOM-CIMOM
Major New Functions
1. Where we are Today1. Where we are Today
What Works Today
CIMOM Client Interfaces (Some exceptions) Basic Provider Interfaces
Test providers Class Repository
Preliminary Documentation
What we need for Pegasus V1
CIMOM Finish Compiler Finish some Client
functions (associator) Refine Provider delegator Refine Provider Interface Demeonize Server User Authentication Instance Repository Basic Authentication
Service Add configuration module
Providers Set of Test providers Probably two providers
(__Namespace, logging)
Clients Repository
Finish the instance repository
Documentation Clean up
Status Today
Pegasus Implementation MSB – Version 0.9 Available next week MOF Compiler – To be finished within 2 weeks Interfaces – See Following User documentation – Preliminary document on WEB
Specification Outline only today – Implementation driving spec
White Paper First preliminary version We need to do multiple papers (Overview, why, details,
architecture, etc.)
Basic Project Phases
Version 1 – Working Broker Architecture Basic broker, Compiler Interfaces for Client, providers, Service extensions Test clients and providers
Version 1.1 – Broker Internal extensions Add service extensions Threads
Version 2 – Broker External Extensions Events and Query Language Java Provider Interfaces
Code and Licensing
Open Source Available from TOG Licensing based on MIT license
Copyright (c) <year> <copyright holders>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Implementation Code
2.5 Part time developers to date (heavily BMC) Project work alias create for project communication
OGMAMIL – overall initiative Work Project communication
Code maintenance TOG server
CVS (See the MSB server for instructions) Snapshots – Regular for those who don’t do CVS Binary – Will relase at version 1.0
Implementation Documentation DOC++ (comments in code) and additional files integral with
code. Readme files with distribution White Papers on future and current work
Initial Pegasus Demonstration
BrowsersBrowsers
WEBServer
(Apache)Pegasus
CIMServer
PegasusCIM
Server ProvidersProviders
CGICIM
Client
CGICIM
Client
ProvidersProviders
CIM/XML
HTMLPages
BrowsersBrowsersBrowsersBrowsers
•Browser Client•Simple CIM Operation Requests•Simple Providers
http://servername/pegasus
2. Subjects2. SubjectsFor DiscussionFor Discussion
List of Discussion Subjects
Technical Multiple Language Bindings Java Services
Concept Implementation
Project and etc. Growing the working part of this project Licensing Widening the availability Outside workers and contributors.
Discussions for This Meeting
1. Current Status of Pegasus implementation *
2. What has to be finished for Version 1 *
3. Pegasus Roadmap - 4. Implementation of Threads within
Pegasus* 5. CIMOM Discovery and CIMOM
Finding* 6. Security issues for the first version
and subsequent versions* 7. The Pegasus extension services 8. The Provider Toolkit and High
Level Interfaces 9. Modularizing Pegasus ( see 7) 10. What are the Important Providers
(Services)
11. Managing the Project (sourceforge and alternates as project and code maintenance tools)*
12 Confirmation of the Interfaces 13 Planning tasks for the continued
development. 14. Scalability Issues 15. Tools 16. Client authentication 17. Instance Repository 18. Activities Plan 19. Requirements for Phase 1 20. Marketing and getting the word out. 21 Java – We need java provider. Needs
Java Objects.
2. Architecture and Design2. Architecture and Design
WBEM and Architecture
WBEM is not an architecture WBEM components today
CIM Server CIM Client
CIM Protocols Today CIM/XML encoding CIM/HTTP protocol Touch of provider (qualifier)
WBEM Today is really single system oriented with XML/HTTP for communication
CIMServer
CIMServer
CIMClient
CIMClient
providerprovider
XIM/XML/HTTP
Near Future Extensions to WBEM
Events Will require HTTP listeners to receive
Query Expansion of the provider concept
Registration Operations
CIM server capabilities (model) Namespace manipulation
Longer Term WBEM Issues
Naming and Name transparency Scalability to large environments CIMOM – CIMOM operations
Standards Implementations
Repository population Repository positioning Persistence, caching, etc.
CIM Operations
Instance, Class, Qualifier create, delete,
enumerate, get, set Property
get, set Namespace
create, delete, enumerate
Method invokeMethod
Query execQuery
Association Traversal Associators, associator
Names References,
referencNames FUTURE
Events Publication subscription
Pegasus Architectural Components
ManageabilityManageability
ServicesServices
BrokerBroker
ManageabilityManageability
ServicesServices
BrokerBroker
Consumer
Provider
ConsumerConsumerConsumerConsumer
ManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServicesManageabilityManageability
ServicesServices
ManageabilityManageability
ServicesServices
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
ProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProviderProvider
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
ConsumerConsumerConsumerConsumerConsumerConsumerConsumerConsumer
XML/CIM
ResourcesResourcesResourcesResources
ResourcesResourcesResourcesResources
localAdapterAdapterAdapterAdapter
ForeignConsumer
ForeignConsumer
Management Services Broker
Handles all CIM operations Provides Security (authentication and
authorization Provides request delegation
Class navigation Check for Providers for operation Delegate operation to provider or repository Collate results
Semantic checking
MSB Objectives
Minimize functions in provider Provide coherent well-known set of interfaces
to the MSB for providers, services, adapters MSB coded in C++
Explain Adapters
MSB Interfaces
Three major interfaces Adapters Providers Services
Objective, round interfaces As much as possible same interface for all 3 Probably not possible
Interfaces based on C++ operations Standard data definitions WBEM Operations
Providers
Provide Information from managed elements in CIM object form
Pluggable to MSB Register with MSB for classes, properties, methods Sources of providers will be many and varied. Well-known interface to providers key to expanding WBEM
usage Goal is for managed element providers (app, system)
Have a standard provider available Add a provider for their functions and information
APIs TOG Standard will define our API direct interfaces We will expand to remote that interface (out of process, remote)
Provider Direct Interfaces
Local Direct C++ APIs Provider implements
WEBEM operations ??? Async interfaces
Out of Process Extend direct
interfaces with IPC protocols
Remote CIM/HTTP vs extend
direct APIsMSBMSBMSBMSB
DirectDirectAPIAPI
CallsCalls
DirectDirectAPIAPI
CallsCalls
Inter-Inter-MemoryMemory
APIAPICallsCalls
Inter-Inter-MemoryMemory
APIAPICallsCalls
Inter-Inter-MemoryMemory
APIAPICallsCalls
Inter-Inter-MemoryMemory
APIAPICallsCalls
Provider Direct Interfaces
Providers may be developed without regard to whether they are in-proc or not.
Providers may reside in their own process Keep API simple (sync API). Use threads to
allow multiple parallel operations.
Logical Potential Providers
SNMP Log TOG Application specifications
AIC ARM??? XSLM client ???
Support for specific OS ?? Linux / Unix
Providers to other languages (TCL, Perl, etc.)
ManagementSystem Connector
ManagementSystem Connector
Manageability Architecture
MSB (Manageability Service Broker)
Service Registration Request Routing Security***
MSB (Manageability Service Broker)
Service Registration Request Routing Security***
Consumers
Providers
AICProvider
AICProvider
Apps OS Etc.
ARMProvider
ARMProvider
Resource
Providers
Broker
Consumers Gateways Apps
XML/CIMConnector
XML/CIMConnector
ManagementSystem Connector
ManagementSystem Connector
ApplicationConsumer
ApplicationConsumer
Repository***
Repository***
Services core*** additional
InterfaceFor Spec
CIMOMManagement
System
. . .SNMPProvider
SNMPProvider
ManagementSystem
ApplicationConsumer
ApplicationConsumer
ApplicationConsumer
ApplicationConsumer
Provider / Resource Interfaces
There may be additional standards here Function oriented TOG Standards
AIC ???ARM
Other standard manageability APIs ???JMX
Issues with Providers
Local vs. out of process providers CIM/XML/HTTP
Remote providers Is there a need?
Provider operations standards Standards for provider registration and
capabilities Non API interface for providers
XML/CIM Blending Standard provider operations and
efficiency of provider/MSB communication Specific vs. Generic providers
MSBMSB
ProviderProvider
ProviderProvider
IPC
ProviderProvider
Othermachine
Services
Services provide Extensible services to MSB
Ex. Repositories, Security, events …
Manageability services to providers / clients Providers are actually special services Some services are integral to MSB
Potential Services List
Instance ManagementM Registration MetadataM DelegationM RelationshipsM QueryM Naming LookupM Schema ServiceM Discovery
Application Lifecycle Collections Policy BootstrapM Persistence CachingM SecurityM Request forwarding Monitoring/thresholds Timers Logging Reporting
Repository
A repository is a special kind of provider. Alternative repository implementations can be
plugged in to the CIM server (Pegasus provides a simple default repository).
Repositories may reside in a distinct process from the CIM server.
Security Services
Implementation will provide simple plug Real world implementation heavily platform
dependent and access platform security services
Issues with Services Today
What services are important? How to we implement manageability services
to make them available to provider, etc. Advertising Service interfaces
Issues of system security (spoofing services, etc.)
Making the services concept work effectivelyWill be a key element of our standards and implementation
Adapters
Adaption between MSB and consumers CIM/XML/HTTP is primary adaption
Multiple interfaces allowed Required adapter is CIM/XML Other adapters for other consumers
SNMP, proprietary consumers, etc. Issues
Should CIM/XML be in MSB NOTE: The adapter interface will also be used by
provider implementations.
Manageability Architecture
MSB (Manageability Service Broker)
Service Registration Request Routing Security***
MSB (Manageability Service Broker)
Service Registration Request Routing Security***
Consumer
Provider
AIC**
AIC**
Apps OS Etc.
ARM**
ARM** SNMPSNMP
Resource
Providers
Broker
Consumers Gateways Apps
XML/CIM***
XML/CIM*** SNMPSNMP
GenericApp *
GenericApp *
Repository***
Repository***
Services core*** additional
InterfaceFor Spec
CIMOMSNMP
Manager
. . .UNIX
UDG
UNIX
UDG
AICGW
AICGW
AICClient
BMCGW
BMCGW
BMCMgr
UserApp
UserApp
XSLMClient
XSLMClient JMXJMX
2. The Project and Tasks2. The Project and Tasks
Overall List of Tasks
Overall Functionality Core MSB Providers Services Adapters
Overall Functionality Task List
Core Functionality Interfaces (consumer, provider, servcies) MSB Compiler Test Tools Provider connection (registration, etc.)
Events Query
Work With DMTF
Interop Work group In process
Discovery Capabilities Negotiation Provider Registration
Issues TBD
Events Spec available December 2000
Query Language ?
NEXT StepsNEXT Steps
List
Expand prototype work to more people Create group to do the specification Continue Documentation Open Project to more people