Filter Dialects. This Dell Technical White Paper provides information about use of filters in WS- Man enumeration and subscription

Similar documents
Web Service Eventing Support for Hardware Inventory and Monitoring

Shared LOM support on Modular

Remote Power Management of Dell PowerEdge M1000e with Chassis Management Controller (CMC) Using Windows Remote Management (WinRM)

Using Lifecycle Controller to Configure UEFI Secure Boot and OS Deployment

Configuring Direct-Connect between a DR Series System and Backup Media Server

Lifecycle Controller with Dell Repository Manager

Using Dell Repository Manager with Dell OpenManage Essentials

Setting Up Replication between Dell DR Series Deduplication Appliances with NetVault 9.2 as Backup Software

Dell Wyse Datacenter for VMware Horizon View Cloud Pod Architecture

Dell Appliance for Wyse

Teradici APEX 2800 for VMware Horizon View

Deploying Solaris 11 with EqualLogic Arrays

Dell 1741M Converged Network Adapter FCoE Boot from SAN Guide

SUU Supporting the DUP Dependency

Access Control Policies

Optimizing I/O Identity and Applying Persistence Policy on Network and Fibre Channel Adapters

Deployment of Dell M6348 Blade Switch with Cisco 4900M Catalyst Switch (Simple Mode)

FluidFS Antivirus Integration

Dell Networking MXL and PowerEdge I/O Aggregator with Cisco Nexus 5000 series fabric mode Config Sheets

Dell Networking MXL / PowerEdge I/O Aggregator with Cisco Nexus 5000 series NPV mode and Cisco MDS 9100 fabric switch Config Sheets

Dell SupportAssist Version 1.2 For Dell OpenManage Essentials Support Matrix

Deployment of Dell M8024-k Blade Switch in Simple Mode with Cisco Nexus 5k Switch

Running Milestone XProtect with the Dell FS8600 Scale-out File System

Wired + Wireless Cloud-managed Campus Reference Architecture

Release Notes. Dell Server Management Pack Suite For CPS. Version 5.1.1

Dell OptiPlex SFF AIO Stand. User s Guide. Model: IKAIO-01 1 /13

Dell PowerEdge R920 System Powers High Performing SQL Server Databases and Consolidates Databases

LSI SAS i PCIe to 6Gb/s SAS HBA Running On Dell Systems Important Information

Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications Using EqualLogic PS Series Hybrid Storage Arrays

Discovering Features in the idrac Remote Services API

Efficient Video Distribution Networks with Multicast: IGMP Querier and PIM-DM

WS-Management CIM Binding Specification

Securing 14th generation Dell EMC PowerEdge servers with System Erase

High-Performance Graphics with VMware Horizon View 5.2

Using Dell EqualLogic and Multipath I/O with Citrix XenServer 6.2

Dell PowerVault Network Attached Storage (NAS) Systems Running Windows Storage Server 2012 Troubleshooting Guide

Dell PowerEdge VRTX Networking Deployment Guide for Microsoft Lync and Dell Mobility

Dell Server PRO Management Pack for Microsoft System Center Virtual Machine Manager Installation Guide

Advanced Performance Tuning for Dell EqualLogic Auto-Replication

Dell Data Protection for VMware Horizon View Infrastructures

Dell Server PRO Management Pack 3.0 for Microsoft System Center Virtual Machine Manager Installation Guide

Video Profile. Document Number: DCIM1049 Document Type: Specification Document Status: Published Document Language: E Date: Version: 1.0.

Dell Reseller Option Kit Important Information

Dell PowerEdge T620 Getting Started Guide

SupportAssist Collections on Dell EMC s 14th generation of PowerEdge servers

Dell SupportAssist Version For Dell OpenManage Essentials Quick Start Guide

Wired + Wireless Cloud-managed Campus Deployment Guide Branch, Small Campus and Distributed Sites

Automatic Backup Server Profile in Dell PowerEdge 12 th Generation Servers

Dell Server Deployment Pack Version 2.0 for Microsoft System Center Configuration Manager User's Guide

Dell Server Management Pack Suite Version For Microsoft System Center Operations Manager And System Center Essentials User s Guide

Dell SupportAssist Version 1.2 For Dell OpenManage Essentials Quick Start Guide

Sensors Profile Document Number: DCIM1053 Document Type: Specification Document Status: Published Document Language: E Date:

Sensors Profile Document Number: DCIM1053 Document Type: Specification Document Status: Published Document Language: E Date:

Management Station Software Version 7.3 Installation Guide

Dell EqualLogic Storage Management Pack Suite Version 5.0 For Microsoft System Center Operations Manager And Microsoft System Center Essentials

Virtualization Support in Dell Management Console

Dell Server Management Pack Suite Version For Microsoft System Center Operations Manager And System Center Essentials Installation Guide

Lifecycle Controller 2 Release 1.0 Version Readme

Dell PowerVault MD3400/3420/3800i/3820i/ 3800f/3820f Storage Arrays Getting Started Guide

Accessing and Using WS-Management

SMI-S Over WS-Management: A Progress Report

PCI Device Profile. Version

OpenManage Integration for VMware vcenter Using the vsphere Client Quick Install Guide Version 2.0

VRF lite for Dell Networking N-Series

Dell PowerVault MD Storage Array Management Pack Suite Version 5.0 For Microsoft System Center Operations Manager And Microsoft System Center

Dell PowerVault MD3460/3860i/3860f Storage Arrays Getting Started Guide

Using Dell Repository Manager to Update Your Local Repository

Virtual Machine Protection with Dell EqualLogic Virtual Storage Manager v4.0

Deploying High-performing SQL Server OLTP Database on PowerEdge R730xd by Using Windows Storage Spaces

IO Identity Setup Using Lifecycle Controller. Zhan Liu

Dell EqualLogic Storage Management Pack Suite Version 5.0 For Microsoft System Center Operations Manager And System Center Essentials User s Guide

Dell OpenManage Port Information Guide Version 7.2

Stacking Dell PowerConnect 10G Switches: M8024-k, 8024, 8024F

Dell PowerEdge T420 Getting Started Guide

Dell PowerEdge R720 and R720xd Getting Started Guide

Deploying FCoE (FIP Snooping) on Dell PowerConnect 10G Switches: M8024-k, 8024 and 8024F. Dell Networking Solutions Engineering March 2012

Deploying Dell PowerConnect 8100 and Cisco Catalyst Switches

Remote and Branch Office Reference Architecture for VMware vsphere with Dell PowerEdge VRTX

Active Fabric Manager Installation Guide 1.5

Dell Fabric Manager Deployment Guide 1.0.0

FS8600 Snapshot and Volume Cloning Best Practices

Dell PowerEdge T620 Getting Started Guide

Dell IT Assistant Migration To OpenManage Essentials

Overview of Microsoft Private Cloud with Dell EqualLogic Storage Arrays

Scheduled Automatic Search using Dell Repository Manager

Dell Lifecycle Controller Integration For Microsoft System Center Configuration Manager Version Installation Guide

Managing and Protecting a Windows Server Hyper-V Environment using Dell EqualLogic PS Series Storage and Tools

Setting Up the DR Series System as an NFS Target on Amanda Enterprise 3.3.5

Setting Up the Dell DR Series System as an NFS Target on Amanda Enterprise 3.3.5

Virtualization Support in Dell Management Console v1.0

Dell Repository Manager Version 1.8 Troubleshooting Guide

Dell Management Console Best Practices

Accelerate SQL Server 2014 In-Memory OLTP Performance with Dell PowerEdge R920 and Express Flash NVMe PCIe SSDs

Citrix XenDesktop with Provisioning Server for VDI on Dell Compellent SC8000 All Flash Arrays for 3,000 Users

Lifecycle Controller Part Replacement

VMware ESX and ESXi. Support Matrix for Dell PowerEdge Systems and Storage Platforms

Adoption of WBEM based Systems Management

Microsoft Windows Server 2012 Early Adopter Guide

Setting Up the Dell DR Series System on Veeam

Active Fabric Manager. Release Notes 1.5. June 2013

Transcription:

Filter Dialects This Dell Technical White Paper provides information about use of filters in WS- Man enumeration and subscription Dell Engineering April 2014 Abhirup Seal Chitrak Gupta 1 No Restrictions Filter Dialects

THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS-IS, WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND. 2014 Dell Inc. All rights reserved. Reproduction of this material in any manner whatsoever without the express written permission of Dell Inc. is strictly forbidden. For more information, contact Dell. Dell, the DELL logo, and the DELL badge are trademarks of Dell Inc. Symantec, NetBackup, and Backup Exec are trademarks of Symantec Corporation in the U.S. and other countries. Microsoft, Windows, and Windows Server are registered trademarks of Microsoft Corporation in the United States and/or other countries. Other trademarks and trade names may be used in this document to refer to either the entities claiming the marks and names or their products. Dell disclaims any proprietary interest in the marks and names of others. Performance of network reference architectures discussed in this document may vary with differing deployment conditions, network loads, and the like. Third party products may be included in reference architectures for the convenience of the reader. Inclusion of such third-party products does not necessarily constitute Dell s recommendation of those products. Please consult your Dell representative for additional information. Trademarks used in this text: Dell, the Dell logo, Dell Boomi, Dell Precision,OptiPlex, Latitude, PowerEdge, PowerVault, PowerConnect, OpenManage, EqualLogic, Compellent, KACE, FlexAddress, Force10 and Vostro are trademarks of Dell Inc. Other Dell trademarks may be used in this document. Cisco Nexus, Cisco MDS, Cisco NX- 0S, and other Cisco Catalyst are registered trademarks of Cisco System Inc. EMC VNX, and EMC Unisphere are registered trademarks of EMC Corporation. Intel, Pentium, Xeon, Core and Celeron are registered trademarks of Intel Corporation in the U.S. and other countries. AMD is a registered trademark and AMD Opteron, AMD Phenom and AMD Sempron are trademarks of Advanced Micro Devices, Inc. Microsoft, Windows, Windows Server, Internet Explorer, MS-DOS, Windows Vista and Active Directory are either trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Red Hat and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and/or other countries. Novell and SUSE are registered trademarks of Novell Inc. in the United States and other countries. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Citrix, Xen, XenServer and XenMotion are either registered trademarks or trademarks of Citrix Systems, Inc. in the United States and/or other countries. VMware, Virtual SMP, vmotion, vcenter and vsphere are registered trademarks or trademarks of VMware, Inc. in the United States or other countries. IBM is a registered trademark of International Business Machines Corporation. Broadcom and NetXtreme are registered trademarks of Broadcom Corporation. Qlogic is a registered trademark of QLogic Corporation. Other trademarks and trade names may be used in this document to refer to either the entities claiming the marks and/or names or their products and are the property of their respective owners. Dell disclaims proprietary interest in the marks and names of others. 2 No Restrictions Filter Dialects

Contents Executive Summary.. 4 1 Introduction.. 5 2 WS-Man Filters 5 2.1 Usage of Filter 5 2.2 Selector Filter. 6 2.2.1 Combining Selectors 7 2.2.2 SOAP Request Format. 7 2.3 Query Languages (CQL and WQL) 8 2.3.1 Enumeration and Query Languages. 8 2.4 Dialects and Associations. 9 2.4.1 What are Associations?.. 9 2.4.2 Associators.. 9 2.4.3 References. 12 3 Filtering on Subscriptions. 14 3.1 Subscription Management 14 3.2 Usage from Different Consoles. 15 3.2.1 Windows PowerShell. 15 3.2.2 Linux WS-Man CLI.. 15 4 Fragment Transfer. 16 5 Conclusion.. 17 6 Appendix A.. 18 3 No Restrictions Filter Dialects

Executive Summary This technical white paper is aimed at the customers of WS-Man API s to understand the usage of filter dialects in enumeration and subscription requests. This document assumes that the reader has knowledge of the basic WS-Man specification and the usage. For detailed information about WS-Man protocol specification, refer to the WS-Man Specification (DSP-0226) at www.dmtf.org. 4 No Restrictions Filter Dialects

1 Introduction PowerEdge servers and chassis for modular servers, include management controllers, idrac and CMC (Chassis Management Controller). These controllers assist the system administrators to manage and monitor the chassis and servers. The management controllers provide functionality of management through GUI, CLI, and programmatic (WS-Man) interfaces. The WS-Man interface is a DMTF (Distributed Management Task Force) specification for systems management through Web Services architecture. WS-Man interface can be used to manage the server through a series of Simple Object Access Protocol (SOAP) encapsulated Web-Based Enterprise Management (WBEM) commands. Enumeration is used to inventory the devices under management and Invoke is used to change the states and configurations of a managed entity. The size of WS-Man enumeration data file can be large. If spanning across large structures of managed entities, filter dialects are provided to find out certain instances or data that are necessary to the consumer. This whitepaper describes the techniques to filter data from the WS-Man enumeration. The use of filters varies between GET commands. GET command returns a single instance defined by key-binding values (unique identifiers). However, using a filter can return multiple instances of each, matching the entered condition. 2 WS-Man Filters WS-Man enumeration on a class returns all the instances of that particular class. If a class has children (derived) classes, enumeration on the parent, returns instances of all the children. The return data can be of large size and hence difficult to manage. The filters enable the client to select the necessary instances. The following filters are supported in the WS-Man stack provided by Dell: a) Selectors b) CIM Query Language (CQL) and Windows Management Instrumentation Query Language (WQL) c) Association Filters Note: XPATH filters are not supported in Dell WS-Man stack 2.1 Usage of Filter A basic example of a filter from the Microsoft-provided WinRM application is given here. 5 No Restrictions Filter Dialects

winrm e "http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/dcim_nicview? cimnamespace=root/dcim" -u:<user> -p:<password> - r:https://<ip>/wsman -encoding:utf-8 -a:basic -SkipCNcheck -SkipCAcheck - filter:"{slotlength = "0004" }" - dialect:http://schemas.dmtf.org/wbem/wsman/1/wsman/selectorfilter This example is a simple usage of a Selector Filter. The command indicates the required instances which match the specified filter, such as SlotLength = 0004. 2.2 Selector Filter The selector filter is one of the simplest filter methods for consoles to filter the enumeration data. The selector filter is supported for both Enumeration and Subscribe methods. A sample SOAP request format is given here. <s:header> <wsa:to> Service transport address </wsa:to> <wsman:resourceuri> Resource URI </wsman:resourceuri> </s:header> <s:body> <wsen:enumerate> <wsman:filter Dialect="http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter"> <wsman:selectorset> <wsman:selector Name= selector-name > selector-value </wsman:selector> </wsman:selectorset> </wsman:filter> </wsen:enumerate> </s:body> The highlighted section indicates the SOAP tag to describe a SelectorFilter in the request. Any console aiming to filter their output should present this Filter tag to the WS-Man implementation. The example included in section 2.1 is a simple usage of the filter. The command without the filter returns all the instances of NICView class that represents the network devices in the server. If the server has four network devices with multiple ports (N) 4 x N instances are returned. If the ports are further partitioned, many instances are returned. To filter a particular instance from a large number of output instances, the 6 No Restrictions Filter Dialects

Selector Filter can be used. The selector filter will enable the console to quickly query an instance based on a Property=Value expression. 2.2.1 Combining Selectors The example in section 2.1, indicates the use of one Selector Filter to filter the instances. However, multiple selectors can be provided in one Selector Query string for further filtration. The example here indicates the use of multiple selectors in an enumeration command, winrm e "http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/dcim_nicview? cimnamespace=root/dcim" -u:<user> -p:<password> - r:https://<ip>/wsman -encoding:utf-8 -a:basic -SkipCNcheck -SkipCAcheck - filter:"{slotlength = "0004";FunctionNumber = "7" }" - dialect:http://schemas.dmtf.org/wbem/wsman/1/wsman/selectorfilter The above example indicates the use of a string selector along with an integer selector. The instances that matches SlotLength= 0004 AND FunctionNumber= 7 will be returned. 2.2.2 SOAP Request Format Following is an example of the SOAP request format for using the selector filter as indicated in the example in section 2.2.1. <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:n="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd" xmlns:b="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"> <s:header> <a:to>https://<ip>:<port>/wsman</a:to> <w:resourceuri s:mustunderstand="true">http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/dcim_nicview</w:resourceuri> </s:header> <s:body> <n:enumerate> <w:filter Dialect="http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter"> <wsman:selectorset xmlns:wsman='http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd'> <wsman:selector Name='SlotLength'>0004</wsman:Selector> <wsman:selector Name='FunctionNumber'>7</wsman:Selector> 7 No Restrictions Filter Dialects

</wsman:selectorset> </w:filter> </n:enumerate> </s:body> </s:envelope> 2.3 Query Languages (CQL and WQL) CQL (CIM Query Language) and WQL (Windows Management Instrumentation Query Language) are languages derived from SQL with minor semantic changes. In WS-Man, both Enumeration and subscription can use the query languages to select a particular instances of a class. CQL is a DMTF standard and WQL is a Microsoft s implementation of CQL. Familiarity with the syntax of SQL will ease the use of CQL or WQL. The query languages can be used as part of any WS-Man enumeration or subscription call. 2.3.1 Enumeration and Query Languages You can use the CQL in an enumeration as follows. winrm e cimv2/dcim_nicview -u:<userid> -p:<password> -r:https://<ip>/wsman - a:basic -encoding:utf-8 -skipcacheck -skipcncheck - dialect:http://schemas.dmtf.org/wbem/cql/1/dsp0202.pdf -filter:"select * from DCIM_NICView WHERE SlotLength='0004 " You can use the WQL in an enumeration as follows, winrm e cimv2/dcim_memoryview -u:<userid> -p:<password> -r:https://ip/wsman - SkipCNcheck -SkipCAcheck -encoding:utf-8 -a:basic - dialect:http://schemas.microsoft.com/wbem/wsman/1/wql -filter:"select * from DCIM_MemoryView WHERE BankLabel='A'" The commands are similar except for the specified dialect (highlighted). The CQL specifies the DMTF specification as the dialect, whereas the WQL uses a different dialect. The above commands return the same output as the SelectorFilter (described in Section 2.1). However, the query language provides more options to set the conditions. The CQL and WQL can be used interchangeably. Users familiar with WMI will prefer to use WQL whereas CQL is traditional CIM query infrastructure defined as a DMTF specification. To find out about the possible query strings, refer to the CQL and WQL specification. For details on CQL, go to 8 No Restrictions Filter Dialects

http://www.dmtf.org/sites/default/files/standards/documents/dsp0202_1.0.0.pdf For details on WQL, go to http://msdn.microsoft.com/en-us/library/aa394606(v=vs.85).aspx 2.4 Dialects and Associations 2.4.1 What are Associations? Association classes describe the relation between two CIM classes. An association class has two major properties that link the classes with each other. Figure 1: A UML diagram to show Associations The figure here (DMTF Sensor Profile) indicates the various classes and the association between the classes. The ComputerSystem class is associated with the Sensor class as a SystemDevice. Similarly, fans, power supply units (PSUs), processors, and so on are associated to the ComputerSystem as a SystemDevice. 2.4.2 Associators 9 No Restrictions Filter Dialects

Associators operation is used to enumerate CIM Objects (Classes or Instances) that are associated to a particular source CIM Object. The following example indicates how the association classes of a source CIM Object, DCIM_ComputerSystem can be derived using a WinRM command. winrm e http://schemas.dell.com/wbem/wscim/1/cim-schema/2/* -dialect:association -associations - filter:{object=dcim_computersystem? cimnamespace=root/dcim+creationclassname=dc IM_ComputerSystem+Name=srv:system} -u:<user> -p:<pwd> -r:https://<ip>/wsman - encoding:utf-8 -a:basic -SkipCNcheck SkipCAcheck This command here provides all the associations (an association is a pair of related or associated EPRs of instance) which have one of the instances matching the filter condition. The value of the filter, is the selector set for an instance of DCIM_ComputerSystem and may be obtained by enumerating the End Point Reference (EPR) of DCIM_ComputerSystem. The above example will return the EPRs of all the instances which are associated with the ComputerSystem class instance. Output of few instances from multiple instances is given here. DCIM_LCUseOfLog Antecedent EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_lcrecordlog SelectorSet Selector: InstanceID = DCIM:LifeCycleLog Selector: cimnamespace = root/dcim Dependent EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_computersystem SelectorSet Selector: Name = srv:system Selector: CreationClassName = DCIM_ComputerSystem Selector: cimnamespace = root/dcim DCIM_SELUseOfLog Antecedent EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_selrecordlog SelectorSet 10 No Restrictions Filter Dialects

Selector: InstanceID = DCIM:SEL:1 Selector: cimnamespace = root/dcim Dependent EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_computersystem SelectorSet Selector: Name = srv:system Selector: CreationClassName = DCIM_ComputerSystem Selector: cimnamespace = root/dcim The corresponding SOAP request packet is given here, <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"> <s:header> </s:header> <s:body> <wsen:enumerate> <wsman:filter Dialect="http://schemas.dmtf.org/wbem/wsman/1/cimbinding/associationFilter" xmlns:b="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"> <b:associationinstances> <b:object> <wsa:address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</ws a:address> <wsa:referenceparameters> <wsman:resourceuri>http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_computersystem</wsman:resourceuri> <wsman:selectorset> <wsman:selector Name=" cimnamespace">root/dcim</wsman:selector> <wsman:selector Name="CreationClassName">DCIM_ComputerSystem</wsman:Selector> <wsman:selector Name="Name">srv:system</wsman:Selector> </wsman:selectorset> </wsa:referenceparameters> </b:object> </b:associationinstances> 11 No Restrictions Filter Dialects

</wsman:filter> </wsen:enumerate> </s:body> </s:envelope> 2.4.3 References References operation is used to enumerate the association objects that refer to a particular target CIM Object (Class or Instance). It is quite similar to the Associators except for the fact that the associations are not listed, but all of the instances associated to the target CIM class instance is listed. The WinRM command to find the references is very similar to the command run to find the associations, The associations option must be removed. The following WinRM command indicates the method to enumerate the references of target DCIM_ComputerSystem. winrm e http://schemas.dell.com/wbem/wscim/1/cim-schema/2/* -dialect:association - filter:{object=dcim_computersystem? cimnamespace=root/dcim+creationclassname=dc IM_ComputerSystem+Name=srv:system} -u:<user> -p:<pwd> -r:https://<ip>/wsman - encoding:utf-8 -a:basic -SkipCNcheck -SkipCAcheck The above example will return all the device instances that are associated with the ComputerSystem class instance. Output of an instance from the multiple instances is given here. DCIM_LCRecordLog CurrentNumberOfRecords = 4980 ElementName = LifeCycle Log EnabledState = 2 HealthState = 5 InstanceID = DCIM:LifeCycleLog LogState = 2 MaxNumberOfRecords = 0 OperationalStatus = 2 OverwritePolicy = 8 RequestedState = 12 DCIM_SELRecordLog CurrentNumberOfRecords = 34 ElementName = System Event Log EnabledState = 2 HealthState = 5 InstanceID = DCIM:SEL:1 LogState = 2 MaxNumberOfRecords = 512 12 No Restrictions Filter Dialects

OperationalStatus = 2 OverwritePolicy = 7 RequestedState = 12 The corresponding SOAP request packet is given here. <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"> <s:header> </s:header> <s:body> <wsen:enumerate> <wsman:filter Dialect="http://schemas.dmtf.org/wbem/wsman/1/cimbinding/associationFilter" xmlns:b="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"> <b:associatedinstances> <b:object> <wsa:address>http://schemas.xmlsoap.org/ws/2004/08/addressing/rol e/anonymous</wsa:address> <wsa:referenceparameters> <wsman:resourceuri>http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_computersystem</wsman:resourceuri> <wsman:selectorset> <wsman:selector Name=" cimnamespace">root/dcim</wsman:selector> <wsman:selector Name="CreationClassName">DCIM_ComputerSystem</wsman:Selector> <wsman:selector Name="Name">srv:system</wsman:Selector> </wsman:selectorset> </wsa:referenceparameters> </b:object> </b:associatedinstances> </wsman:filter> </wsen:enumerate> </s:body> </s:envelope> 13 No Restrictions Filter Dialects

3 Filtering on Subscriptions The Subscribe message allows a client to express interest in receiving events. Filters are used to identify the event or events a client wants to receive. The Subscription can be generic on a class of events or be specific to particular property in the class. 3.1 Subscription Management WS-Man specification defines a subscription-driven methodology for CIM indications. For any necessary event in idrac, the console can subscribe to an event class and redirect the generated events to an event sink address provided in the subscription request. For any subscription request, a similar SOAP request packet is returned. <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"> <s:header> <wsa:action s:mustunderstand="true">http://schemas.xmlsoap.org/ws/2004/08/eventing/subscribe</w sa:action> <wsa:to s:mustunderstand="true"> Service Transport Address </wsa:to> <wsman:resourceuri s:mustunderstand="true"> Resource URI </wsman:resourceuri> <wsa:messageid s:mustunderstand="true">urn:uuid:4a8eeae1-b32c-11e3-b73a- 2cd05a84c9be</wsa:MessageID> <wsa:replyto> <wsa:address/> </wsa:replyto> <wsman:selectorset> <wsman:selector Name=" cimnamespace">root/dcim</wsman:selector> </wsman:selectorset> </s:header> <s:body> <wse:subscribe> <wse:delivery Mode="http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"> <wse:notifyto> <wsa:address> eventsink url </wsa:address> </wse:notifyto> <wsman:heartbeats> heart beat </wsman:heartbeats> </wse:delivery> <wsman:filter Dialect="http://schemas.microsoft.com/wbem/wsman/1/WQL">SELECT * FROM DCIM_LifecycleJobAlertIndication</wsman:Filter> </wse:subscribe> </s:body> </s:envelope> 14 No Restrictions Filter Dialects

The above SOAP packet includes the Filter tag which specifies the instances of the indication provider required when an event occurs. The WQL query can be modified to create a subscription for a particular job by adding the clause, WHERE JOB_ID=<job id>. The job id is typically a response received from the server after the user creates a job. 3.2 Usage from Different Consoles 3.2.1 Windows PowerShell WinRM as a tool does not provide support for Ws-events. However, we can subscribe to events from powershell. A powershell example of subscription to events is given here.. Register-CimIndicationEvent -Query "SELECT * FROM DCIM_LifecycleJobAlertIndication" -Namespace root/dcim -MessageData "New Event Has Come" -Action {$Global:myevent = $event } -CimSession $Session - SourceIdentifier "Test2" The usage of query is the same for powershell. 3.2.2 Linux WS-Man CLI The Linux WS-Man CLI provides support for WS-Events. The below command provides a subscription request to idrac and creates a filter for the instances of the indication class where PerceivedSecurity property is equal to 2. This filtration is possible by using dialects. wsman subscribe 'http://schemas.dmtf.org/wbem/wscim/1/*' -x "SELECT * FROM DCIM_LifecycleJobAlertIndication WHERE PerceivedSeverity='2'" -D 'http://schemas.dmtf.org/wbem/cql/1/dsp0202.pdf' -Z 'http://10.94.44.69:80/eventsink' -h 10.94.195.40 -P 443 -u root -p calvin -v -j utf-8 -y basic -R -o -m 256 -N root/dcim -c dummy -V -r 600 15 No Restrictions Filter Dialects

4 Fragment Transfer Fragment Transfer may also be an effective way to assist in filtering unnecessary data. In other transfer methods, transfer is done at instance level. However, Fragment Transfer enables to perform fragment or property level transfers while doing GET or ENUMERATION operation. In winrm, -fragment:<property Name> should transfer only the property specified in <Property Name> option. The following SOAP packet indicates the process to get only the InstanceIDs from an enumeration of LCEnumeration. <?xml version="1.0" encoding="utf-8"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"> <s:header> <wsa:action s:mustunderstand="true">http://schemas.xmlsoap.org/ws/2004/09/enumeration/enu merate</wsa:action> <wsa:to s:mustunderstand="true"> Service Transport Address </wsa:to> <wsman:resourceuri s:mustunderstand="true">http://schemas.dell.com/wbem/wscim/1/cimschema/2/dcim_lcenumeration</wsman:resourceuri> <wsa:messageid s:mustunderstand="true">urn:uuid:21a0e230-b644-11e3-8ef4-2cd05a84c9be</wsa:messageid> <wsa:replyto> <wsa:address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous< /wsa:address> </wsa:replyto> <wsman:selectorset> <wsman:selector Name=" cimnamespace">root/dcim</wsman:selector> </wsman:selectorset> <wsman:fragmenttransfer s:mustunderstand="true">instanceid</wsman:fragmenttransfer> </s:header> <s:body> <wsen:enumerate> </wsen:enumerate> </s:body> </s:envelope> 16 No Restrictions Filter Dialects

5 Conclusion The use of dialects in WS-Man SOAP requests enable the consoles to filter data based on the requirements. WS-Man responses may become large and difficult to manage. If the console requires particular instances matching certain conditions then filter dialect is a useful tool. This can be further improved by using Fragment Transfers which transfer only a particular property of a selected instance. 17 No Restrictions Filter Dialects

6 Appendix A List of abbreviations: Acronym EPR DMTF CIM CIM-OM WS-Man SOAP LC Definition End Point Reference, a selector set that uniquely identifies an object/instance. Distributed Management Task Force Common Information Model CIM-Object Manager Web Services for Management Simple Object Access Protocol Lifecycle Controller 18 No Restrictions Filter Dialects