HELP: Howto update an lpp_source in NIM

I'm SO confused about the question of whether I can or cannot update an lpp_source with a bunch of patches. Someone I know who I think knows a lot about AIX and NIM says I should never do this. But I'm looking at the Redbook "NIM from A to Z in AIX 5L", which seems to describe exactly how to do it, in section 5.1. And now, I just read APAR IZ03167, which seems to say do NOT do this. Let me be more specific.

I have an lpp_source and SPOT that correspond to AIX level 5300-11-02-1007. All my servers are running that level right now. I just downloaded all the filesets to upgrade my servers to level 5300-12-02-1036. I have done an upgrade of one of my toy servers from the first mentioned level to the second, using these filesets in a "smitty update_all". This seemed to work perfectly.

My question is: How do I create an lpp_source and SPOT that correspond to the new level, 5300-12-02-1036?

The Redbook I mentioned describes in detail how to do a "smitty nim_update" on the lpp_source, using, apparently, that same set of filesets that I fed into the update_all. Then, it says, create a SPOT from this updated lpp_source, and you're done.

My friend, who seems to know all about NIM and AIX in general, says to never do this, because Bad Things Will Happen. She says the only reliable way is to order a full CD/DVD set of 5300-12-02-1036, and build the lpp_source from that. I think that's what APAR IZ03167 says, too.

Can anyone give me a definitive answer? I hate to have to order a full installable media set every time I want to install a minor upgrade. Is the Redbook wrong, and I really should never try update the lpp_source?

My question is: How do I create an lpp_source and SPOT that correspond to the new level, 5300-12-02-1036?

Answer by example:

               Overview

Whenever there is a need to update the Technology Level (TL) or Service Pack (SP) in any NIM client, the first thing you need to do is to update your NIM master server. After the NIM master server is updated, you will need to update the lpp_source follow by the SPOT. If your NIM environment has a mixture of TL levels, hen in order to have some NIM clients at the original level, you need to keep a copy of the original lpp_source and SPOT level. These clients will still need the riginal level of lpp_source and SPOT. In the next section, we describe the steps to perform the lpp_source update. In this example, we have an original lpp_source nd SPOT level at TL04, and we are creating a new TL05 lpp_source and SPOT.

LPP Source

  1. Create a new AIX 5L V5.3 5372 lpp_source directory, for example, /nim_export/aix53/5300-07-02-0806, and copy the AIX 5L V5.3 5371 lpp_source directory into it.
    log into the ms
su -
cd /nim_export/aix53/lpp_source

For example (update with your software levels appropriately):

cp -rp 5371lpp_res 5372lpp_res

Run fix_lpp_dir.
For example:

fix_lpp_dir /nim_export/aix53/lpp_source/5372lpp_res/installp/ppc
  1. Create an AIX 5L V5.3 5372 lpp_source resource from the AIX 5L V5.3 5372 lpp_source directory, as shown in Example 5-1. The following steps are followed when using the SMIT menus:
# smitty nim
Perform NIM Administration Tasks
Manage Resources
Define a Resource
Select �lpp_source = source device for optional product images�

Or, by using SMIT Fast Path:

smitty nim_mkres

Note: The NIM server must be at the same or higher level than the NIM clients. You need to upgrade your NIM server before upgrading your NIM client.

Important: Ensure that the files in /nim_export/aix53/lpp_source/5372lpp_res/installp/ppc have Read permission for everybody. If they do not, use the chmod 644 * command inside the lpp_source directory. Also ensure that the ownership of the files is root:system.

Example 5-1 Creating an AIX 5L V5.3 5372 lpp_source

Define a Resource
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[EntryFields]
* Resource Name                [LPP-AIX5372]
* Resource Type                lpp_source
* Server of Resource           [master]           +
* Location of Resource         [/nim_export/aix53/lpp_source/5372lpp_res]
Architecture of Resource       []                 +
Source of Install Images       []                 +/
Names of Option Packages       []
Show Progress                  [yes]              +
Comments                       []

You can also use the command line as follows:

nim -o define -t lpp_source -a server=master -l /export/lppsource/lpp-aix5305 LPP-AIX5372
  1. Update the TL05 to the LPP-AIX5372 resource as shown in Example 5-2. You use the NIM update peration to perform the task. This operation allows you to update or remove any packages from the lppsource resource. The next steps are followed when using the SMIT menus:
  # smitty nim
Perform NIM Administration Tasks
Manage Resources
Perform Operations on Resources
Select LPP-AIX5372
Select �update = add or remove software to or from an lpp_source�
Select �Add� and enter the Software media source

Or, by using SMIT Fast Path:

smitty nim_update

Media, directory or lpp_source to copy images from /nim_export/aix53/5300-07-02-0806

Example 5-2 Adding software to an lpp_source

Add Software to an lpp_source
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[EntryFields]

Note: NIM updates the .toc file in <lppsource>/installp/ppc automatically.
Make sure the .toc file in /export/lppsource/lpp-aix5305/installp/ppc is updated.

TARGET lpp_source                                 LPP-AIX5372
SOURCE of Software to Add                         /nim_export/aix53/5300-07-02-0806
SOFTWARE Packages to Add                          [all]+
-OR
INSTALLP BUNDLE containing packages to add                [] +


gencopy Flags
   DIRECTORY for temporary storage during copying         [/tmp]
   EXTEND filesystems if space needed?                    yes +
Process multiple volumes?                                 no +

You can also use the command line as follows:

# nim -o update -a packages=all -a source=/dev/cd0 LPP-AIX5305

After you have updated the TL05 lpp_source, there might be some duplicate updates. You can perform the NIM lppmgr operation to remove them. This operation enables you remove any duplicate software, superseded updates, unnecessary languages, and non-simage software. We recommend that you remove the uplicate software and any superseded updates, but that you do not remove any language software and non-simage filesets unless you are sure that they are not needed for future use. We also recommend that you perform a preview to check what software will be removed before the actual removal.

  1. Remove any duplicate updates in lpp_source resource, as shown in Example 5-3. The following steps are followed when using the SMIT menus:
# smitty nim

Perform NIM Administration Tasks
Manage Resources
Perform Operations on Resources
Select LPP_AIX5372
Select �lppmgr = eliminate unnecessary software images in an lpp_source�

 

Or, by using SMIT Fast Path:

smitty nim_lppmgr

Example 5-3 Removing duplicate updates in the lpp_source

                              Eliminate Unnecessary Software Images in an lpp_source
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[EntryFields]

TARGET lpp_source                     LPP-AIX5372
PREVIEW only?                         no +
REMOVE DUPLICATE software             yes +
REMOVE SUPERSEDED updates             yes +
REMOVE LANGUAGE software              no +
PRESERVE language                     [en_US]
REMOVE NON-SIMAGES software           no +
SAVE removed files                    no +
DIRECTORY for storing saved files     []
EXTEND filesystems if space needed?   yes +

You can also use the command line as follows:

# nim -o lppmgr -a lppmgr_flags="-bu -x -r -e" LPP-AIX5372

SPOT

Next, we need to create the AIX 5L V5.3 TL05 SPOT. We will create the SPOT using the latest LPP-AIX5372 lpp_source.
Note: this will take quite a while to run, perhaps 30 minutes.

  1. Create the AIX 5L V5.3 TL05�s SPOT as shown in Example 5-4. The following steps are followed when using the SMIT menus:

Example 5-4 Creating a SPOT

# smitty nim_mkres
Select �spot = Shared Product Object Tree - equivalent to /usr file�

Define a Resource
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* Resource Name                          [SPOT-AIX5372]
* Resource Type                          spot
* Server of Resource                     [master] +
* Source of Install Images               [LPP_AIX5372] + (Hit F4 and select:)
* Location of Resource                   [/nim_export/aix53/spot]/
EXPAND file systems if space needed?     yes +
Comments                                 []

installp Flags
COMMIT software updates?                  no +
SAVE replaced files?                      yes +
AUTOMATICALLY install requisite software? yes +
OVERWRITE same or newer versions?         no +
VERIFY install and check file sizes?      no +

Note: Run lsnim -l LPP-AIX5372 to check the Rstate and simages. Rstateshould show Ready for use and simages = yes.

Check

After the updated lpp_source and SPOT are created, you can perform a NIM check operation to check the usability of these resources. When you perform the NIM check operation on the lpp_source resource, it rebuilds the table of contents (.toc) file in the lpp_source directory and checks whether all the necessary filesets are in the directory to qualify the lpp_source for the simage attribute.
Check the usability of the lpp_source and SPOT as shown in Example 5-5. The following steps are followed when using the SMIT menus:

# smitty nim_res_op
Select                 SPOT-AIX5372 Or LPP-AIX5372
Select �check = check the status of a NIM object�
 

Example 5-5 Checking the SPOT

                                 Check the Status of a SPOT
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[EntryFields]
* Resource Name SPOT-AIX5305
Build Debug Boot Images?                     no +
Force                                         no +

After the lppsource and SPOT resources are updated and ready for use, you can perform software maintenance on NIM clients. Refer to �Client-initiated software maintenance tasks (�pull�)� on page 496 for details.

---------- Post updated at 09:52 AM ---------- Previous update was at 09:45 AM ----------

I always make a new SPOT and LPP_SOURCE.

Copy the old LPP_SOURCE to a new directory. Then update that LPP_SOURCE with the new patches.

Copy your 5300-11-02-1007 to 5300-12-02-1036 and then patch 5300-12-02-1036.

This way you have both versions. You need both versions as long as you have severs at each level.

If you update your LPP_SOURCE and need to boot a server that has not been updated, you will not be able to boot. The levels of the filesets must match exactly (from my experience).

After every server is updated, and some time has gone by, erase 5300-11-02-1007.

1 Like

Your 'answer by example' seems to be a direct quote from the Redbook I mentioned.

Your comments at the end seem to say that you have actually done this, more than once, and it works fine. Is this right?

However, APAR IZ03167 contains the following, which seems to me to say one shouldn't update your lpp_source with patches. Maybe I'm reading it wrong. Here's the quote that prompted my original question:

Complete AIX Base Install lpp_sources can contain
Update/PTF/fix filesets, but only those that came on the AIX
Base Install Media the lpp_source was generated from, or those
Update/PTF/fix filesets that IBM Support has instructed be
included in the AIX Base Install lpp_source to resolve an
installation problem.

To place both type of filesets together into one NIM
lpp_source, without proper testing, or without the need to
resolve a installation problem with that level of AIX Base
Install images, this will create a undesirable lpp_source, than
can generate unpredictable results if used to perform any kind
of NIM operation. The use of such lpp_sources is not supported
by IBM.".
This seems to be a warning not to "mix" filesets from installation media with patch filesets. It's not clear what "mix" means. Maybe it means just copying patches into the lpp_source, and assuming all is well. But maybe it says don't do what the Redbook describes in detail how to do.

You are correct in that statement.

Try not to mix your lpp_source base install filesets with update filesets. It can potentially lead to problems, when performing new bos installs with the updated lpp_source

What i usually do is create a base install lpp_source , a lpp_source for stable updates, and a lpp_source for latest and greatest updates.

This in fact is the main reason: do not change resources you used once to install. You will not be able to re-do the installation process for systems you installed using these resources once you changed them.

This is sound advice. Another take would be to copy the base LPPSOURCE and SPOT resources you want to update (fs-copy will do), create new NIM resources from these copies and update into them. This way you still retain the original resources should you need them.

IMHO the most important point in managing a NIM-server is to stay as flexible as possible. If you are able to install any update, base level, fix, etc. separately your flexibility is greater than otherwise.

I hope this helps.

bakunin

Thank you for your replies. Actually, I am more concerned about the SPOT than the lpp_source, since I use my NIM server to recover an AIX server if the rootvg were to crap out, and in our annual disaster recovery test. Here's the specific scenario I'm concerned with right now:

  1. All my servers are running 5.3.0.11. I have an lpp_source and a SPOT which exactly match this AIX level. I also take regular mksysb's to the NIM master, so that in a disaster situation, I can recover my NIM master from a mksysb DVD and backups, and then be ready to recover all other AIX servers from mksysb's on the NIM master.
  2. I want to update them all to the latest 5.3.0.12. This is no big deal, since I have downloaded the required patches, and I can simply do a "smitty update_all" on each of them, if I want, and not even worry about the NIM.
  3. After the 5.3.0.12 upgrade is done, I want to still be able to install/recover any AIX server from the NIM master, by using the SPOT and mksysb backup there.

QUESTION: How do I best accomplish number (3)?
The advice I have from a Known Good AIX Person (KGAP) is that the SPOT must be of a version NO OLDER than the mksysb I want to recover with it. According to the KGAP, I should NOT try to update my SPOT, but should order a full installable version of AIX to match what all my servers are running, and build an lpp_source and SPOT from that. This seems terribly slow and inefficient, and I am hoping there's a better way. I'd hate to have to order a full AIX DVD set every time I upgrade from 5.3.0.n to 5.3.0.(n+1). So, tell me, please: How do you keep your SPOT in sync with all your AIX servers?

Hey TGP,

You can actually build a spot from a mksysb. I do not have the flags off the top of my head. But you can use the smit menu and go through the administration of selecting your older mksysb to build a spot off of it.

You can then go about performing a bos recovery through the spot and mksysb.

Cheers

OH! If I can build a SPOT from a mksysb, I'm happy. I can just upgrade the first AIX server, take a mksysb to the NIM server, create a SPOT, and I'm ready to upgrade all the other AIX servers. I'll investigate that option.

Is that what other people are doing in this situation, I wonder?

Hey TGP,

I would actually create a mksysb first, then perform the upgrade then if things were to go wrong.

If you need to roll back, you can create a spot and start a recovery from the mksysb.

Have a good one.

This would surprise me ... I never had issues booting my boxes into maintenance from much newer TLs - as long as I stayed within the same OS (5.3 or 6.1 or whatever). The docu says as well - same or newer ?

Regards
zxmaus

If I remember right, the situation that good me into trouble was:
I patched my node; I did not make a new LPP Source or SPOT; then I needed to boot the node from the NIM master - and it failed.

I should clarify what I said then - I ran into trouble when the NIM Master was down level from the nodes.