If you're tired of managing multiple PTFs for a particular function or several PTFs to solve a complex problem, then read this article! For V5R2 of OS/400, iSeries Navigator now supports managing groups of PTFs as single entities. With this change, you can now see the status of several PTFs by looking at the status of a single group. You can install PTFs by installing one group, and you can distribute PTFs to other systems in your network as a group. iSeries Navigator provides wizards and other tools to make this activity easy.
The idea of having a group of PTFs is not entirely new. Several years ago, IBM created the concept of the "group PTF." Intended primarily as an ordering mechanism, users could order a single group PTF from IBM and receive any number of PTFs. Later, IBM expanded the purpose of group PTFs with the advent of data areas and marker PTFs.
The presence of the data area and marker PTF indicated the presence of the group PTF. You could tell at a glance if a particular group PTF was present on your system.
Notice, you could only tell if the indicator was present on your system--the group PTF could represent any number of PTFs, but the indicator's presence on a system told you nothing about the state of the fixes the group represented. For example, you could place the marker PTF on your system but none of the individual fixes represented by the group. Also, there were no actions you could perform against a group PTF that would affect the fixes represented by that group.
Fast forward to OS/400 V5R2. IBM extended the idea of a group PTF into the operating system and renamed it the PTF group. At a high level, a PTF group is a list of PTFs created to manage the PTFs in the list as a single entity. A PTF group has an associated status that reflects the status of the PTFs it represents. A PTF group can be manipulated, and by manipulating that one group, you typically manipulate all the fixes it represents. For example, if you install a PTF group, in general you install all its PTFs as well. (I'll discuss the exceptions to the rule later in this article.)
A PTF group is a list of PTFs--it sounds simple, but as with most things related to PTFs, it's a little more complicated than that. If you examine a PTF group in detail, you see that it contains identifying information and information regarding the PTFs it represents. The identifying information is pretty standard fare. There's a name and description, of course--with IBM-provided PTF groups following the standard naming format of SF99xxx. There is also a level associated with a PTF group. The level is numeric with a range between 1 and 99999. If the list of PTFs associated with a particular PTF group changes for some reason, the level is changed--a higher level implies a later version of the PTF group. Only one level of a PTF group may exist on your system at a time. Thus, if a second version of a PTF group becomes available and you place it on your system, the information about the new group replaces the information for the previous group.
The final bit of information contained in a PTF group is the list of PTFs. Again, this seems self-explanatory--PTFs are identified by a PTF ID, a product, an option, and a release (plus some other stuff that I won't go into here). A PTF group can call out any PTFs; it places no restrictions on the PTFs themselves. For example, a PTF group can contain PTFs for the base operating system, any IBM-supplied licensed program product, and any third-party piece of software.
There is an extra twist on the list of PTFs in a PTF group. A PTF group may identify other PTF groups (we call them "related PTF groups"). This allows a nesting of groups. You can have a PTF group that identifies a related PTF group that identifies still another related PTF group. When you perform an action against a PTF group, that action is performed against the PTFs it identifies plus the PTFs identified by all related PTF groups. This can be quite powerful in terms of managing PTFs. Think of a PTF group as a single solution required to fix a problem, not as a series of unrelated fixes that happen to come together to fix various individual problems. That single solution may be needed by other solutions--hence the nesting that is allowed.
Because nesting of PTF groups is allowed, it may not be obvious exactly what PTFs the PTF group is representing. In OS/400, there are commands you can use to determine which PTFs are part of a PTF group. New for V5R2, the command Work with PTF Group (WRKPTFGRP) is provided to work with all PTF groups on a system. On the display, you can see the PTF group name, level, status, and description. See Figure 1 for an example.
Figure 1: Use the OS/400 WRKPTFGRP command to view the groups known to the system.
From this view, Option 9 (Display related PTF groups) gives you a display of PTF groups related to the PTF group in which you are interested. You can also use Option 5 (Display) against a PTF group in this list to see the list of PTFs directly identified by the selected group. See Figure 2 for an example of the Display PTF Group command.
Figure 2: The Display PTF Group (option 5 from WRKPTFGRP) command shows added information about PTF groups.
From the Display PTF Group panel, use the F20 (Display Expanded PTF Group) function key to show the list of all PTFs identified by the PTF group you are displaying, as well as the PTFs identified by any related PTF groups. In this way, you can see the list of PTFs affected when an action is performed against the PTF group. Using F20 to display the expanded PTF group may raise a question of how we handle superseded PTFs. A superseded PTF is a PTF that has been replaced by a later PTF. When a PTF in a PTF group has been superseded, it is still listed when you display the PTF group (option 5 from the WRKPTFGRP command). The status of the PTF indicates it is superseded. If you display the expanded PTF group list, the list shows the superseding PTF in place of the PTF it supersedes.
From the WRKPTFGRP command, there is also an option to delete PTF groups. Using this option against a PTF group only deletes the PTF group information--it does not change any of the PTFs or related PTF groups that are identified by the PTF group that is being deleted. The statuses of PTFs or related PTF groups are not affected. This is one case where performing an action against a PTF group does not change the PTFs in the group.
As I said earlier, most actions performed against a PTF group are usually done against each PTF specified by the PTF group. So far, the only actions I have mentioned are how to display a PTF group and how to delete a group. Enter iSeries Navigator. The purpose of iSeries Navigator is to allow users to manage multiple systems as easily as managing one. With the V5R2 release, iSeries Navigator now supports PTF groups. With this support, you can install PTF groups, send them, or send them to and install them on other systems.
The first thing to note about managing PTFs using iSeries Navigator is the terminology involved. There are several minor differences that should be intuitive once you see them in action. When discussing PTFs on iSeries systems, iSeries Navigator uses the term "fixes." A "fix" in iSeries Navigator is simply a PTF. When I discuss managing a fix group, I'm talking about managing a PTF group. If I install a fix or fix group, I am loading and applying one or more PTFs on the iSeries system. If I send a fix, I am distributing PTFs to some target systems, and so on.
For iSeries Navigator to do its job of managing systems in a network, it uses an inventory of each system. iSeries Navigator collects inventory information about the software and fixes on each system in the network that you identify. It stores that inventory on a central repository system in the network. Once the fixes and software inventory of a system is current, you should only need to collect it again when something changes. For example, if you install a new product, or remove a particular fix, you should then collect inventory information once again.
From your central system, you can search the various inventories for fixes or fix groups, and then install, send, or send and install fixes or fix groups. To manage fixes, expand Management Central, and then find the endpoint systems you need to manage. To collect software and fixes inventory information, select the systems, right-click and choose inventory, then choose collect. The Collect Inventory dialog is displayed. Select the Software and the Fixes checkboxes, and click Start. A task is started that collects all the information needed to manage fixes.
When dealing with fix groups, some common actions you may need to do include getting fix groups stored onto some source system, installing fix groups, searching a network of systems for fix groups, and then sending and installing fix groups from one system to a network of systems. To describe how to perform these actions using iSeries Navigator, I'll describe an example network.
In the MyCorp Corporation, Jim is the administrator responsible for a dozen iSeries systems. Unfortunately, one of the applications on the systems in his network has a serious flaw that is made worse by bugs in several other products. Upon contacting his software provider, he discovers they're aware of the problem, and they have identified a combination of fixes and fix groups that are needed to resolve it. The software provider has created one fix group with that information, and Jim quickly has a CD that holds all the fix groups and fixes he needs.
There are a few ways Jim can get fix groups onto his system. If his software provider makes fixes available electronically, Jim might be able to get his fixes that way. For example, IBM makes PTFs available electronically. Ordering PTF groups from IBM is identical to ordering PTFs, so if Jim needed to get PTF groups from IBM, he could use the SNDPTFORD command in OS/400 or use iPTF (Internet PTF Downloads). In this case, though, Jim's software provider supplies the data on CD media. With the CD, he can install the fix groups using GO PTF, Option 8 (install PTF package in OS/400), or he can use iSeries Navigator. Using the GO PTF, Option 8 does not store the PTF save files that Jim needs to distribute his fixes to the other systems in his network, so he turns to iSeries Navigator.
To use the iSeries Navigator method to store fixes and fix groups, Jim launches iSeries Navigator, opens Management Central, and drills down to the All Fixes container under the system on which he wants to place the fixes. Jim then right-clicks on the All Fixes container and chooses Copy from Media. The Copy from Media dialog is displayed in Figure 3.
Figure 3: Copy from Media copies fixes and fix groups from some distribution media (like a CD or tape) onto your iSeries system.
At this point, Jim identifies the device in which he placed the CD and verifies that he has selected All Products. When the copy from media activity completes, all fixes and fix groups needed by the system have been copied. The fixes are now available, and the status of any fix groups could vary. Recall that fix group status is dependent on the status of the fixes it identifies; some of those fixes could be installed already, for example, or may not be applicable to any of the products installed on the system. For our purposes, the statuses of the fix groups on Jim's system are Not Installed. This indicates that the fix group identifies some fixes or fix groups not yet installed. Once his inventory is up to date by recollecting software and fixes information, Jim can view the properties of the fix group by right-clicking on the group and selecting Properties. From the Properties dialog, Jim can see the list of fixes directly identified by the fix group as well as any related fix groups. He can also view the expanded list of fixes, just as he could by using green-screen commands. See Figure 4.
Figure 4: To view the expanded list of fixes related to the fix group, choose the fix group and select Properties. Click on the Fixes and Groups tab, and select List All Fixes.
Now that Jim has the fix group on his system, he can install it so that his application will use the fixes identified. He can right-click on the system, then choose Fixes, then Install. The Install Fixes wizard is launched. On the second panel, the wizard asks Jim which fixes or fix groups he wants to install. He identifies the one fix group identified by his software provider. Note that this activity installs all the fixes identified by the fix group as well as any related fix groups. Jim also indicates that he wants the fixes installed immediately and that the system should not be restarted to complete the install. After reviewing the summary panel of what he wants to do, Jim clicks Finish on the wizard, and a task starts to install the fix groups.
iSeries Navigator provides some pretty detailed status information about fixes tasks. By going to the fixes task container (under Management Central), Jim can monitor the install task as it attempts to do its work. By double-clicking on the task, Jim can see the particular status each fix goes through as it installs. If a problem occurs with the install, he can tell what the problem was and which fixes remain uninstalled. If he likes to look at job logs (and who doesn't?), that option is available, too. See Figure 5 for an example of the detail status dialog.
Figure 5: Detail status for a fix group task shows the status of the fixes that make up the fix group.
When the install activity completes, and Jim once again refreshes his inventory, the status of the fix group changes from not installed to installed. Jim can now test the fix group solution. When he's confident the group solves the problem he's encountering, Jim is ready to distribute the group to the other systems in his network. Again, he turns to iSeries Navigator. Right-clicking on the fix group, Jim has two choices to get his fix groups from his test system to the other systems in his network: Send or Send and Install. If the connection between systems is slow, for example, he may choose the Send option. This lets him control at what time the install takes place. He could choose to send the fixes tonight but wait until next week to install them. In this case, though, Jim needs the fixes installed as soon as possible, so he chooses the Send and Install menu item.
The Send and Install fixes wizard is very similar to the Install fixes wizard. It uses many of the same panels to indicate how fixes should be installed. The Send and Install wizard has a few extra panels used to identify systems that should receive the fixes, as well as some additional send options. When Jim completes the wizard, a single Send and Install fixes task is launched. This task first identifies all the fixes and fix groups that need to be sent and then sends that list to the target systems. Based on the options Jim selected in the wizard, each target system examines the list of fixes and chooses those fixes needed to complete the task; it then requests only those missing fixes and fix groups be sent. Each system independently requests the missing fixes be sent, and, as fixes become available on a system, they are installed on a product-by-product basis.
As each system in the send and install task completes, Jim verifies that the solution he received from his provider solves the problem. To summarize the steps he went through during his activities: Jim identified the problem and contacted his software provider for a solution. A fix group was sent on CD, and then, using iSeries Navigator, Jim used Copy from Media to make the fixes and fix groups available on his test system. Jim used the fixes inventory to check the status and location of the fix group. He used the Install fixes wizard and then the Send and Install fixes wizard to install the fix group throughout the systems in his network.
The ability to manage fixes with iSeries Navigator has been around since V4R4. With the introduction of PTF groups in V5R2 of OS/400, iSeries Navigator has been updated to blend fix group management with the existing fixes management. While you can do many of the same activities with fix groups that you can with fixes, there are a few differences. With fixes, you have the option to uninstall fixes or install fixes permanently. You can clean up fixes (delete their save files and cover letters) or cancel actions that are associated with fixes (like install fixes at the next system restart). With fix groups, you do not have these options. Typically, you would only want to perform these actions on individual fixes or on all fixes--rarely would you need them on a group of fixes. If you are familiar with the Compare and Update fixes wizard, you also should be aware that it does not flag fix groups as missing or extra on systems when doing a comparison. It may flag the fixes specified by fix groups, but it does not identify the fix groups themselves.
Some Final Words
In general, software seems to need combinations of fixes that are more complex to solve problems on systems. Whether the fixes solve programming bugs or provide improved function, it is more difficult to manage these fixes with traditional means. With V5R2 of OS/400 and iSeries Navigator, the tools are in place to manage several PTFs as a single solution to a problem in the form of PTF groups. There are PTF groups available right now from IBM, and given the nature of software, there will be more PTF groups available in the future. Use iSeries Navigator to make managing these PTF groups as easy as clicking your mouse!
If you are interested in creating your own PTF groups to provide solutions to your users, the QpzCreatePtfGroup API gives you that function. Refer online to the iSeries Information Center for information on how to do this.
Jeff Waldbillig is a staff software engineer at IBM Rochester. He has held positions as a technical writer and host programmer, and he is currently writing GUI software for iSeries Navigator. He can be reached by email at
LATEST COMMENTS
MC Press Online