summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2013-10-10 11:03:11 +0200
committerMichal Minar <miminar@redhat.com>2013-10-10 15:43:08 +0200
commit3e0b8f0ead8fef515523ac350c38e49102ea504b (patch)
tree3ffdee6bcb8df101a7eec9b4a319eba88f1994e5 /src
parentcf5704b8d17215a6a45901ac09daee10850952ed (diff)
downloadopenlmi-providers-3e0b8f0ead8fef515523ac350c38e49102ea504b.tar.gz
openlmi-providers-3e0b8f0ead8fef515523ac350c38e49102ea504b.tar.xz
openlmi-providers-3e0b8f0ead8fef515523ac350c38e49102ea504b.zip
software: documentation improvements
Added a short introduction to OpenLMI Software provider documentation.
Diffstat (limited to 'src')
-rw-r--r--src/software/doc/admin/_static/Makefile16
-rw-r--r--src/software/doc/admin/_static/software-profile.diabin0 -> 5319 bytes
-rw-r--r--src/software/doc/admin/_static/software-profile.svg255
-rw-r--r--src/software/doc/admin/dmtf.rst68
-rw-r--r--src/software/doc/admin/index.rst1
-rw-r--r--src/software/doc/admin/introduction.rst158
-rw-r--r--src/software/doc/admin/usage.rst8
7 files changed, 506 insertions, 0 deletions
diff --git a/src/software/doc/admin/_static/Makefile b/src/software/doc/admin/_static/Makefile
new file mode 100644
index 0000000..6603451
--- /dev/null
+++ b/src/software/doc/admin/_static/Makefile
@@ -0,0 +1,16 @@
+FIGS=$(wildcard *.eps *.svg *.dia)
+TARGETS=$(foreach f,$(filter %.dia,$(FIGS)),$(basename $(f)).svg)
+
+all: $(TARGETS)
+
+%.pdf: %.eps
+ epstopdf $^ --outfile=$@
+
+%.eps: %.dia
+ dia -t eps -e $@ $?
+
+%.svg: %.dia
+ dia -t svg -e $@ $?
+
+%.pdf: %.svg
+ inkscape --export-pdf=$@ -f $?
diff --git a/src/software/doc/admin/_static/software-profile.dia b/src/software/doc/admin/_static/software-profile.dia
new file mode 100644
index 0000000..35638d3
--- /dev/null
+++ b/src/software/doc/admin/_static/software-profile.dia
Binary files differ
diff --git a/src/software/doc/admin/_static/software-profile.svg b/src/software/doc/admin/_static/software-profile.svg
new file mode 100644
index 0000000..42c2103
--- /dev/null
+++ b/src/software/doc/admin/_static/software-profile.svg
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="65cm" height="57cm" viewBox="46 600 1299 1127" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g>
+ <rect style="fill: #ade5ff" x="667.338" y="833.972" width="210.2" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="667.338" y="833.972" width="210.2" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="772.438" y="852.972">SoftwareIdentity</text>
+ <rect style="fill: #ade5ff" x="667.338" y="861.972" width="210.2" height="228"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="667.338" y="861.972" width="210.2" height="228"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="875.972">+* InstanceID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="891.972">+Caption: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="907.972">+Classifications: uint16[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="923.972">+Description: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="939.972">+ElementName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="955.972">+InstallDate: datetime</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="971.972">+IsEntity: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="987.972">+Name: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1003.97">+TargetTypes: string[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1019.97">+VersionString: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1035.97">+Epoch: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1051.97">+Version: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1067.97">+Release: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.338" y="1083.97">+Architecture: string</text>
+ </g>
+ <g>
+ <rect style="fill: #ade5ff" x="973.838" y="995.604" width="279.5" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="973.838" y="995.604" width="279.5" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="1113.59" y="1014.6">SoftwareIdentityResource</text>
+ <rect style="fill: #ade5ff" x="973.838" y="1023.6" width="279.5" height="484"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="973.838" y="1023.6" width="279.5" height="484"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1037.6">+* CreationClassName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1053.6">+* Name: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1069.6">+* SystemCreationClassName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1085.6">+* SystemName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1101.6">+AccessContext: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1117.6">+AccessInfo: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1133.6">+AvailableRequestedStates: uint16[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1149.6">+Caption: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1165.6">+Cost: sint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1181.6">+Description: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1197.6">+ElementName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1213.6">+EnabledDefault: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1229.6">+EnabledState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1245.6">+ExtendedResourceType: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1261.6">+Generation: uint64</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1277.6">+HealthState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1293.6">+GPGCheck: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1309.6">+InfoFormat: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1325.6">+InstanceID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1341.6">+MirrorList: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1357.6">+OperationalStatus: uint16[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1373.6">+OtherAccessContext: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1389.6">+PrimaryStatus: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1405.6">+RepoGPGCheck: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1421.6">+RequestedState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1437.6">+ResourceType: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1453.6">+StatusDescriptions: string[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1469.6">+TimeOfLastStateChange: datetime</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1485.6">+TimeOfLastUpdate: datetime</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1501.6">+TransitioningToState: uin16</text>
+ <rect style="fill: #ade5ff" x="973.838" y="1507.6" width="279.5" height="20"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="973.838" y="1507.6" width="279.5" height="20"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="976.838" y="1521.6">+RequestStateChange(): uint32</text>
+ </g>
+ <g>
+ <rect style="fill: #ade5ff" x="989.738" y="661.988" width="247.7" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="989.738" y="661.988" width="247.7" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="1113.59" y="680.988">SystemSoftwareCollection</text>
+ <rect style="fill: #ade5ff" x="989.738" y="689.988" width="247.7" height="36"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="989.738" y="689.988" width="247.7" height="36"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="992.738" y="703.988">+* InstanceID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="992.738" y="719.988">+Caption: string</text>
+ </g>
+ <g>
+ <rect style="fill: #ffffff" x="246.578" y="657.988" width="225.6" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="246.578" y="657.988" width="225.6" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="359.378" y="676.988">CIM_ComputerSystem</text>
+ <rect style="fill: #ffffff" x="246.578" y="685.988" width="225.6" height="36"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="246.578" y="685.988" width="225.6" height="36"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="249.578" y="699.988">+* CreationClassName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="249.578" y="715.988">+* Name: string</text>
+ <rect style="fill: #ffffff" x="246.578" y="721.988" width="225.6" height="8"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="246.578" y="721.988" width="225.6" height="8"/>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="359.378,729.988 359.378,818.898 522.536,818.898 522.536,903.972 667.338,903.972 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="440.957" y="815.898">InstalledSoftwareIdentity</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="741.988"> System</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="757.988">*</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="663.338" y="900.972"> InstalledSoftware</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="663.338" y="916.972">*</text>
+ </g>
+ <g>
+ <rect style="fill: #ffffbd" x="208.078" y="1075.6" width="302.6" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="208.078" y="1075.6" width="302.6" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="359.378" y="1094.6">SoftwareInstallationService</text>
+ <rect style="fill: #ffffbd" x="208.078" y="1103.6" width="302.6" height="276"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="208.078" y="1103.6" width="302.6" height="276"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1117.6">+* CreationClassName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1133.6">+* Name: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1149.6">+* SystemCreationClassName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1165.6">+* SystemName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1181.6">+Caption: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1197.6">+CommunicationStatus: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1213.6">+Description: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1229.6">+DetailedStatus: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1245.6">+EnabledDefault: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1261.6">+HealthState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1277.6">+InstanceID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1293.6">+OperatingStatus: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1309.6">+OperationalStatus: uint16[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1325.6">+PrimaryStatus: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1341.6">+RequestedState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1357.6">+Started: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1373.6">+TransitioningToState: uint16</text>
+ <rect style="fill: #ffffbd" x="208.078" y="1379.6" width="302.6" height="68"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="208.078" y="1379.6" width="302.6" height="68"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1393.6">+CheckSoftwareIdentity(): uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1409.6">+InstallFromSoftwareIdentity(): uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1425.6">+InstallFromURI(): uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="211.078" y="1441.6">+VerifyInstalledIdentity(): uint32</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="473.185,693.988 474.185,693.988 987.73,693.988 988.73,693.988 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="730.958" y="690.988">HostedSoftwareCollection</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="477.185" y="690.988"> Antecedent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="477.185" y="706.988">1</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="984.73" y="690.988"> Dependent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="984.73" y="706.988">0..1</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="246.578,711.988 110.142,711.988 110.142,1145.6 208.078,1145.6 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="112.142" y="925.796">HostedSoftwareInstallationService</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="242.578" y="708.988"> Antecedent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="242.578" y="724.988">1</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="204.078" y="1142.6"> Dependent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="204.078" y="1158.6">*</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="246.578,671.988 47.8936,671.988 47.8936,1261.6 207.086,1261.6 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="49.8936" y="963.796">SoftwareInstallationServiceAffectsElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="242.578" y="668.988"> AffectedElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="242.578" y="684.988">1..*</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="203.086" y="1258.6"> AffectingElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="203.086" y="1274.6">*</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="877.538,847.972 877.538,847.972 1110.78,847.972 1110.78,847.972 1113.59,847.972 1113.59,995.604 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="1110.78" y="844.972">ResourceForSoftwareIdentity</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="881.538" y="844.972"> ManagedElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="881.538" y="860.972">1</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1117.59" y="975.604"> AvailableSAP</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1117.59" y="991.604">0..1</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="359.378,657.988 359.378,615.242 1344.25,615.242 1344.25,1261.6 1254.33,1261.6 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="851.813" y="612.242">HostedSoftwareIdentityResource</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="637.988"> Antecedent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="653.988">1</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1258.33" y="1258.6"> Dependent</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1258.33" y="1274.6">*</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" points="772.438,832.964 772.438,786.98 1113.59,786.98 1113.59,752.168 "/>
+ <polygon style="fill: #ffffff" points="1113.59,726.996 1118.39,740.996 1113.59,754.996 1108.79,740.996 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" points="1113.59,726.996 1118.39,740.996 1113.59,754.996 1108.79,740.996 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="943.013" y="783.98">MemberOfSoftwareCollection</text>
+ <polygon style="fill: #00ff00" points="838.913,783.98 838.913,775.98 830.913,779.98 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="776.438" y="812.964"> Member</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="776.438" y="828.964">*</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1124.59" y="738.996"> Collection</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="1124.59" y="754.996">*</text>
+ </g>
+ <g>
+ <rect style="fill: #ffffbd" x="216.654" y="1598.02" width="285.45" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="216.654" y="1598.02" width="285.45" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="359.379" y="1617.02">InstallationServiceCapabilities</text>
+ <rect style="fill: #ffffbd" x="216.654" y="1626.02" width="285.45" height="100"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="216.654" y="1626.02" width="285.45" height="100"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1640.02">+* InstanceID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1656.02">+CanAddToCollection: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1672.02">+SupportedTargetTypes: string[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1688.02">+SupportedInstallOptions: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1704.02">+Description: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="219.654" y="1720.02">+SupportedURISchemes</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="208.078,1389.6 76.875,1389.6 76.875,1668.02 216.654,1668.02 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="78.875" y="1525.81">AssociatedSoftwareInstallationServiceCapabilities</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="204.078" y="1386.6"> ManagedElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="204.078" y="1402.6">1..*</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="212.654" y="1665.02"> Capabilities</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="212.654" y="1681.02">1</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" points="667.338,967.972 667.338,967.972 311.152,967.972 311.152,1043.85 359.378,1043.85 359.378,1075.6 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="313.152" y="1002.91">SoftwareInstallationServiceAffectsElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="663.338" y="964.972"> AffectedElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="663.338" y="980.972">*</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="1055.6"> AffectingElement</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="363.378" y="1071.6">*</text>
+ </g>
+ <g>
+ <rect style="fill: #ffbfb3" x="624.988" y="1178.02" width="294.9" height="28"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="624.988" y="1178.02" width="294.9" height="28"/>
+ <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="772.438" y="1197.02">SoftwareIdentityFileCheck</text>
+ <rect style="fill: #ffbfb3" x="624.988" y="1206.02" width="294.9" height="484"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="624.988" y="1206.02" width="294.9" height="484"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1220.02">+* Name: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1236.02">+* CheckID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1252.02">+* SoftwareElementID: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1268.02">+* SoftwareElementState: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1284.02">+* TargetOperatingSystem: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1300.02">+* Version: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1316.02">+CheckMode: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1332.02">+ChecksumType: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1348.02">+FailedFlags: uint16[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1364.02">+FileChecksum: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1380.02">+FileChecksumOriginal: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1396.02">+FileExists: boolean</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1412.02">+FileMode: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1428.02">+FileModeOriginal: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1444.02">+FileModeFlags: uint8[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1460.02">+FileModeFlagsOriginal: uint8[]</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1476.02">+FileName: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1492.02">+FileSize: uint64</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1508.02">+FileSizeOriginal: uint64</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1524.02">+FileType: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1540.02">+FileTypeOriginal: uint16</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1556.02">+GroupID: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1572.02">+GroupIDOriginal: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1588.02">+MD5Checksum: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1604.02">+LastModificationTime: uint64</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1620.02">+LastModificationTimeOriginal: uint64</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1636.02">+LinkTarget: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1652.02">+LinkTargetOriginal: string</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1668.02">+UserID: uint32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1684.02">+UserIDOriginal: uint32</text>
+ <rect style="fill: #ffbfb3" x="624.988" y="1690.02" width="294.9" height="36"/>
+ <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="624.988" y="1690.02" width="294.9" height="36"/>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1704.02">+Invoke(): uin32</text>
+ <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="627.988" y="1720.02">+InvokeOnSystem(): uint32</text>
+ </g>
+ <g>
+ <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" points="772.438,1116.12 772.438,1141.11 772.438,1141.11 772.438,1177.05 "/>
+ <polygon style="fill: #ffffff" points="772.438,1090.95 777.238,1104.95 772.438,1118.95 767.638,1104.95 "/>
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #00ff00" points="772.438,1090.95 777.238,1104.95 772.438,1118.95 767.638,1104.95 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="774.438" y="1138.11">FileIdentityChecks</text>
+ <polygon style="fill: #00ff00" points="915.038,1138.11 915.038,1130.11 923.038,1134.11 "/>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="783.438" y="1102.95"> Element</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="783.438" y="1118.95">1</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="776.438" y="1157.05"> Check</text>
+ <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="776.438" y="1173.05">*</text>
+ </g>
+</svg>
diff --git a/src/software/doc/admin/dmtf.rst b/src/software/doc/admin/dmtf.rst
index c274bfa..9aa460c 100644
--- a/src/software/doc/admin/dmtf.rst
+++ b/src/software/doc/admin/dmtf.rst
@@ -1,3 +1,5 @@
+.. _dmtf_profiles:
+
DMTF profiles
=============
OpenLMI Software providers implement two *DMTF* profiles:
@@ -5,6 +7,8 @@ OpenLMI Software providers implement two *DMTF* profiles:
* `Software Inventory Profile`_
* `Software Update Profile`_
+.. _software_inventory_profile:
+
Software Inventory Profile
--------------------------
Implemented *DMTF* version: ``1.0.1``
@@ -145,6 +149,34 @@ List of additional attributes of ``LMI_SoftwareIdentityResource``:
``TimeOfLastUpdate`` : datetime
Time of repository's last update on server.
+Class overview
+~~~~~~~~~~~~~~
+
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | Class-name | Parent_class | Type |
+ +===============================================================================+=====================================================================+==================+
+ | :ref:`LMI_SoftwareIdentity<LMI-SoftwareIdentity>` | :ref:`CIM_SoftwareIdentity<CIM-SoftwareIdentity>` | Plain |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_SystemSoftwareCollection<LMI-SystemSoftwareCollection>` | :ref:`CIM_SystemSpecificCollection<CIM-SystemSpecificCollection>` | Plain |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_SoftwareIdentityResource<LMI-SoftwareIdentityResource>` | :ref:`CIM_SoftwareIdentityResource<CIM-SoftwareIdentityResource>` | Plain |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_HostedSoftwareCollection<LMI-HostedSoftwareCollection>` | :ref:`CIM_HostedCollection<CIM-HostedCollection>` | Association |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_InstalledSoftwareIdentity<LMI-InstalledSoftwareIdentity>` | :ref:`CIM_InstalledSoftwareIdentity<CIM-InstalledSoftwareIdentity>` | Association |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_HostedSoftwareIdentityResource<LMI-HostedSoftwareIdentityResource>` | :ref:`CIM_HostedAccessPoint<CIM-HostedAccessPoint>` | Association |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_ResourceForSoftwareIdentity<LMI-ResourceForSoftwareIdentity>` | :ref:`CIM_SAPAvailableForElement<CIM-SAPAvailableForElement>` | Association |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+ | :ref:`LMI_MemberOfSoftwareCollection<LMI-MemberOfSoftwareCollection>` | :ref:`CIM_MemberOfCollection<CIM-MemberOfCollection>` | Aggregation |
+ +-------------------------------------------------------------------------------+---------------------------------------------------------------------+------------------+
+
+ .. seealso::
+ Class model in :ref:`introduction` where above classes are coloured blue.
+
+.. _software_update_profile:
+
Software Update Profile
-----------------------
Implemented *DMTF* version: ``1.0.0``
@@ -204,6 +236,8 @@ Following methods have been added:
This allows to run verification test on particular *Software Identity*
and returns a list of files that failed.
+.. _package_searching:
+
Package searching
^^^^^^^^^^^^^^^^^
On modern Linux distributions we have thousands of software packages
@@ -219,6 +253,40 @@ added to
:ref:`LMI_SoftwareInstallationService<LMI-SoftwareInstallationService>`
allowing to create complex queries on package database.
+Class overview
+~~~~~~~~~~~~~~
+
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | Class-name | Parent_class | Type |
+ +=====================================================================================================+=========================================================================+====================+
+ | :ref:`LMI_SoftwareInstallationService<LMI-SoftwareInstallationService>` | :ref:`CIM_SoftwareInstallationService<CIM-SoftwareInstallationService>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareJob<LMI-SoftwareJob>` | :ref:`LMI_ConcreteJob<LMI-ConcreteJob>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareInstallationJob<LMI-SoftwareInstallationJob>` | :ref:`LMI_SoftwareJob<LMI-SoftwareJob>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareVerificationJob<LMI-SoftwareVerificationJob>` | :ref:`LMI_SoftwareJob<LMI-SoftwareJob>` | Association |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareMethodResult<LMI-SoftwareMethodResult>` | :ref:`LMI_MethodResult<LMI-MethodResult>` | Association |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareIdentityFileCheck<LMI-SoftwareIdentityFileCheck>` | :ref:`CIM_FileSpecification<CIM-FileSpecification>` | Association |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareInstallationServiceAffectsElement<LMI-SoftwareInstallationServiceAffectsElement>` | :ref:`CIM_ServiceAffectsElement<CIM-ServiceAffectsElement>` | Association |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_SoftwareIdentityChecks<LMI-SoftwareIdentityChecks>` | | Aggregation |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_HostedSoftwareInstallationService<LMI-HostedSoftwareInstallationService>` | :ref:`CIM_HostedService<CIM-HostedService>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_AffectedSoftwareJobElement<LMI-AffectedSoftwareJobElement>` | :ref:`CIM_AffectedJobElement<CIM-AffectedJobElement>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_OwningSoftwareJobElement<LMI-OwningSoftwareJobElement>` | :ref:`LMI_OwningJobElement<LMI-OwningJobElement>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+ | :ref:`LMI_AssociatedSoftwareJobMethodResult<LMI-AssociatedSoftwareJobMethodResult>` | :ref:`LMI_AssociatedJobMethodResult<LMI-AssociatedJobMethodResult>` | Plain |
+ +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+--------------------+
+
+ .. seealso::
+ Class model in :ref:`introduction` where above classes are coloured blue.
+
..
***************************************************************************
.. _DSP1023: http://www.dmtf.org/sites/default/files/standards/documents/DSP1023_1.0.1.pdf
diff --git a/src/software/doc/admin/index.rst b/src/software/doc/admin/index.rst
index 35e57c3..5278214 100644
--- a/src/software/doc/admin/index.rst
+++ b/src/software/doc/admin/index.rst
@@ -11,6 +11,7 @@ Contents:
.. toctree::
:maxdepth: 2
+ introduction
dmtf
usage
diff --git a/src/software/doc/admin/introduction.rst b/src/software/doc/admin/introduction.rst
new file mode 100644
index 0000000..68923a8
--- /dev/null
+++ b/src/software/doc/admin/introduction.rst
@@ -0,0 +1,158 @@
+.. _introduction:
+
+Introduction
+============
+*OpenLMI Software* provider allows to query and manipulate software package
+database on remote hosts. They utilize :abbr:`YUM (Yellowdog Updater
+Modified)` which is a standard package manager for several *GNU/Linux*
+distributions. They provide the subset of its functionality.
+
+*RPM* database, repositories and the package manager itself are modeled with
+*CIM* classes according to several *DMTF* profiles described
+:ref:`later<dmtf_profiles>`. To make a query on database, install, update a
+remove some *RPM* package means to trigger some operation on one or several
+*CIM* classes. This page explains the mapping of mentioned objects to
+corresponding classes.
+
+.. figure:: _static/software-profile.svg
+ :alt: OpenLMI Software class model
+ :width: 800px
+
+ This model shows classes representing various objects taking role in
+ software management provided by *OpenLMI Software* provider.
+
+Classes with the blue background belong to :ref:`software_inventory_profile`.
+Classes painted yellow belong to :ref:`software_update_profile` that builds on
+the former one. Classes painted red/pink are extensions not beloning to any
+*DMTF* profile.
+
+Mapping of objects to *CIM* classes
+-----------------------------------
+*RPM* package : :ref:`LMI_SoftwareIdentity<LMI-SoftwareIdentity>`
+ Is represented by ``LMI_SoftwareIdentity``. It's identified by a single
+ key property called
+ :ref:`LMI_SoftwareIdentity.InstanceID<LMI-SoftwareIdentity-InstanceID>`.
+ This is a composition of some *CIM* related prefix with package's *NEVRA*
+ string. It's the similar string you may see, when listing package with
+ ``rpm`` tool: ::
+
+ $ rpm -qa 'openlmi-*' vim-enhanced
+ openlmi-python-base-0.3.0_5_gf056906-2.fc21.noarch
+ openlmi-providers-0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-indicationmanager-libs-0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-account-0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-service-0.3.0_5_gf056906-2.fc21.x86_64
+ vim-enhanced-7.4.027-2.fc20.x86_64
+ openlmi-logicalfile-0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-storage-0.6.0-2.fc20.noarch
+ openlmi-python-providers-0.3.0_5_gf056906-2.fc21.noarch
+ openlmi-providers-debuginfo-0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-software-0.3.0_5_gf056906-2.fc21.noarch
+
+ except for *Epoch* part, which is omitted by ``rpm`` tool but is
+ required to be present in ``InstanceID`` by instrumenting provider.
+ To get the expected output, the above command needs to be modified: ::
+
+ $ rpm --qf '%{NAME}-%{EPOCH}:%{VERSION}-%{RELEASE}.%{ARCH}\n' -qa 'openlmi-*' | sed 's/(none)/0/'
+ openlmi-python-base-0:0.3.0_5_gf056906-2.fc21.noarch
+ openlmi-providers-0:0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-indicationmanager-libs-0:0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-account-0:0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-service-0:0.3.0_5_gf056906-2.fc21.x86_64
+ vim-enhanced-2:7.4.027-2.fc20.x86_64
+ openlmi-logicalfile-0:0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-storage-0:0.6.0-2.fc20.noarch
+ openlmi-python-providers-0:0.3.0_5_gf056906-2.fc21.noarch
+ openlmi-providers-debuginfo-0:0.3.0_5_gf056906-2.fc21.x86_64
+ openlmi-software-0:0.3.0_5_gf056906-2.fc21.noarch
+
+ Some *RPM* packages do not define *Epoch* part, which means its 0 although
+ ``rpm`` returns ``(none)``.
+
+ When installing, updating or removing package, we operate upon an
+ instance or object path of this class.
+
+ .. seealso::
+ :ref:`identifying_software_identity`
+
+Repository : :ref:`LMI_SoftwareIdentityResource<LMI-SoftwareIdentityResource>`
+ Is represented by ``LMI_SoftwareIdentityResource``. What distinguishes
+ particular repository from others on the same system is a
+ :ref:`LMI_SoftwareIdentityResource.Name<LMI-SoftwareIdentityResource-Name>`
+ key property. It's the name of repository written in square brackets in
+ repository config. Not the configuration file name, not the ``name``
+ option, but a the name of section. See the example of ``OpenLMI Nightly``
+ repository: ::
+
+ $ cat /etc/yum.repos.d/openlmi-nightly.repo
+ [openlmi-nightly]
+ name=OpenLMI Nightly
+ baseurl=http://openlmi-rnovacek.rhcloud.com/rpm/rawhide/
+ gpgcheck=0
+ enabled = 1
+
+ The ``Name`` property of corresponding *Software Identity Resource* will
+ be ``openlmi-nightly``.
+
+Installed file : :ref:`LMI_SoftwareIdentityFileCheck<LMI-SoftwareIdentityFileCheck>`
+ Is represented by ``LMI_SoftwareIdentityFileCheck``. Represents a
+ verification check of particular file installed by *RPM* package. It contains
+ attributes being checked, like:
+
+ * ``User ID``, ``Group ID``
+ * ``Checksum``
+ * ``Link Target``
+ * ``File Mode`` and others
+
+ Each is present twice. One property represents the current value of
+ installed file and the other the value stored in *RPM* package, that the
+ file should have. The later properties have ``Original`` suffix. So for
+ example:
+
+ * :ref:`UserID<LMI-SoftwareIdentityFileCheck-UserID>` vs
+ :ref:`UserIDOriginal<LMI-SoftwareIdentityFileCheck-UserIDOriginal>`
+ * :ref:`FileChecksum<LMI-SoftwareIdentityFileCheck-FileChecksum>` vs
+ :ref:`FileChecksumOriginal<LMI-SoftwareIdentityFileCheck-FileChecksumOriginal>`
+
+ Mentioned attributes are compared when the package verification is done.
+ Single file can also be easily checked. Either by running
+ :ref:`LMI_SoftwareIdentityFileCheck.Invoke()<LMI-SoftwareIdentityFileCheck-Invoke>`
+ method on particular object path or by testing the
+ :ref:`FailedFlags<LMI-SoftwareIdentityFileCheck-FailedFlags>` property for
+ emptiness. If its empty, the file or directory passed the verification test.
+
+*RPM* database : :ref:`LMI_SystemSoftwareCollection<LMI-SystemSoftwareCollection>`
+ Is represented by ``LMI_SystemSoftwareCollection``. Administrator probably
+ won't be interested in this class. The
+ :ref:`LMI_MemberOfSoftwareCollection<LMI-MemberOfSoftwareCollection>`
+ association class associates this collection with available and installed
+ *Software Identities*. It can not be enumerated --- due to the same reason
+ as in case of :ref:`LMI_SoftwareIdentity<LMI-SoftwareIdentity>` (see the
+ explanation in :ref:`package_searching`).
+
+*YUM* package manager : :ref:`LMI_SoftwareInstallationService<LMI-SoftwareInstallationService>`
+ Is represented by ``LMI_SoftwareInstallationService``. Allows to query the
+ database, install, update, verify and remove *RPM* packages. All of this can
+ be achieved by invocations of its methods:
+
+ :ref:`FindIdentity()<LMI-SoftwareInstallationService-FindIdentity>`
+ Allows to query the database for matching packages.
+
+ :ref:`InstallFromSoftwareIdentity()<LMI-SoftwareInstallationService-InstallFromSoftwareIdentity>`
+ Allows to install, update or remove *RPM* package represented by an
+ instance of *Software Identity*.
+
+ :ref:`InstallFromURI()<LMI-SoftwareInstallationService-InstallFromURI>`
+ Allows to install or update *RPM* package located with particular
+ URI string.
+
+ :ref:`VerifyInstalledIdentity()<LMI-SoftwareInstallationService-VerifyInstalledIdentity>`.
+ Runs a verification check on given *Software Identity*.
+
+ .. seealso::
+ Examples on using above methods:
+
+ * :ref:`package_installation`
+ * :ref:`package_update`
+ * :ref:`package_removal`
+ * :ref:`package_verification`
diff --git a/src/software/doc/admin/usage.rst b/src/software/doc/admin/usage.rst
index 42cc2cd..5bc034f 100644
--- a/src/software/doc/admin/usage.rst
+++ b/src/software/doc/admin/usage.rst
@@ -170,6 +170,8 @@ See help on ``sw`` command for more information on this. ::
lmi -h $HOST sw list pkgs openlmi
+.. _package_installation:
+
Package installation
--------------------
There are two approaches to package installation. One is synchronous
@@ -314,6 +316,8 @@ the *CIMOM*.
lmi -h $HOST sw install sblim-sfcb
+.. _package_removal:
+
Package removal
---------------
Again both asynchronous and synchronous approaches are available.
@@ -360,6 +364,8 @@ deal with the ``ret`` value.
lmi -h $HOST sw remove sblim-sfcb
+.. _package_update:
+
Package update
--------------
Only asynchronous method is provided for this purpose. But with the possibility
@@ -389,6 +395,8 @@ Example below shows the synchronous invocation of asynchronous method. ::
lmi -h $HOST sw update sblim-sfcb
+.. _package_verification:
+
Package verification
--------------------
Installed *RPM* packages can be verified. Attributes of installed files