WBEM NTP Provider
Description: WBEM DNS Provider Data Sheet
Keywords: Pegasus C++ API, Linux, Operating System, Debian, HP-UX, Managed System Identity, CIM_OperatingSystem, PG_OperatingSystem

# WBEM Provider Data Sheet

# Network Time Protocol Provider

This data sheet provides information about the Network Time Protocol WBEM provider (implemented using the Pegasus C++ API).

This provider supports the PG_NTPAdminDomain class. The intended audience of this document is client/provider developers and sophisticated end-users who want to use this provider.

This data sheet is maintained in open source and is updated frequently. This version was last updated 08-Aug-2002. See the Pegasus open source site (http://cvs.opengroup.org/cgi-bin/cvsweb.cgi/pegasus/), location pegasus/src/Providers/ManagedSystem/NTPAdminDomain/doc/NTPProvider.htm, for the most recent version.

Keywords: (Pegasus C++ API, Network Time Protocol, HP-UX, Managed System Identity, CIM_AdminDomain, PG_NTPAdminDomain)

Table Of Contents

1. Provider Overview (Description, Requirements, Release History, Supported Managed Resources, Special Requirements & Dependencies)

2. Setting Up This Provider (Installing, Configuring)

3. Using This Provider (Schema Supported, Indications Generated, Associations Provided)

4. Links To More Information (Additional Provider Documentation, WBEM Information, Managed Resource Information, Client Information, Support Contacts, Migration and Co-existence Information, Possible Provider Enhancements)

5. Limitations, Known Defects, and Performance Considerations

### 1. Provider Overview

· Description
This provider is an extension of the AdminDomain class that describes a Network Time Protocol (NTP). This Network Time Protocol provider implements a PG_NTPAdminDomain subclass of CIM_AdminDomain (adding the property of ServerAddress). The ServerAddress property specifies the IP address(es) in dot notation format of the server(s) that provide(s) time to clients when requested.

· Requirements
The Network Time Protocol provider is implemented and tested on PA-RISC running HP-UX 11.0 and 11.11. It will be tested on IPF and PA-RISC machines running HP-UX 11.23 when it is available.

· Release History
??-Aug-02 - initial release of PG_NTPAdminDomain provider for the HP-UX operating system (via submittal to Pegasus open source community).

· Supported Managed Resources
Managed systems (servers, appliances, desktops) running HP-UX 11.0, 11.11 and 11.23.

· Special Requirements & Dependencies
NTP needs to be installed for the provider to return instances. If it is not installed, no instances will be returned.
The NTP provider is IPv6 compliant, which means that it is capable of reading both IPv4 and IPv6 addresses from the NTP configuration file.

### 2. Setting Up This Provider

· Installing This Provider

This Network Time Protocol provider is available from the Pegasus open source site (http://cvs.opengroup.org/cgi-bin/cvsweb.cgi/pegasus/) with the following CVS tree locations:

o Makefile, headers, and source: pegasus/src/Providers/ManagedSystem/NTPAdminDomain/

o Schema MOF file: pegasus/Schemas/pegasus/ManagedSystem/VER20/PG_NTPAdminDomain20.mof

o Provider registration MOF file: pegasus/Schemas/pegasus/ManagedSystem/VER20/PG_NTPAdminDomain20R.mof

The provider executable is " libNTPProvider.sl" and is called "NTPProvider" in the registration MOF. The provider is registered to support the /root/cimv2 namespace as an instance provider. There are no special installation instructions. This provider may be installed by default in Pegasus-based product releases.

· Configuring This Provider
This provider does not accept specific configuration adjustments (beyond standard WBEM support).

### 3. Using This Provider

· Schema supported by this provider

This provider supports the PG_NTPAdminDomain class. Tables 1 through 2 describe the properties and methods supported by the provider. Specific details of the schema supported by this provider (including property descriptions and value maps) are available in the MOF files.

Table 1 describes the properties of the PG_NTPAdminDomain class. It has three columns. The first is the property name (including type and units), the second is the property inheritance (indicating which class or superclass defines the property), and the third is the property’s value or data source. Each row describes a property.

Table 1: PG_NTPAdminDomain Properties

Property Name | Property Inheritance | Property Value (& data source)
string Caption | Inherited from CIM_ManagedElement | HP-UX: Returns "NTP Admin Domain" Linux, Windows: Not implemented
string Description | Inherited from CIM_ManagedElement | HP-UX: Returns "This is the PG_NTPAdminDomain object” Linux, Windows: Not implemented
String CreationClassName [Key] | Inherited from CIM_System | HP-UX: Returns "PG_NTPAdminDomain" Linux, Windows: Not implemented
string Name [Key] | Inherited from CIM_ManagedSystemElement (and made one of 2 keys of CIM_System) | HP-UX: Returns the name of the first “server” field from /etc/ntp.conf file Linux, Windows: Not implemented
string NameFormat | Inherited from CIM_System, overridden in CIM_AdminDomain | HP-UX: Returns 1 (“IP”). Linux, Windows: Not implemented
string ServerAddress[] | Local to PG_NTPAdminDomain | HP-UX: Returns “server” field from /etc/ntp.conf file Linux, Windows: Not implemented

Table 2 describes the intrinsic methods supported by this provider. It has three columns. The first is the method name, the second is a description of the provider’s actions based on invoking that method, and the third is a list of any exceptions that could result from invoking the method. Each row describes a method. Note that this provider supports no extrinsic methods.

Table 2: Intrinsic Methods for PG_NTPAdminDomain

Method Name | Description | Exceptions thrown
EnumerateInstances | Returns all instances of the class with all properties. There is only one instance. | CIM_ERR_NOT_SUPPORTED if wrong class (different than PG_NTPAdminDomain).
EnumerateInstanceNames | Returns all instances of the class with key properties. There is only one instance. | CIM_ERR_NOT_SUPPORTED if wrong class (different than PG_NTPAdminDomain).
GetInstance | Supported | CIM_ERR_INVALID_PARAMETER (if wrong class, wrong number of keys, or wrong keys) CIM_ERR_NOT_FOUND (from CIMOM) if no instance
ModifyInstance | Returns Not Supported | CIM_ERR_NOT_SUPPORTED
DeleteInstance | Returns Not Supported | CIM_ERR_NOT_SUPPORTED
Initialize | Does nothing | None
Terminate | Does nothing | None
CreateInstance | Returns Not Supported | CIM_ERR_NOT_SUPPORTED

· Indications generated by this provider
This provider does not currently generate any indications.

· Associations provided by this provider
This provider does not currently support any associations (but possible extensions would be to add the NetworksInAdminDomain association to LogicalNetwork and the NetworkServicesInAdminDomain association to NetworkService).

### 4. Links To More Information

· Additional Provider Documentation
There is currently no additional documentation for this provider beyond this information and that in the Pegasus source tree (listed in Installing This Provider).

For NTP specific information on HP-UX systems, launch “edit ntp.conf” or the “man ntpq” utility.

· WBEM information
For a CIM tutorial, go to http://dmtf.org/education/cimtutorial.php.
For information about the Pegasus WBEM infrastructure, see http://www.opengroup.org/pegasus.
For information about WBEMsource, see http://www.wbemsource.org.

· Managed Resource Documentation
Information regarding Network Time Protocol can be found in network manuals.

· Client Information
None.

· Support Contacts
ON HP-UX, use standard HP support channels.

· Migration and Co-existence Information
None.

· Possible provider enhancements
There are a number of enhancements that could be made to this provider.
(1) All properties are currently read-only. Could add support to change appropriate values (probably via modifyInstance). Support for createInstance and deleteInstance could also be added, though the maximum number of instances could never exceed one instance. CreateInstance could be used to configure NTP if the provider is returning no instances, whereas deleteInstance could be used to remove NTP configurations.
(2) The provider currently doesn’t check Flags when invoked by CIMOM.
(3) The provider currently doesn’t check Property List when invoked by CIMOM.
(4) Support for NetworksInAdminDomain and NetworkServicesInAdminDomain associations would be useful.
(5) The “PeerAddress”, “BroadcastAddress” and “BroadcastClient” properties could be added.
(6) The “Roles” property could also be added with the following values: server, peer, client, broadcaster and broadcast client. However, it seems that there is no way to identify that a host system is assuming the server role, since there is no configuration of this role on the local system. Instead, the configuration file on the client system (/etc/ntp.conf) would contain a “server” statement with the name or IP address of that host.

### 5. Limitations, Known Defects, and Performance Considerations

On HP-UX, the NTP provider parses the “/etc/ntp.conf” file directly. Therefore, the provider would be impacted if the file format or location changes.

A local system that assumes the broadcast client role may not contain any “server” field in the “/etc/ntp.conf” configuration file. In this case, the “Name” and “ServerAddress” properties will return a blank string.

Top of Page