Know Your PTF Group Level Currency In 30 Seconds Or Less!
August 4, 2015 Larry Bolhuis
The IBM i is one of the easiest to maintain operating systems going. A big part of that is because IBM provides the hardware, operating system, and updates. Clearly the number of permutations are reduced dramatically. In addition, some problematic areas, such as video drivers, simply don’t exist in IBM i. So that’s it then, no need to update because we live in Utopia, right? Well, not so fast!
Just because IBM provides all the pieces doesn’t mean they are either perfect or complete. Besides, there are many components and these are constantly being updated. Two examples are node.js and Python support, the latter of which just appeared this month. So no, you’re not off the hook when it comes to updates, sorry. But what do we update?
Updates come for three primary areas:
First is the Licensed Internal Code, which is the base part of the operating system. This code lives on the load source, or boot, drive of your system and there are two copies of it: the A and B copies. The Licensed Internal Code is identified as product number 5770999 for IBM i V7.
Second is the operating system itself, including its built in tools like security, backup and recovery, and the DB2 database. This is product 5770SS1.
Third are the various optional Licensed Program Products known as LPPs. These include the Web servers, TCP/IP, SQL, editors, compilers, and much more. Some of these are more mandatory than optional but they still fit this category. They use product numbers like 5770TC1 for TCP/IP and 5770ST1 for SQL and 5770DG1 for the http server.
Does IBM update each of these independently? It depends! Often a fix is indeed for one single feature, such as a correction to the web server or an enhancement for SQL. But they also deliver updates in groups because it’s not at all difficult to envision that an update to SQL requires an update to DB2, which may require an update to the Licensed Internal Code! So let’s take a look at what IBM offers to update your system.
Start with PTFs. The Program Temporary Fix is the delivery mechanism for updates from IBM through the life of your release. These are unique to each release, so you can’t put an IBM i 7.1 PTF onto an IBM i 7.2 system. If the issue being corrected affects two or more releases, that will be documented in the APAR (Authorized Program Analysis Report) and the fixing PTF for each affected release will be noted there. Unless we are diagnosing problems though we don’t usually get PTFs one or two at a time. And we don’t want to handle the scenario with cascading requirements by ourselves. Fortunately IBM provides PTF groups to help us update our system much more easily.
IBM created PTF groups long ago, and there continue to be more of them with each release. To see the groups currently on your system, enter this command:
Below is the view I wish we got, because this view combines the group number, level, status, and text from the F11 screen all in one view brought to you by the magic of copy and paste. If I can fit them on one screen why can’t IBM? But I digress! The list will vary depending on which groups you have installed on your system. If the list includes only the top three then you’re missing out on a lot of PTFs!! You’ve got work to do!
Work with PTF Groups System: COMMON1 PTF Group Level Status Text SF99720 14276 Installed CUMULATIVE PTF PACKAGE C4276720 SF99719 29 Installed GROUP HIPER SF99702 4 Installed DB2 FOR IBM I SF99717 1 Installed TECHNOLOGY REFRESH SF99767 1 Installed 720 TCP/IP PTF SF99776 1 Installed HIGH AVAILABILITY FOR IBM I SF99775 6 Installed HARDWARE AND RELATED PTFS SF99747 11 Installed DB2 WEB QUERY FOR I V2.1.0 SF99716 4 Installed JAVA SF99715 10 Installed BACKUP RECOVERY SOLUTIONS SF99714 2 Installed PERFORMANCE TOOLS SF99713 6 Installed IBM HTTP SERVER FOR I
In the columns above you see the group PTF number used to order this group, its installed level and status, and some text describing it. What’s missing here? The currently available group level from IBM. From this list we have no idea whether Group HIPER, shown here as at level 29, is current or not. The traditional fix is to head on over to Fix Central, which you can find on the IBM Fix Central website.
Log in and select your O/S level under Cumulative and group PTFs and click Continue. You will get a list all available groups (20 groups for i 7.2 and 27 of them for i 7.1). Each list item will look like this:
Group: SF99719 Jun 30, 2015 Release: V7R2M0 Abstract: Group Hiper Level: 00036
Here we can see that the current HIPER for i 7.2 at the time of writing is level 36. Comparing that to the table above where 29 is shown and you can see we’re a bit behind. Now repeat that for every group and order all the groups. Ugh! There has to be a better way, and there is!
Instead, crank up SQL with STRSQL and enter this query:
SELECT * FROM systools.group_ptf_currency
You should see a list like this one:
PTF_GROUP_CURRENCY PTF_GROUP_ID PTF_GROUP_TITLE UPDATE AVAILABLE SF99481 720 WebSphere App Server V8.5 UPDATE AVAILABLE SF99702 720 DB2 for IBM i UPDATE AVAILABLE SF99713 720 IBM HTTP Server for i INSTALLED LEVEL IS CURRENT SF99714 720 Performance Tools UPDATE AVAILABLE SF99715 720 Backup Recovery Solutions UPDATE AVAILABLE SF99716 720 Java UPDATE AVAILABLE SF99717 720 Technology Refresh UPDATE AVAILABLE SF99719 720 Group Hiper UPDATE AVAILABLE SF99720 Current Cumulative PTF Media Doc INSTALLED LEVEL IS CURRENT SF99747 720 DB2 Web Query for i V2.1.0 INSTALLED LEVEL IS CURRENT SF99767 720 720 TCP/IP PTF UPDATE AVAILABLE SF99775 720 Hardware and Related PTFs UPDATE AVAILABLE SF99776 720 High Availability for IBM i
So here in less than 10 seconds we know every group we need to update and those that are already current. Note that only groups you have loaded will be checked. So in the list above, for example, the Print PTF group is not shown as that group has not been loaded on this server. You may need to add groups that you identified on Fix Central to your system so that next time you can see if they are current.
How do I make this work on MY system? (Because I know you just tried it and failed!) There are just a few things you need to do. First, you need to have the support that was delivered in DB2 PTF Group level 32 for i 7.1 and level 3 for IBM i 7.2. Second, you must have TCP/IP configured with the ability to resolve and access external domains. This function access a remote XML document that IBM provides here.
So one test is to telnet to ‘www-912.ibm.com’ on port 80 like this:
telnet 'www-912.ibm.com' port(80)
Which should report this:
Connecting to host www-912.rochester.ibm.com at address 126.96.36.199 using port 80. TELNET session ended. Connection closed.
This is good. If you get “No response from remote host system” then you have some flavor of communications error, such as the inability to resolve host names, a blockage on your firewall, or a missing or incorrect default route.
Finally you need to have your job at a CCSID other than 65535. For most of us in the U.S. CCSID of 37 is appropriate. That should do it!
Note that you can scroll to the right in the view above to see more columns of information on the group levels and such. Mostly, however, just knowing which groups are out of date will get you going.