46
Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Embed Size (px)

Citation preview

Page 1: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Pegasus UpdateFebruary 2001

February 6 2001

Karl Schopmeyer

Page 2: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

1. Pegasus and the Pegasus Project1. Pegasus and the Pegasus Project

Page 3: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 4: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 5: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 6: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Major New Functions

Page 7: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

1. Where we are Today1. Where we are Today

Page 8: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

What Works Today

CIMOM Client Interfaces (Some exceptions) Basic Provider Interfaces

Test providers Class Repository

Preliminary Documentation

Page 9: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 10: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.)

Page 11: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 12: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 13: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 14: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 15: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

2. Subjects2. SubjectsFor DiscussionFor Discussion

Page 16: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 17: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 18: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

2. Architecture and Design2. Architecture and Design

Page 19: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 20: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 21: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Longer Term WBEM Issues

Naming and Name transparency Scalability to large environments CIMOM – CIMOM operations

Standards Implementations

Repository population Repository positioning Persistence, caching, etc.

Page 22: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 23: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 24: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 25: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 26: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 27: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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)

Page 28: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 29: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 30: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.)

Page 31: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 32: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Provider / Resource Interfaces

There may be additional standards here Function oriented TOG Standards

AIC ???ARM

Other standard manageability APIs ???JMX

Page 33: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 34: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 35: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 36: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 37: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Security Services

Implementation will provide simple plug Real world implementation heavily platform

dependent and access platform security services

Page 38: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 39: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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.

Page 40: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

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

Page 41: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

2. The Project and Tasks2. The Project and Tasks

Page 42: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Overall List of Tasks

Overall Functionality Core MSB Providers Services Adapters

Page 43: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Overall Functionality Task List

Core Functionality Interfaces (consumer, provider, servcies) MSB Compiler Test Tools Provider connection (registration, etc.)

Events Query

Page 44: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

Work With DMTF

Interop Work group In process

Discovery Capabilities Negotiation Provider Registration

Issues TBD

Events Spec available December 2000

Query Language ?

Page 45: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

NEXT StepsNEXT Steps

Page 46: Pegasus Update February 2001 February 6 2001 Karl Schopmeyer

List

Expand prototype work to more people Create group to do the specification Continue Documentation Open Project to more people