Recently, we had a case in which a customer needed to find out how to prioritize his ConfigMgr packages so that certain ones would be distributed before others that were also distributing at the same time. There is other information out there about this and a very good blog from the System Center team which goes into details about the underlying mechanisms at work when distributing packages to distribution points. In this blog (which will have some overlap with the linked blog above), I have decided to go through a discussion of distribution priorities and expand on a few of the things that might prove useful if you find yourself trying to ensure particular packages are being given priority over others in your environment.
First, lets look at the package itself, located in the ConfigMgr console within the Software Library context (navigate to Overview\Application Management\Packages). When created, every package has a priority of ‘Medium’ by default. While this doesn’t show up in the wizard when the package is being created, you can easily see it by opening the package properties and checking the Distribution Settings tab as shown below:
The options for distribution priority are High, Medium and Low. As you would expect, the higher the priority of a package, the higher the priority in sending that package over other packages with lower priorities. If you have a package that needs to be sent more urgently than some others, going this tab and seeing the priority to High will help ensure this happens.
Distribution Point Schedules
Beyond setting the priority on the package itself, it’s possible to specify which package priorities are allowed to be sent to a distribution point at a given time. For example, you may decide that during the workday only high priority packages can be sent to distribution points due to the limited availability of bandwidth in your environment.
To configure this on a per-distribution point basis, navigate to the Administration context in the ConfigMgr admin console. Expand Overview\Site Configuration\Servers and Site System Roles and select the distribution point you want to work with in the middle window. From here, look at the Site System Roles window to see the roles installed on the selected computer. Right-click the Distribution Point role and choose properties. From here, you can choose the ‘Schedule’ tab as shown below.
In this tab, it is possible to select blocks of time and specify which package priorities are allowed during that time period. As you can see from my screenshot, I have decided that the distribution point I’m configuring can only receive high priority packages between 8 a.m. and 6 p.m. on workdays, and it can’t receive packages at all between 10 p.m. and 2 a.m. on Saturdays and Sundays (this is our maintenance window).
The schedule for your distribution points is fully customizable and setting the schedule for one distribution point does not affect the schedule of another. So if you are trying to ensure that a high priority package doesn’t have any competition from medium or low priority packages during a particular timeframe when being distributed to one of your distribution points, set the schedule to only allow high priority packages and you should see only that package being distributed. Note that setting this priority after a package starts to distribute should not cause it to stop in midstream. The scheduling should be worked out ahead of time if you are to achieve the desired effect.
Using DP Job Manager
The third thing I wish to discuss is a great new tool that comes with the System Center 2012 R2 Configuration Manager Toolkit. This tool allows you to work with the packages being distributed to your distribution points in a variety of ways and every ConfigMgr admin needs to know how to use it.
To start using this tool once you’ve downloaded the toolkit, select the General tab and enter the name of your Primary Site server and select Connect. If things work as they should, you will see a message in the lower-left that tells you the connection was made successfully.
Below, I’ve offered a quick summary of each tab for completeness, but my main focus will be on the ‘Manage Jobs’ tab:
On this tab, every distribution point that belongs to the site will be listed. Here will be summary information on currently running jobs being processed by each distribution point, as well as the total jobs and current retries (packages that have failed to be distributed and that the distribution point is trying to distribute again). As shown below, my lab has 3 distribution points with one of them in retry mode for the two jobs being distributed to it.
The Refresh button allows manually refreshing this view, while the Start Auto Refresh button causes DP Job Manager to start providing regular refreshes at the interval set (the minimum refresh interval is 2 minutes).
Distribution Point Info
This tab is where more granular detail can be seen about each distribution point, including the software being distributed, the Package ID, its size (assuming the size is included in the package), what % complete the package distribution is, and the start time (and restart time) of each package distribution. There is also a view on the number of retries for each specific package. And as always, there is the Refresh and Auto Refresh buttons.
The Help tab outlines the specific features and elements of DP Job Manager. For example, it gives a description of the various icons we might encounter when working with package jobs. Referring back to the Distribution Point Info tab, for instance, we see a circular arrow to the left of the Software column. This might not be immediately obvious, but the Help tab explains this for us as shown below:
If there is a need for further information, the Help tab has every useful information to better understand DP Job Manager
Circling back to the Manage Jobs tab, we can see that DP Job Manager provides us an ability to see and interact with package jobs in order to better control what goes on in our ConfigMgr environment. The screenshot below shows us what the Manage Jobs tab looks like:
One thing that’s immediately obvious is that the columns for the Manage Jobs tab are identical with those for specific jobs in the Distribution Point Info tab. The difference here is that we have the ability to interact with the jobs while on the Distribution Point Info tab we couldn’t (we could right-click a specific job and select ‘Manage Job(s)’ but this would just send us to the Manage Jobs tab. We could also copy the specific job and paste the information somewhere like a Notepad file, but this was about all we could do on that tab).
To interact with a distribution point job, select the package of interest and right-click as shown below:
Here, we can see that we have many options:
- Run – this allows us to manually start the job, which may be useful when troubleshooting why a package is not distribution properly.
- Move – this is one of the nicer things about DP Job Manager. If you have a large number of packages and want to re-prioritize them so that certain ones are processed sooner than others, all that needs to happen is to right-click the job of interest and move it either up or down in the list. This gives a great deal of control over the jobs that are being distributed, especially since you can do this on a per-distribution point basis. Notice in the screenshot below that I have chosen to distribute the DTC Ping software to a 2nd distribution point and setting the priority of this package is entirely independent based on which distribution point I’m sending it to. I could choose to prioritize all of my packages destined for EX-MB1 before S12-OSD or any other way I choose (maybe I want all distribution points to receive a specific package first before any others, so I prioritize every instance of that package regardless of which distribution point it’s destined for)
- Copy – this is the same functionality as on the Distribution Point Info tab. If you copy the package, the details listed on the table will be available for pasting to Notepad, an Excel spreadsheet, etc. This can be useful for reporting or for evaluating trends over time (% complete of a package, for example)
- Cancel – if the distribution of a package needs to be canceled altogether, this can be done from the Manage Jobs tab. When choosing to cancel a job, the following pop-up provides a warning and then allows us to either confirm or decline to cancel the job we’ve selected.
NOTE: You can select multiple jobs at once in the Manage Jobs tab, but the move commands will be grayed out.
There are various ways to configure and work with job priority when it comes to distributing package via ConfigMgr 2012. This blog has attempted to provide a bit more detail on the options available through the graphical interface and when using DP Job Manager. Bottom line, if you are ever in a position where you’ve distributed jobs that need to be re-prioritized or stopped altogether, ConfigMgr provides tools to help you accomplish that task.