summaryrefslogtreecommitdiffstats
path: root/mof
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2013-03-20 12:59:49 +0100
committerMichal Minar <miminar@redhat.com>2013-03-20 12:59:49 +0100
commiteed3cc9b4b2a78e238ece6dab185e7c76ab13142 (patch)
tree8df1d6b3a3a60e42a27882e3d8003de8cddfa92c /mof
parent19ab3372fe708be3e937df5d1ed6945ac813b51c (diff)
downloadopenlmi-providers-eed3cc9b4b2a78e238ece6dab185e7c76ab13142.tar.gz
openlmi-providers-eed3cc9b4b2a78e238ece6dab185e7c76ab13142.tar.xz
openlmi-providers-eed3cc9b4b2a78e238ece6dab185e7c76ab13142.zip
added new providers, allowed for asynchronous jobs
new providers: LMI_SoftwareInstallationJob LMI_SoftwareInstallationService
Diffstat (limited to 'mof')
-rw-r--r--mof/LMI_Software.mof326
-rw-r--r--mof/LMI_Software.reg11
2 files changed, 337 insertions, 0 deletions
diff --git a/mof/LMI_Software.mof b/mof/LMI_Software.mof
index 35f2d79..8a2ca10 100644
--- a/mof/LMI_Software.mof
+++ b/mof/LMI_Software.mof
@@ -294,3 +294,329 @@ class LMI_HostedSoftwareIdentityResource : CIM_HostedAccessPoint {
};
+class LMI_SoftwareInstallationService : CIM_SoftwareInstallationService {
+
+ [Implemented(true), Override("CreationClassName")]
+ string CreationClassName;
+
+ [Implemented(true), Override("Name")]
+ string Name;
+
+ [Implemented(true), Override("SystemCreationClassName")]
+ string SystemCreationClassName;
+
+ [Implemented(true), Override("SystemName")]
+ string SystemName;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("DetailedStatus")]
+ uint16 DetailedStatus;
+
+ [Implemented(true), Override("EnabledDefault")]
+ uint16 EnabledDefault;
+
+ [Implemented(true), Override("EnabledState")]
+ uint16 EnabledState;
+
+ [Implemented(true), Override("HealthState")]
+ uint16 HealthState;
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("OperatingStatus")]
+ uint16 OperatingStatus;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 PrimaryStatus;
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 RequestedState;
+
+ [Implemented(true), Override("Started")]
+ boolean Started;
+
+ [Implemented(true), Override("TransitioningToState")]
+ uint16 TransitioningToState;
+
+ [Implemented(True), Override("CheckSoftwareIdentity")]
+ uint32 CheckSoftwareIdentity(
+ [IN, Description (
+ "Reference to the SoftwareIdentity to be checked." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "Reference to the ManagedElement that the Software "
+ "Identity is going to be installed in (or updated)." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity will be added." )]
+ LMI_SystemSoftwareCollection REF Collection,
+ [IN ( false ), OUT, Description (
+ "The parameter describes the characteristics of the "
+ "installation/update that will take place if the "
+ "Source Software Identity is installed: \n"
+ "Target automatic reset: The target element will "
+ "automatically reset once the installation is "
+ "complete. \n"
+ "System automatic reset: The containing system of "
+ "the target ManagedElement (normally a logical "
+ "device or the system itself) will automatically "
+ "reset/reboot once the installation is complete. \n"
+ "Separate target reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset the target element after the "
+ "SoftwareIdentity is installed. \n"
+ "Separate system reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset/reboot the containing system of the "
+ "target ManagedElement after the SoftwareIdentity "
+ "is installed. \n"
+ "Manual Reboot Required: The system MUST be "
+ "manually rebooted by the user. \n"
+ "No reboot required : No reboot is required after "
+ "installation. \n"
+ "User Intervention Recomended : It is recommended "
+ "that a user confirm installation of this "
+ "SoftwareIdentity. Inappropriate application MAY "
+ "have serious consequences. \n"
+ "MAY be added to specified collection : The "
+ "SoftwareIndentity MAY be added to specified "
+ "Collection." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "..", "0x7FFF..0xFFFF" },
+ Values { "Target automatic reset",
+ "System automatic reset",
+ "Separate target reset Required",
+ "Separate system reset Required",
+ "Manual Reboot Required", "No Reboot Required",
+ "User Intervention recommended",
+ "MAY be added to specified Collection",
+ "DMTF Reserved", "Vendor Specific" }]
+ uint16 InstallCharacteristics[]);
+
+ [Implemented(True), Override("InstallFromSoftwareIdentity")]
+ uint32 InstallFromSoftwareIdentity(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "Options to control the install process.\n"
+ "Defer target/system reset : do not automatically "
+ "reset the target/system.\n"
+ "Force installation : Force the installation of the "
+ "same or an older SoftwareIdentity. Install: "
+ "Perform an installation of this software on the "
+ "managed element.\n"
+ "Update: Perform an update of this software on the "
+ "managed element.\n"
+ "Repair: Perform a repair of the installation of "
+ "this software on the managed element by forcing "
+ "all the files required for installing the software "
+ "to be reinstalled.\n"
+ "Reboot: Reboot or reset the system immediately "
+ "after the install or update of this software, if "
+ "the install or the update requires a reboot or reset.\n"
+ "Password: Password will be specified as clear text "
+ "without any encryption for performing the install "
+ "or update.\n"
+ "Uninstall: Uninstall the software on the managed element.\n"
+ "Log: Create a log for the install or update of the software.\n"
+ "SilentMode: Perform the install or update without "
+ "displaying any user interface.\n"
+ "AdministrativeMode: Perform the install or update "
+ "of the software in the administrative mode. "
+ "ScheduleInstallAt: Indicates the time at which "
+ "theinstall or update of the software will occur." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additional information to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "If the index in InstallOptions has the value "
+ "\"Password \" then a value at the corresponding "
+ "index of InstallOptionValues shall not be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"ScheduleInstallAt\" then the value at the "
+ "corresponding index of InstallOptionValues shall "
+ "not be NULL and shall be in the datetime type "
+ "format. \n"
+ "If the index in InstallOptions has the value \"Log "
+ "\" then a value at the corresponding index of "
+ "InstallOptionValues may be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"Defer target/system reset\", \"Force "
+ "installation\",\"Install\", \"Update\", \"Repair\" "
+ "or \"Reboot\" then a value at the corresponding "
+ "index of InstallOptionValues shall be NULL." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptions[]" }]
+ string InstallOptionsValues[],
+ [IN, Description (
+ "Reference to the source of the install." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "The installation target. If NULL then the "
+ "SOftwareIdentity will be added to Collection only. "
+ "The underlying implementation is expected to be "
+ "able to obtain any necessary metadata from the "
+ "Software Identity." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity SHALL be added. If NULL then the Software "
+ "Identity will not be added to a Collection." )]
+ LMI_SystemSoftwareCollection REF Collection);
+
+ [Implemented(True), Override("InstallFromURI")]
+ uint32 InstallFromURI(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "A URI for the software based on RFC 2079." )]
+ string URI,
+ [IN, Description ( "The installation target." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Options to control the install process. \n"
+ "See the InstallOptions parameter of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method for the description of these values." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromURI.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additionalinformation to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "For further information on the use of "
+ "InstallOptionsValues parameter, see the "
+ "description of the InstallOptionsValues parameter "
+ "of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromByteStream.InstallOptions[]" }]
+ string InstallOptionsValues[]);
+
+};
+
+class LMI_SoftwareInstallationJob : CIM_ConcreteJob {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("DeleteOnCompletion")]
+ boolean DeleteOnCompletion;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("ElapsedTime")]
+ datetime ElapsedTime;
+
+ [Implemented(true), Override("ElementName")]
+ string ElementName;
+
+ [Implemented(true), Override("ErrorCode")]
+ uint16 ErrorCode;
+
+ [Implemented(true), Override("ErrorDescription")]
+ string ErrorDescription;
+
+ [Implemented(true), Override("JobState")]
+ uint16 JobState;
+
+ [Implemented(true), Override("JobStatus")]
+ string JobStatus;
+
+ [Implemented(true), Override("MethodName")]
+ string MethodName;
+
+ [Implemented(true), Override("Name")]
+ string Name;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("Owner")]
+ string Owner;
+
+ [Implemented(true), Override("PercentComplete")]
+ uint16 PercentComplete;
+
+ [Implemented(true), Override("Priority")]
+ uint32 Priority;
+
+ [Implemented(true), Override("RecoveryAction")]
+ uint16 RecoveryAction;
+
+ [Implemented(true), Override("StartTime")]
+ datetime StartTime;
+
+ [Implemented(true), Override("StatusDescriptions")]
+ string StatusDescriptions[];
+
+ [Implemented(true), Override("TimeBeforeRemoval")]
+ datetime TimeBeforeRemoval;
+
+ [Implemented(true), Override("TimeOfLastStateChange")]
+ datetime TimeOfLastStateChange;
+
+ [Implemented(true), Override("TimeSubmitted")]
+ datetime TimeSubmitted;
+
+};
+
diff --git a/mof/LMI_Software.reg b/mof/LMI_Software.reg
index 2383e44..66cd50f 100644
--- a/mof/LMI_Software.reg
+++ b/mof/LMI_Software.reg
@@ -46,3 +46,14 @@
type: instance association
namespace: root/cimv2
+[LMI_SoftwareInstallationService]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2
+
+[LMI_SoftwareInstallationJob]
+ provider: /usr/lib/python2.7/site-packages/openlmi/software/cimom_entry.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2