Known Issue: Detection rules running independently of the Software Delivery items executing and re-adding software delivery tasks to the run queue even when they are running at the time
Last Updated March 25, 2010
Detection rules appear to be running independently of the software delivery items executing and re-adding software delivery tasks to the run queue even when they are running at the time. This means for any applicaion that could be a required by multiple other applications that it could re-install more than once for no reason.
Steps to reproduce the issue: 1. Create a package with a detection rule to confirm the application has not previously been installed. 2. Create a second package also with a detection rule. Add to this package a Depends On association of the first package. 3. Setup seperate Managed Software Delivery policies for each package. Set the schedule to be identical on both policies and enable them. 4. On the test machine update the configuration policy. 5. When the scheduled time arrives the agent will run the detection test for package 1, which it should determine as needs to install. As soon as the install starts the agent will then attempt to run the detection checks for package 2, which also kicks of the detection check for package 1. Since package 1 is still installing the detection check will show that package 1 needs to be installed and will queue up the installation of package 1 again.
The problem appears to be that the Software Management Agent runs all detection rules for queued policies at the same time, this causes policies that are designed to be run sequentially to fail.
Development is currently working on this issue.
Workaround: Schedule the polices to run at different times and the detection rules will be run individually. You should use 1 Managed Software Delivery (MSD) for both software pieces. It makes sense since the one is required for the other. So the way it should work is to... Add both Software Resources to the MSD, the first before the second, that depends on the first. The detection rule will first see if 1 is installed. If 1 is installed, it moves to the second. If 1 isn't installed, it will install 1, and then check for 2 again.
Additional details: the main issue that the customer is having is that multiple managed deliveries are delivering the same software resource on the same schedule, and since the detection check is not being locked with the execution the installations may be queued up to be executed back to back. This become a problem when a new client is receiving all of the managed deliveries for the first time, as most of the time the managed deliveries will be rolled out over time. If customer knows that a new client is going to be coming into their environment it would be best if an initial setup managed delivery policy was executed that installed all of the necessary software and dependencies in one shot. Then after this managed delivery was executed the user could then enable the various compliance policies that the customer wants to enforce on this machine to make sure that specific software resources are installed.
Another variable to the problem is that the customers packages are not very intelligent to detect that the software is already installed. For instance, the software packages could be modified to detect that the software is already installed and not fail if the software is installed. Then the software command line could be updated to include the resulting error code as one of the success return codes if it is already not specified… to prevent the managed delivery from failing if a non standard error is returned.
Applies To Software Management Solution 7.0
ID: ETK 1962368
Etrack (Symantec) database
Imported Document ID: TECH127224
Subscribing will provide email updates when this Article is updated. Login is required to Subscribe