[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

957.0. "CART CPU Loop" by AIMTEC::BUTLER_T () Mon Jun 29 1992 20:35

    I am working with Alan Hull who is on-site at FORD this week.
    
    The customer starts the CART vai the "RC" option.  The last entry
    in the logfile shows that it is "Building Site Directories."  At
    this point the run goes into a loop collecting cpu time and no
    I/O activity.
    
    CM$CART$SITE$DIRECTORIES.DAT is empty.
    
    We see no file corruptions and what we do see is a possible 
    problem translating logicals.
    
    The sys$login logical for the ALL-IN-1 account is a rooted, job
    level logical -> OAC$ROOT:[000000].  Also, the ALL-IN-1 site
    directory is normally [ALLIN1.FORD.SITE].
    
    Show Device/files showed us nothing unusal.
    
    Any  Suggestions,
    
    
    Tim
T.RTitleUserPersonal
Name
DateLines
957.3Some questionsVENERE::EIJSAll in 1 PieceTue Jun 30 1992 09:3674
    
    Tim,
    
    A few questions:
    
    1) Which account runs the CART?
    2) Which OA$SITE_DEV_* logicals are defined on the system, and where
       do they point to?
    3) Do the logicals also include the rooted logical?
    4) What are the entries in A1CONFIG (except for A1BASE and A1COUNTRY)?
    
    CM$CART$SITE$DIRECTORIES.DAT is filled according to:
    
    	- Take OA$SITE_DEV_x:
    	- Figure out <dev>:[...SITE]*.DIR
    	- Filter out the DEV_x.DIR directories
    	- Collect all existing OA$SITE_*_x logicals
    	- Figure out the directory
    	- ... and add them to CM$CART$SITE$DIRECTORIES.DAT
    
        where x is the 'application area'
    
    At first I don't think the rooted logical is not a problem as we don't
    use any existing ALL-IN-1 account to work from. However, I'm not sure
    which ALL-IN-1 account you refer to by:
    
    > The sys$login logical for the ALL-IN-1 account...
    
    Appereantly you don't get at the stage where
    CM$CART$SITE$ELELEMENTS.DAT is filled. You think Al would be in a
    position to temporarily modify CM_CART_DRIVER_PRE_PROCESSING.SCP in
    saveset A1LUS030.L and add the following before:
    
    .
            .IF CLI$A1$SEC_UPGRADE THEN .GOTO EXIT_PRE_PROCESSING
            .IF #CM_NO_SITE_DIR_ELEM THEN .GOTO EXIT_PRE_PROCESSING
    .
     
    and change it to:
    
    .
    OA$TRA_SET TERM,SCRIPT,MESS,SYMBOL,INPUT
    
            .IF CLI$A1$SEC_UPGRADE THEN .GOTO EXIT_PRE_PROCESSING
            .IF #CM_NO_SITE_DIR_ELEM THEN .GOTO EXIT_PRE_PROCESSING
    .
    
    and add the following before label:
    
    .
    .LABEL WRITE_SITE_ELEMENTS
    .
    
    and change it to:
    
    .
    OA$TRA_SET OFF,ALL
    
    .LABEL WRITE_SITE_ELEMENTS
    .
    
    Then replace the procedure in saveset L, and run the CART from a:
    
    	$ SET H/LOG <node>
    
    It's the only possibility to see WHERE the loop starts.
    
    Thanks,
    
    	Simon
    
    
    
     
957.4Here's the logicals & install log (brief)GANTRY::HULLDigital Services Delivery - MotownTue Jun 30 1992 13:04309
Hi Simon -

Here's the answers to your questions in .3:

CART attempt was made from both ALLIN1 account and one of our fully-prived
accounts.  The install log shown below is from the ALLIN1 attempt.

A dump of our logicals is listed below, with some of the SHAREnnn logicals
deleted here for brevity.  Tim's note was slightly wrong, our site areas
aren't [ALLIN1.FORD.SITE...], the .FORD level *is* the .SITE, as you'll see
from the logicals below.  Don't complain to me about how its set up - I
didn't do it!

The rooted logical I told Tim about is misleading - my error.  It was a
job-level logical SYS$LOGIN which is defined as OAC$ROOT:[000000].  The
OAC$ROOT is a  SYSTEM/EXEC logical shown below as USER9:[ALLIN1.], but I
don't believe it's used in any of the normal OA logicals.

We've tried to install and run CART 3 times now - every attempt it goes off
in the weeds in an apparent infinite loop in CPU usage - no I/O.  Note the
^T displays over a couple days in the log file.

Thisd is a show-stopper for us, as we need a full CART report to analyze
the system prior to any upgrade activity, etc.

I'll make the saveset changes you listed and see where it takes us.

Regards,
	Al

On EEDVAX> show logical oa*

(LNM$PROCESS_TABLE)

(LNM$JOB_824D6120)

(LNM$GROUP_000100)

(LNM$SYSTEM_TABLE)

  "OA$ADMIN_DATA" = "USER9:[ALLIN1.ADMIN_DATA]"
  "OA$BLP" = "OA$SITE_BLP_LLV"
        = "OA$SITE_BLP_SHARE"
        = "OA$BLP_LLV"
        = "OA$BLP_SHARE"
  "OA$BLP_ENGLISH" = "USER9:[ALLIN1.BLP_ENGLISH]"
  "OA$BLP_LLV" = "USER9:[ALLIN1.BLP_ENGLISH]"
  "OA$BLP_SHARE" = "USER9:[ALLIN1.BLP_SHARE]"
  "OA$BUILD" = "OA$SITE_BUILD_LLV"
        = "OA$SITE_BUILD_SHARE"
        = "OA$BUILD_SHARE"
  "OA$BUILD_SHARE" = "USER9:[ALLIN1.SOURCES]"
  "OA$CONCERN" = "USER6:[CONCERNS]"
  "OA$DATA" = "OA$SITE_DATA_SHARE"
        = "OA$SITE_DATA_LLV"
        = "OA$DATA_SHARE"
        = "OA$DATA_LLV"
  "OA$DATA_LLV" = "USER4:[A1_DATA_ENGLISH]"
  "OA$DATA_SHARE" = "USER4:[A1_DATA_SHARE]"
  "OA$DDS_PRIME" = "1"
  "OA$DEFAULT_LANGUAGE" = "ENGLISH"
  "OA$DO" = "OA$SITE_DO_LLV"
        = "OA$SITE_DO_SHARE"
        = "OA$DO_LLV"
        = "OA$DO_SHARE"
  "OA$DO_ENGLISH" = "USER9:[ALLIN1.DO_ENGLISH]"
  "OA$DO_LLV" = "USER9:[ALLIN1.DO_ENGLISH]"
  "OA$DO_SHARE" = "USER9:[ALLIN1.DO_SHARE]"
  "OA$IMAGE" = "USER9:[ALLIN1.LIB_SHARE]OA$MAIN"
  "OA$LIB" = "OA$SITE_LIB_LLV"
        = "OA$SITE_LIB_SHARE"
        = "OA$LIB_LLV"
        = "OA$LIB_SHARE"
  "OA$LIB_ENGLISH" = "USER9:[ALLIN1.LIB_ENGLISH]"
  "OA$LIB_LLV" = "USER9:[ALLIN1.LIB_ENGLISH]"
  "OA$LIB_SHARE" = "USER9:[ALLIN1.LIB_SHARE]"
  "OA$LLV" = "USER9:[ALLIN1.LLV_ENGLISH]"
  "OA$LOADUSER" = "OAC$ROOT:[000000.TRANSFER_INCOMING.]"
  "OA$LOG" = "USER9:[ALLIN1.LOG]"
  "OA$MAIL_NUM_ADDRESSES" = "5"
  "OA$MTI_DATA" = "USER4:[A1_DATA_SHARE]"
  "OA$MTI_ERR" = "OAC$ROOT:[000000.MGR]MTIERR.LOG"
  "OA$MTI_LIMIT_LISTS" = "0"
  "OA$MTI_LOG" = "OAC$ROOT:[000000.MGR]MTILOG.LOG"
  "OA$MTI_MAILBX" = "A1"
  "OA$MTI_OPER" = "OPA0:"
  "OA$MTI_QUEUE" = "OPERATIONS_EEDVAX"
  "OA$MTI_TRNS" = "0"
  "OA$PRIMARY_NODE" = "DPTC"
  "OA$SCP" = "OA$SITE_SCP_LLV"
        = "OA$SITE_SCP_SHARE"
        = "OA$SCP_LLV"
        = "OA$SCP_SHARE"
  "OA$SCP_ENGLISH" = "USER9:[ALLIN1.SCP_ENGLISH]"
  "OA$SCP_LLV" = "USER9:[ALLIN1.SCP_ENGLISH]"
  "OA$SCP_SHARE" = "USER9:[ALLIN1.SCP_SHARE]"
  "OA$SHARA" = "USER8:[OA$SHARA]"
  "OA$SHARA1" = "USER8:[OA$SHARA.SHARA1]"
  "OA$SHARA10" = "USER8:[OA$SHARA.SHARA10]"
  .....removed for brevity...
  "OA$SHARB_HIGH" = "  30"
  "OA$SHARB_LOW" = "   1"
  "OA$SHARE" = "USER4:[A1_DATA_SHARE]"
  "OA$SHARE1" = "USER4:[A1_SHARE1]"
  "OA$SHARE10" = "USER4:[A1_SHARE10]"
  .....removed....
  "OA$SHARE_HIGH" = "  75"
  "OA$SHARE_LOW" = "  56"
  "OA$SITE_BLP_ENGLISH" = "USER9:[ALLIN1.FORD.BLP_ENGLISH]"
  "OA$SITE_BLP_LLV" = "USER9:[ALLIN1.FORD.BLP_ENGLISH]"
  "OA$SITE_BLP_SHARE" = "USER9:[ALLIN1.FORD.BLP_SHARE]"
  "OA$SITE_BUILD_LLV" = "USER9:[ALLIN1.FORD.SOURCES_ENGLISH]"
  "OA$SITE_BUILD_SHARE" = "USER9:[ALLIN1.FORD.SOURCES_SHARE]"
  "OA$SITE_DATA" = "OA$SITE_DATA_LLV"
        = "OA$SITE_DATA_SHARE"
  "OA$SITE_DATA_LLV" = "USER9:[ALLIN1.FORD.DATA_ENGLISH]"
  "OA$SITE_DATA_SHARE" = "USER9:[ALLIN1.FORD.DATA_SHARE]"
  "OA$SITE_DEV" = "OA$SITE_DEV_LLV"
        = "OA$SITE_DEV_SHARE"
  "OA$SITE_DEV_ENGLISH" = "USER9:[ALLIN1.FORD.DEV_ENGLISH]"
  "OA$SITE_DEV_LLV" = "USER9:[ALLIN1.FORD.DEV_ENGLISH]"
  "OA$SITE_DEV_SHARE" = "USER9:[ALLIN1.FORD.DEV_SHARE]"
  "OA$SITE_DO_ENGLISH" = "USER9:[ALLIN1.FORD.DO_ENGLISH]"
  "OA$SITE_DO_LLV" = "USER9:[ALLIN1.FORD.DO_ENGLISH]"
  "OA$SITE_DO_SHARE" = "USER9:[ALLIN1.FORD.DO_SHARE]"
  "OA$SITE_LIB" = "OA$SITE_LIB_LLV"
        = "OA$SITE_LIB_SHARE"
  "OA$SITE_LIB_ENGLISH" = "USER9:[ALLIN1.FORD.LIB_ENGLISH]"
  "OA$SITE_LIB_LLV" = "USER9:[ALLIN1.FORD.LIB_ENGLISH]"
  "OA$SITE_LIB_SHARE" = "USER9:[ALLIN1.FORD.LIB_SHARE]"
  "OA$SITE_SCP_ENGLISH" = "USER9:[ALLIN1.FORD.SCP_ENGLISH]"
  "OA$SITE_SCP_LLV" = "USER9:[ALLIN1.FORD.SCP_ENGLISH]"
  "OA$SITE_SCP_SHARE" = "USER9:[ALLIN1.FORD.SCP_SHARE]"
  "OA$SUBMIT_IMAGE" = "USER9:[ALLIN1.LIB_SHARE]OA$SUBMIT"
  "OA$SUBSCRIBER_MAIL" = "0"
  "OA$SYSTEM_LISTS" = "USER9:[ALLIN1.SYSTEM_LISTS]"
  "OA$TRANSFER" = "OAC$ROOT:[000000.TRANSFER_OUTGOING.]"
  "OAC$CHECKMAIL" = "USER8:[A1_IMAGE]CHECKMAIL"
  "OAC$CMSLIB" = "USER9:[ALLIN1.FORD.CMSLIB]"
  "OAC$CONCERN" = "OA$LIB:CONCERN.FLB"
  "OAC$DFC" = "OA$LIB:DFC.FLB"
  "OAC$ELD" = "USER9:[ALLIN1.FORD.SOURCES_SHARE.ELD]"
  "OAC$EMSIN" = "USER15:[A1_EMS.EMSIN]"
  "OAC$EMSOUT" = "USER15:[A1_EMS.EMSOUT]"
  "OAC$FAX" = "USER9:[A1_FAXES]"
  "OAC$FAXLOG" = "OA$LIB:FAXLOGLIB.FLB"
  "OAC$MAILBUS_DEV" = "USER11:"
  "OAC$MTA" = "USER4:[A1_SHARED.MTA_DATA]"
  "OAC$NOTIFY" = "CAMERON,HULL"
  "OAC$PINOUT" = "OAC$PINOUT_DIR:PINOUT.FLB"
  "OAC$PINOUT_DATA" = "USER4:[A1_SHARED.PINOUT_DATA]"
  "OAC$PINOUT_DIR" = "USER4:[A1_SHARED.PINOUT]"
  "OAC$ROOT" = "USER9:[ALLIN1.]"
  "OAC$SCR" = "OAC$SCR_DIR:SCR.FLB"
  "OAC$SCR_DIR" = "USER4:[A1_SHARED.SCR]"
  "OAC$SHARED" = "USER4:[A1_SHARED.]"
  "OAC$TAI" = "USER4:[A1_SHARED.TAI_DATA]"
  "OAC$TAILIB" = "OA$SITE_LIB_ENGLISH:TAILIB.FLB"
  "OAC$TAI_ARCHIVE" = "USER4:[A1_SHARED.TAI_ARCHIVE]"
  "OAC$TAI_ARCHIVE_MASTER" = "OAC$TAI_DATA:TAI_ARCHIVE.DAT"
  "OAC$TAI_ARCHIVE_MEMBER" = "OAC$TAI_DATA:TAI_ARCHIVE_MEMBER.DAT"
  "OAC$TAI_CAT_DL" = "OAC$TAI_DATA:TAI_CAT_DL.DAT"
  "OAC$TAI_DATA" = "USER9:[ALLIN1.FORD.DATA_SHARE]"
  "OAC$TAI_FDL" = "OAC$TAI_DATA"
  "OAC$TAI_MASTER" = "OAC$TAI_DATA:TAI_MASTER.DAT"
  "OAC$TAI_MASTER_NODE" = "EEDVAX::"
  "OAC$TAI_MASTER_NODE_AVAILABLE" = "Y"
  "OAC$TAI_MEMBER" = "OAC$TAI_DATA:TAI_MEMBER.DAT"
  "OAC$TAI_REMOTE_NODES" = "OAC$TAI_DATA:TAI_REMOTE_NODES.DAT"
  "OAC$TAI_TEAM" = "OAC$TAI_DATA:TAI_TEAM.DAT"
  "OAC$TERLIB" = "OA$LIB:TERLIB.FLB"
  "OAC$WAKE_EMS" = "USER8:[A1_IMAGE]WAKE_EMS"
  "OAX$TAI" = "USER4:[A1_SHARED.TAI_DATA]"
  "OAX$TAILIB" = "OA$SITE_LIB_ENGLISH:TAILIB.FLB"
  "OAX$TAI_ARCHIVE" = "USER4:[A1_SHARED.TAI_ARCHIVE]"

(DECW$LOGICAL_NAMES)

On EEDVAX>
On EEDVAX> type sethost.log

        Electronics Div. - VAX 6430 (EEDVAX)

Username: ALLIN1
Password:

          Welcome to the VAX 6430 Computer System - Node EEDVAX

                  Currently running VMS version 5.4-2

-------------------------------------------------------------------------------

    Last interactive login on Friday, 19-JUN-1992 14:36
    Last non-interactive login on Thursday, 25-JUN-1992 10:37





ALL-IN-1, on EEDVAX>@sys$update:vmsinstal a1030 user19:[a1v30]

        VAX/VMS Software Product Installation Procedure V5.4-2


It is 25-JUN-1992 at 10:40.

Enter a question mark (?) at any time for help.

%VMSINSTAL-W-NOTSYSTEM, You are not logged in to the SYSTEM account.
%VMSINSTAL-W-ACTIVE, The following processes are still active:
        SIMMONS_S
        SERVER_0158
        MRLISTEN_8199
        MRLOGGER
        MR$T_N_1
        ROSNER
* Do you want to continue anyway [NO]? y
* Are you satisfied with the backup of your system disk [YES]?

The following products will be processed:

  A1 V3.0

        Beginning installation of A1 V3.0 at 10:41

%VMSINSTAL-I-RESTORE, Restoring product save set A ...
%VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP.

    This is a LOCAL ALL-IN-1 V3.0 BASE kit


    Your current system is ALL-IN-1 V2.4.  Using the FULL ALL-IN-1 V3.0 kit,
    the following type of installation can be performed :

        (1)     Upgrade of ALL-IN-1 V2.4 to ALL-IN-1 V3.0
        (2)     Installation of a co-existent ALL-IN-1 V3.0

   The following options are also available :

        (RL)    Register licenses for pre-requisite software
        (PC)    Perform pre-installation system and account checks
        (RC)    Run conflict checking and resolving tool (CART)
        (H)     Request help


* Which option do you wish to perform [1]: rc

   You have chosen the CART pre-installation option. Please specify the
   installation type you wish to pre-check.

   Your current system is ALL-IN-1 V2.4. Using the FULL ALL-IN-1 V3.0 kit,
   the CART can be run to pre-check the following installation types :-

        (1)     Check before FULL upgrade of ALL-IN-1 V2.4 to ALL-IN-1 V3.0
        (2)     Check before upgrade of existing ALL-IN-1 V2.4 language


* Which option do you wish to perform [1]: 1

* Enter language code for this installation (2 characters): us
%A1LUS-I-RELANK, Restoring the LANGUAGE kit savesets
%VMSINSTAL-I-RESTORE, Restoring product save set B ...

    If you wish to install a dialectal variation of ENGLISH language,
    enter the code for the dialect component you wish to use.  If you do
    not wish to install a dialectal variation of ENGLISH language,
    then accept the answer of NO_DIALECT.

* Enter dialect code for this installation (5 characters) [NO_DIALECT]:
%A1LUS-I-RESCARTSS, Restoring ENGLISH CART kit saveset
%VMSINSTAL-I-RESTORE, Restoring product save set L ...

   The Conflict checking And Resolution Tool has run already.

* Do you want run the tool again for this language [YES]?
%A1LUS-I-RUNNINGA1, Running ALL-IN-1
%CART-I-CRE 10:45 Creating CART datafiles
%CART-I-FILL 10:46 Building site directories
%WATCHER-W-INACTIVE, this terminal has been inactive since 10:47:33
%WATCHER-I-LOGWARN, logout will occur at 12:47:33

EEDVAX::ALLIN1 12:38:07 OA$MAIN   CPU=01:36:51.46 PF=8414 IO=4446 MEM=1553
EEDVAX::ALLIN1 12:38:08 OA$MAIN   CPU=01:36:52.63 PF=8418 IO=4447 MEM=1555
EEDVAX::ALLIN1 12:38:10 OA$MAIN   CPU=01:36:54.09 PF=8418 IO=4448 MEM=1555
EEDVAX::ALLIN1 12:38:10 OA$MAIN   CPU=01:36:54.70 PF=8418 IO=4449 MEM=1555
EEDVAX::ALLIN1 12:40:47 OA$MAIN   CPU=01:39:20.15 PF=8418 IO=4450 MEM=1555
EEDVAX::ALLIN1 12:40:47 OA$MAIN   CPU=01:39:20.70 PF=8418 IO=4451 MEM=1555
EEDVAX::ALLIN1 12:40:48 OA$MAIN   CPU=01:39:20.88 PF=8418 IO=4452 MEM=1555
.....
EEDVAX::ALLIN1 12:44:47 OA$MAIN   CPU=01:42:57.48 PF=8418 IO=4465 MEM=1555
EEDVAX::ALLIN1 12:44:47 OA$MAIN   CPU=01:42:57.56 PF=8418 IO=4466 MEM=1555
EEDVAX::ALLIN1 12:44:47 OA$MAIN   CPU=01:42:57.62 PF=8418 IO=4467 MEM=1555
EEDVAX::ALLIN1 12:44:51 OA$MAIN   CPU=01:43:00.51 PF=8418 IO=4485 MEM=1555
EEDVAX::ALLIN1 15:19:45 OA$MAIN   CPU=03:51:01.68 PF=8418 IO=4486 MEM=1555

<Note: We never got zapped by the watchdog program - we killed its 
       process first>
%WATCHER-W-INACTIVE, this terminal has been inactive since 08:59:46
%WATCHER-I-LOGWARN, logout will occur at 10:59:46

EEDVAX::ALLIN1 10:56:03 OA$MAIN   CPU=22:13:01.52 PF=8418 IO=4487 MEM=1555
EEDVAX::ALLIN1 10:56:03 OA$MAIN   CPU=22:13:01.87 PF=8418 IO=4488 MEM=1555
EEDVAX::ALLIN1 10:56:04 OA$MAIN   CPU=22:13:02.07 PF=8418 IO=4489 MEM=1555
EEDVAX::ALLIN1 10:58:34 OA$MAIN   CPU=22:15:20.72 PF=8418 IO=4490 MEM=1555
EEDVAX::ALLIN1 11:00:13 OA$MAIN   CPU=22:16:49.15 PF=8418 IO=4491 MEM=1555
EEDVAX::ALLIN1 11:05:46 OA$MAIN   CPU=22:21:55.16 PF=8418 IO=4492 MEM=1555
On EEDVAX>
On EEDVAX>
On EEDVAX>
957.5It's the FORD instead of the SITETEMPRA::EIJSAll in 1 GraphicTue Jun 30 1992 15:0163
    
    Hi Al,
    
    > Don't complain to me about how its set up - I didn't do it!
    
    I never complain. Who said this once: 'Always expect the unexpected!'
    
    The fact that 'SITE' isn't used as indication that the SITE
    (Development/Live) directories start is the problem here.
    
    The code does:
    
    ! CM_CART_FILL_SITE_DIRECTORIES.SCP
    .
    !+
    ! Strip of the directories untill we hit '.SITE'. This is what we are
    ! looking for
    !-
    
            GET_TOKEN #CM_DIRECTORY,#CM_DIRECTORY_REST,"." \-
             .IF #CM_DIRECTORY:4 EQS "ETIS" THEN GET OA$STATUS = 0 \-
             IFSTATUS \-
             REPEAT
    
    E.g. OA$SITE_DEV_SHARE:	-> USER9:[ALLIN1.FORD.DEV_SHARE]
    
    We're looking for SITE as we were not sure if someone would have played
    around with the directories underneath, but didn't expect that SITE
    wouldn't be used at all. It's easy to see what happens here:
    
    The last GET_TOKEN will put '1NILLA[:9RESU' in #CM_DIRECTORY_REST, and
    will continue the loop untill it hits 'ETIS', that means forever,
    without IO, etc.
    
    There are 2 workarounds for CM_CART_FILL_SITE_DIRECTORIES.SCP (in
    saveset A1LUS030.L:
    
    1) The FORD specific:
    
    	Replace 'ETIS' with 'DROF' 
    
    2) The more generic:
     	
    	Assuming only 1 directory will be found underneath [...SITE],
        replace the piece of code mentioned above by:
    
    !+
    ! Strip of one directory. This is what we are looking for
    !-
    
            GET_TOKEN #CM_DIRECTORY,#CM_DIRECTORY_REST,"."
    
    
    Now that it's happening, we need to cater for it. 
    Mike (Bils.) and I will argue who will submit the *PR.
    
    HTH,
    
    	Simon.
    
    
    PS Al, don't worry about the trace, it is obvious what happened now.
    
957.6A1BASE as requestedGANTRY::HULLDigital Services Delivery - MotownTue Jun 30 1992 15:2429
Simon -  here's our A1BASE record from A1CONFIG.  Non-standard as you can
see.  The guilty party who did this years ago knows this is wierd, but I
won't name names here.  They know who they are!  And they'll undoubtedly
see this!!



               ALL-IN-1 SYSTEM CONFIGURATION INFORMATION

 Language:  A1BASE                   Version: 2.4           Revision:  AAA

 File Location:  USER9:[ALLIN1]

 Data Location:  USER9:[ALLIN1]

 Site File Loc:  USER9:[ALLIN1.FORD]

 Site Data Loc:  USER9:[ALLIN1.FORD]

 Mailbox: A1             Number of Languages: 0    Installed on:

 Translate: 0   Remote Mail: 1  Remote MR: 0   Node:         DDS: 1  WPS+: 1

 Default Language:         Prefix: OA$      Lexicon:

 VMS Account name: ALLIN1                   Mail queue: OPERATIONS_EEDVAX

 ALL-IN-1 Mgr's Dir: OAC$ROOT:[000000.MGR]
Do you want to Add, Change, COpy, Delete, or Inquire:
957.7looks like the customer tried hard to be correctSKNNER::SKINNERI&#039;m doing my EARSTue Jun 30 1992 17:068
The use of .FORD instead of .SITE may look "wierd", but it looks to me like the
change was "registered" properly in the A1BASE record.

So as Simon (or is that "nomiS"?) says, now that we know it can happen we will
need to handle it from now on.  Maybe he can figure out how to use the A1BASE
field(s) to know what to look for, given your customer's example.

/Marty
957.8who is RAEHPNALAIMTEC::WICKS_ADEC Mail Works for ME sometimesTue Jun 30 1992 18:3820
    Simon,
    
    Some questions...
    
    What if there were more than one directory below the .SITE (equivalent)
    directory for instance let's say someone had hypothetically built a
    v3.0 application called COURSE with a directory of [ALL30.COURSE] as
    the site root and below that had application areas called CART and
    CMPLUS which had their develop areas below that - only hypothetical
    you understand??
    
    No 2. Would this be a candidate for fixing in any hypothetical future
    patch that might ship a CART.
    
    STARS article and all that good stuff will be taken care of ....
    
    regards,
    
    Andrew.D.Wicks                                        
    
957.9The SITE I was at was FORD!SHALOT::LANPHEARTest the water or turn the tide?Tue Jun 30 1992 23:5311
    I seem to recall the VMSINSTAL & doc for the V2.3 upgrade said
    'what do you want to call the SITE directory?'...  I just answered 
    the question!  After all, that was six years ago...  I probably
    spelled  'ALL-IN-1' wrong, too :-)
    
    Brings up an interesting point - why do we prompt the user if our code
    doesn't expect them to change it?
    
    						Cheers, Dan'l
    
    P.S.  Will this make Tony's second book on ALL-IN-1, the V3.0 daze?
957.10What a memory!!!AIMTEC::WICKS_ADEC Mail Works for ME sometimesWed Jul 01 1992 00:129
    Dan'l         
    
    Nothing wrong with your memory - page 2-18 has it in black-and-white.
    
    I hope you didn't spell ALL-IN-1 wrong.
    
    regards,
    
    Andrew.D.Wicks
957.11'Memory' outclassed meCESARE::EIJSAll in 1 PieceWed Jul 01 1992 13:24198
                                       
Marty, Andrew, Dan,

You're all right. The person who wants CM to be as flexible as possible now 
appears the one who tries to restrict the customer ;-). I was around when V2.3 
was released, so I should have known.

Re-considering the 2 solutions given, all assumptions made seem to be too
catious. Marty is right in indicating that what the A1CONFIG indicates will be
the top directory for the SITE areas. Included a changed version of
CM_CART_FILL_SITE_DIRECTORIES.SCP. 

>    What if there were more than one directory below the .SITE (equivalent)
>    directory for instance let's say someone had hypothetically built a
>    v3.0 application called COURSE with a directory of [ALL30.COURSE] as
>    the site root and below that had application areas called CART and
>    CMPLUS which had their develop areas below that - only hypothetical
>    you understand??

The check excludes the DEVELOPMENT directories (E.g. DEV_SHARE.DIR). We only
wanted to be of help (and look where it got us ;-)) with checking the Live
areas, because that used to be the areas in which a lot of things could have
been copied e.g. because CM didn't support the element type.

The situation described for [ALL30] will appear under V3.0, but the change will
only impact the CART run from the installation procedure as the SITE
directories are not checked when the CART is run from the CART menu in CM. 

HTH,

	Simon



!+
!	CM_CART_FILL_SITE_DIRECTORIES.SCP
!+
.LABEL START

	GET #CM_AREA = .%KEY \-
	 GET #CM_MSG_WHAT = "directories" \-
	 GET #CM_MSG_ADDITIONAL = 1

!+
! Be sure we have the right Site directory. Devices might be
! different for language and SHARE directories, and LIB and DATA directories
! Fill the CM$CART$SITE$DIRECTORIES datafile
!-

	.IF #CM_AREA EQS "SHARE" THEN -
	  GET #CM_TMP = "A1BASE" -
	 ELSE -
	  GET #CM_TMP = #CM_AREA

	GET #CM_DIRECTORY_TMP = A1CONFIG.SITELOC[#CM_TMP] \-
	 GET #CM_DIRECTORY = #CM_DIRECTORY_TMP "*.DIR"
	.IF A1CONFIG.SITEDATA[#CM_TMP] NES #CM_DIRECTORY_TMP THEN -
	 GET #CM_DIRECTORY = -
	   #CM_DIRECTORY "," A1CONFIG.SITEDATA[#CM_TMP] "*.DIR"

!+
! Create a directory listing of all directories in the SITE areas
!-

	GET #CM_MSG = -
	  "Error creating temporary directory listing for " #CM_AREA " areas"
	GET #CM_TEXT_FILE = "OA$TEMP:CART_TEXT_FILE.TXT"
	GET OA$FUNCTION="DELETE " #CM_TEXT_FILE
	GET OA$DCL='DIR/NOHEAD/NOTRAIL/COL=1/OUT=' #CM_TEXT_FILE ' ' #CM_DIRECTORY
	.IF OA$DIR:"*.*".%WHOLE[#CM_TEXT_FILE] NES "" THEN .GOTO OPEN_DIRECTORY

	DO CM_CART_DRIVER_DISPLAY_ERROR
	FOR OA$TABLE:#CM_DIRECTORY DO -
	 GET #CM_DIRECTORY_TMP = .%KEY \\-
	 FOR OA$DIR_SEARCH:#CM_DIRECTORY_TMP DO -
	  GET #CM_DIRECT_TMP = .ALLBUTVER \\\\-
	  TEXT_FILE WRITE CM_CART_ERR #CM_DIRECT_TMP
	.GOTO OPEN_READ_LOGICALS

.LABEL OPEN_DIRECTORY

	GET #CM_MSG = "Error writing records to CM$CART$SITE$DIRECTORIES."
	TEXT_FILE OPEN/READ CM_CART #CM_TEXT_FILE

.LABEL READ_DIRECTORY

	TEXT_FILE READ CM_CART #CM_RECORD
	.IF NOT OA$STATUS THEN .GOTO CLOSE_DIRECTORY

!+
! Fill the CM$CART$SITE$DIRECTORIES datafile.
! If the first part of the directory name not equals DEV and the second part
! equals the AREA looked for, then we're in business
!-

	GET_TOKEN #CM_RECORD,#CM_DIRECT_TMP,"]" \-
	 GET_TOKEN #CM_RECORD,#CM_NAME_TMP,"." \-
	 GET #CM_NAME = #CM_NAME_TMP \-
	 GET_TOKEN #CM_NAME_TMP,#CM_DIRECT_NAME,"_" \-
	 GET_TOKEN #CM_NAME_TMP,#CM_REST,"*"
	.IF #CM_DIRECT_NAME EQS "DEV" THEN .GOTO READ_DIRECTORY

	GET #CM_DIRECT_TMP = #CM_DIRECT_TMP "." #CM_NAME "]"
        .IF CM$CART$SITE$DIRECTORIES.%KEY[#CM_DIRECT_TMP] EQS "" THEN -
	 WRITE ADD CM$CART$SITE$DIRECTORIES DIRECTORY = #CM_DIRECT_TMP:80 ,-
		   DIRECTORY2 = #CM_DIRECT_TMP::80 \-
	 IFNOTSTATUS \-
	 DO CM_CART_DRIVER_DISPLAY_ERROR \-
	 TEXT_FILE WRITE CM_CART_ERR #CM_DIRECT_TMP

	.GOTO READ_DIRECTORY

.LABEL CLOSE_DIRECTORY

	TEXT_FILE CLOSE CM_CART

.LABEL OPEN_READ_LOGICALS
!+
! Next to the directories, there might be existing logicals to other 
! directories not to be found in the '.SITE' directive. Don't forget
! these
!-

	GET #CM_STATUS_TMP = 1
	GET #CM_COMMA = #CM_ERROR_STRING = ""
	GET #CM_MSG = "Error occurred when searching for OA$SITE* logicals"
	COMMAND CM_CART_GET_LOGICALS
	.IF #CM_STATUS_TMP THEN .GOTO OPEN_FILE

	GET #CM_MSG_ADDITIONAL = 0
	DO CM_CART_DRIVER_DISPLAY_ERROR
	.GOTO INSTALL_EXIT

.LABEL OPEN_FILE
!+
! Read all logicals found and compare them with the known OA application
! (ALL-IN-1) directories
!-

	GET #CM_KNOWN_DIRECT = "BLP,BUILD,CBI,DATA,DO,LIB,SCP"
	GET #CM_MSG = "Error writing records to CM$CART$SITE$DIRECTORIES."
	GET #CM_MSG_ADDITIONAL = 1
	TEXT_FILE OPEN/READ CM_CART #CM_TEXT_FILE

.LABEL READ_FILE

	TEXT_FILE READ CM_CART #CM_RECORD
	.IF NOT OA$STATUS THEN .GOTO CLOSE_FILE
	.IF NOT (#CM_RECORD <=> "OA$SITE_") THEN .GOTO READ_FILE
	GET_TOKEN #CM_RECORD,#CM_DUMMY,'"'
	GET_TOKEN #CM_RECORD,#CM_LOGICAL,'"'

!+
! Find out if logical part of ALL-IN-1 known logicals, as used by CM.
! Fill the CM$CART$SITE$DIRECTORIES datafile
!-

	GET #CM_LOGICAL_TMP = #CM_LOGICAL \-
	 GET_TOKEN #CM_LOGICAL_TMP,#CM_DUMMY,"_" \-
	 GET_TOKEN #CM_LOGICAL_TMP,#CM_DIRECT,"_" \-
	 GET_TOKEN #CM_LOGICAL_TMP,#CM_REST,"*"
	.IF #CM_REST NES #CM_AREA THEN .GOTO READ_FILE
	.IF NOT (#CM_KNOWN_DIRECT <=> #CM_DIRECT) THEN .GOTO READ_FILE

	GET #CM_DIRECT_TMP = LOG$@#CM_LOGICAL
        .IF CM$CART$SITE$DIRECTORIES.%KEY[#CM_DIRECT_TMP] EQS "" THEN -
	 WRITE ADD CM$CART$SITE$DIRECTORIES DIRECTORY = #CM_DIRECT_TMP:80 ,-
		   DIRECTORY2 = #CM_DIRECT_TMP::80 \-
	 IFNOTSTATUS \-
	 DO CM_CART_DRIVER_DISPLAY_ERROR \-
	 TEXT_FILE WRITE CM_CART_ERR #CM_DIRECT_TMP

	.GOTO READ_FILE

.LABEL CLOSE_FILE

	TEXT_FILE CLOSE CM_CART

.LABEL INSTALL_EXIT

	.EXIT

!
! Author: Simon Eijs 
!
! Modified by: 		 | Date:                | Reason:
!-----------------------------------------------------------------------------
! Simon Eijs             | 17-Apr-1991 11:27am  | Element created, please state
!                        |                      | modifications down here
!-----------------------------------------------------------------------------
! KAL			 ! 3-Oct-1991		! CART fixes
!-----------------------------------------------------------------------------
! Simon Eijs		 | 01-Jun-1992		| Change check for SITE to
!			 |			|  check for A1CONFIG
!
! - Procedure to fill the datafile CM$CART$SITE$DIRECTORIES.DAT. 
!   This procedure is installation dependent only. It has no use when 
!   CART can be used from the CM+ subsystem
957.12Worked, but CART is the culprit all the way!CUSTOM::HULLDigital Services Delivery - MotownWed Jul 01 1992 20:3212
Well, I put in the simple 'DROF' fix and it worked fine.  But as Mr. 
RAEHPNAL pointed out, if the A1CONFIG database has the value defined and it 
runs ok, then the CART code ought to be using ONLY that data as its input.

Looks like this one slipped through the cracks - remember, customers, and DEC 
residents at customer sites (Hi Dan-o!) can and will do ANYTHING possible, 
and not necessarily what you expect them to do.  Looks like a CART patch is 
due...

Regards,

	Al
957.13Will CART run on site-specific structure?UTRTSC::BOSMANWe&#039;re just sugar mice in the rainThu Jul 02 1992 09:2728
    Hi,
    
    For performance and site-policy reasons I've changed several values in
    A1CONFIG records to implemented the structure below.
    
    In order to run the CART properly (and due to hard-coded values), is it
    neccesary to set everthing back to the situation when you press RETURN
    on the default values whilst installing ALL-IN-1?
    
    See note 3049 in OAWEGO::ALL-IN-1_V24 for problems with OA$DATA
    logicals and note 323 in this conference for problems with the
    definition of the logicals for the transfer directories.
    
    Regards,
    Sjaak.
    
    Disk0       Disk1       Disk2       Disk3
     --------    --------    --------    --------
    | A1DATA |  | A1SITE |  | ALLIN1 |  | TS     |
     --------    --------    --------    --------
                                           |
                                         --------
                                        | USER   |
                                         --------
                                           |       - Concealed device TS_USER
                                         --------
                                        | MGR    | - UFD TS_USER:[MGR]
                                         --------
957.15What can we expect in A1CONFIG and *SITE* logicals?CESARE::EIJSAll in 1 PieceFri Jul 03 1992 12:3122
    
    Hi Sjaak,
    
    Sorry for not answering. When reading .13 first I thought that the
    'workaround' given would do in your situation.
    
    But without implementing the 'workaround', a question: the names given
    in the diagram, do they imply the name of the top-level directory? In
    other words, should I read the A1CONFIG as follows?
    
     File Location: <device>:[ALLIN1]
    
     Data Location: <device>:[A1DATA]
    
     Site File Loc: <device>:[A1SITE]
    
     Site Data Loc: <device>:[A1DATA]? or <device>:[A1SITE]?
    
    Ciao,
    
    	Simon
    
957.16Right.UTRTSC::BOSMANThey sold you the view from a hillFri Jul 03 1992 13:1011
    Hi,
    
    I know I could count on you Simon. Yes you're right, that's the way it
    was implemented, and why I had to change A1V{24|30}START a little. I'm
    talking about a site of appr. 1500 users (today), spreaded on 4 clusters.
    
    Always expect the unexpected! I hope the flexibility of ALL-IN-1 don't
    hit us.
    
    Ciao,
    Sjaak.
957.17Have to ask again to check the assumptionsCESARE::EIJSAll in 1 PieceFri Jul 03 1992 14:0648
    
    Sjaak,
    
    >  Site Data Loc: <device>:[A1DATA]? or <device>:[A1SITE]?
    
    Although I still don't know if the 'Site data loc:' =
    <device>:[A1DATA] or <device>:[A1SITE], and the logicals used, I'm
    making another assumption:
    
    OA$SITE_DEV_SHARE	-> DISK1:[A1SITE.DEV_SHARE]
    OA$SITE_DEV_DUTCH	-> DISK1:[A1SITE.DEV_SHARE]
    
    OA$SITE_LIB_SHARE	-> DISK1:[A1SITE.LIB_SHARE]
    OA$SITE_LIB_DUTCH	-> DISK1:[A1SITE.LIB_DUTCH]
    .
    OA$SITE_DATA_SHARE	-> DISK1:[A1SITE.DATA_SHARE]
    OA$SITE_DATA_DUTCH	-> DISK1:[A1SITE.DATA_DUTCH]
    
    OA$LIB_SHARE	-> DISK2:[ALLIN1.LIB_SHARE]
    OA$LIB_DUTCH	-> DISK2:[ALLIN1.LIB_DUTCH]
    .
    OA$DATA_SHARE	-> DISK0:[A1DATA.DATA_SHARE]
    OA$DATA_DUTCH	-> DISK0:[A1DATA.DATA_DUTCH]
    
    If this is the case then the standard CART procedure will work. The
    check was:
    
    	- Take logical OA$SITE_LIB_<area>
    	- Translate it
    	- Reverse the string
    	- Strip off the ']'
    	- Strip of the first part untill '.'
    	- Check for "ETIS"
    
    In your case after the first 'strip' you'll end up with e.g.:
    
    	ETIS1A[:1KSID
    
    Now, that is under the assumptions made above. Again, are the
    assumptions correct?
    
    Ciao,
    
    	Simon
    
    
    
    
957.18Assumptions are correct.UTRTSC::BOSMANThey sold you the view from a hillFri Jul 03 1992 14:4811
    Hi,

    This is the contents of A1BASE     This is the contents of ENGLISH
    ------------------------------     -------------------------------
    File Location:  DISK3:[ALLIN1]     File Location:  DISK3:[ALLIN1]
    Data Location:  DISK0:[A1DATA]     Data Location:
    Site File Loc:  DISK1:[A1SITE]     Site File Loc:  DISK1:[A1SITE]
    Site Data Loc:  DISK1:[A1SITE]     Site Data Loc:

    Sjaak.
    
957.19So I think it will work with no modificationsCESARE::EIJSAll in 1 PieceFri Jul 03 1992 19:531