HP Insight Management WBEM Providers for HP integrated VMware ESXi 5.0 U1 June 2012 Profiles

Version 2.0.0 HP Software Inventory and Update Profile 5
3 Profile 1023 - Software Inventory Profile Changes
3.1 Installed Software vs. Available Software
The 1023 profile, Section 7.1, says that an implementation will model Installed Software, Available
Software or both. HP shall support Installed Software as indicated in the profile to report on software and
firmware installed on a managed element.
HP shall model Available Software to report software and firmware available to install as part of an
optional software repository provider. See the section Software Repository Service below for more details
on how the repository will model Available software.
Optionally, providers may model Available Software if they have access to SW/FW that can be installed
on that computer system. This functionality is useful if the provider also supports the 1025 profile and can
install SW/FW, since in this case it is not necessary for the client application to be aware of a repository.
For more details on this, see the use case model Installing Available Software No Client App
Repository Requirement.
3.2 Versioning
Providers should make every attempt to use the Major Version, Minor Version, Revision and Build
Number fields rather than (or in addition to) the VersionString. Client applications (e.g. HP Systems
Insight Manager) have a much easier time doing version comparisons between components if the
versions are indicated numerically.
3.2.1 HP Internal Requirements
Example version sorting algorithm.
if str1 is null or str2 is null
if str1 is null and str2 is not null
return 1
else if str1 is not null and str2 is null
return -1
else
return 0
else
split str1 into separate pieces, using ‘.’ as a token
split str2 into separate pieces, using ‘.’ as a token
for i = 1 to the number of tokens in str1
if (i > the number of tokens in str2)
result = 1
break
assign token i in str1 to s1
assign token i in str2 to s2
convert token i in str1 and str2 to upper case
call parseint on str1 to get an int n1
call parseint on str2 to get an int n2
if n1 is not a number or n2 is not a number
if n1 is not a number and n2 is not a number
if s1 < s2
result = -1
break