Operating System - HP-UX
1758311 Members
2434 Online
108868 Solutions
New Discussion юеВ

problem with mass install in heterogenous environment

 
Mihai Matei
Advisor

problem with mass install in heterogenous environment

I have a depot directory that contains the following:
-----------------------
# MYPROD A.01.01.00 Test Product
MYPROD.PROD
MYPROD.BIN1100
MYPROD.BIN1111
-----------------------
BIN1100 fileset contains 11.0 binaries, attributes:
machine_type 9000/[78]??:*
os_release ?.11.00

BIN1111 contains 11.11 binaries (they are different than 11.0 ones), attributes:
machine_type 9000/[78]??:*
os_release ?.11.11

and PROD contains common config files, scripts etc, attributes:
machine_type 9000/[78]??:*
os_release ?.11.*

My problem is with remote/mass installs. When I want to install on more than 1 system, it works if the systems have the same OS version (all 11.0 or all 11.11), with the proper filesets being selected.

But if I try to install on a heterogenous environment (11.0 and 11.11), swinstall only sees the MYPROD.PROD fileset, and it cant's select the proper binaries filesets according to the OS version. I guess swinstall sees only the filesets that are compatible with ALL the systems in a mass install.

Is there a way around this? Should I package MYPROD differently? I want to have only one kit for PA-RISC (not two), that is why there are 2 filesets containing binaries (1 for 11.0, and 1 for 11.11)

Thanks.
6 REPLIES 6
RAC_1
Honored Contributor

Re: problem with mass install in heterogenous environment

You would be better of preparing seperate depots for 11 and for 11.11. Other way would be doing a check with preinstall script for os version and doing the swinstall for 11 and 11.11 as the case may be.

Anil
There is no substitute to HARDWORK
RAC_1
Honored Contributor

Re: problem with mass install in heterogenous environment

Also have a look at option allow_incompatible=false. If you use this option swinstall -x allow_incompatible=false -s server:/path/MYPROD MYPROD.PROD MYPROD.BIN1100 MYPROD.BIN1111 @ hosts1 hosts2

This will install MYPROD.PROD and MYPROD.BIN1100 on 11 boxes.
Will install MYPROD.PROD and MYPROD.BIN1111 on 11.11 boxes. Check this first.

Anil
There is no substitute to HARDWORK
Mihai Matei
Advisor

Re: problem with mass install in heterogenous environment

Unfortunately, specifying all the filesets in the command line has the same effect as specifying only the product: it selects only those filesets compatible with ALL the hosts.

Having 2 depots for 11.0 and 11.11 is what I want to avoid.
RAC_1
Honored Contributor

Re: problem with mass install in heterogenous environment

Another methos would be as follows. this looks exhaustive to me. Running the swainstall with -p (preview mode) and logging the details. Now check for log file and get the list of the hosts and OS versions.
something like "egrep "server_name"|OS version" >> /tmp/final.list

final.list will have entry like
server1 1100
server2 1111

From hereon, it is easy. Scripting involved.
Also did you look at the option of using preinstall script?? Man page talks about this. but I have never used it.

Anil
There is no substitute to HARDWORK
Mihai Matei
Advisor

Re: problem with mass install in heterogenous environment

I would have thought that because SD allows the packaging of multiple incompatible filesets into the same depot, it would also allow installing them properly in an heterogenous environment.

I'll look into the preinstall script, although I have a feeling of reinventing the wheel. I'm not sure preinstall would work, it gets executed when calling swinstall, before the product is installed... I can decide which filesets to install in the preinstall script, but then calling swinstall to install them seems a bit tricky ;)

Thanks for your suggestions.
Michael Roberts_3
Honored Contributor

Re: problem with mass install in heterogenous environment

the push install bases selection on the first host's attributes, so that implies that heterogeneous hosts are _not_ supported if there are filesets with machine_type or os_release selection contraints that do not match the target machines. You could set these attributes to be more open, and then have checkinstall scripts that 'exit $EXCLUDE' based on the the 'uname -r' output.

etouq ot hguone revelc ton m'i