[comp.os.vms] Testing for a node

system%hep.nrc.CDN@ean.ubc.ca (03/17/88)

	On VMS, what is a nice simple way from within a COM file
	to see whether a remote DECNET node is available or not given
	that you don't know anything about the files or system type
	of the remote node ????

	Please send reponses directly to JACK @ NRCHEP (on BITNET)
	as I currently not on the infoVAX distribution.

	Thanks for any help on this matter.

	Bill Jack     System Manager   National Reaseach Council
					Ottawa,  CANADA

			JACK  @  NRCHEP   --  BITNET

jj1h+@ANDREW.CMU.EDU (Joseph Jackson) (03/22/88)

I was recently working on a DCL procedure and needed to see if a node
was available enough to let me access various files on its system
disk.  I recalled this quick and nifty method that a manager once
showed me.  If a node is there, then you can expect to find this file:

nodename::DUA0:[000000]000000.DIR

That is, the root directory file on the disk DUA0:.  This is the line
that I used to assign a "boolean" DCL symbol used as the condition of
a later IF statement:

Node_down = F$Search ("''Nodename'::DUA0:[000000]000000.dir") .eqs. ""

This assumes that every DECnetted machine has a disk called DUA0:.
Hopefully, I'm not completely off-base in this respect!


Joe Jackson.  ;-)


      ___________________________________________________________
     |                                                           |
     |                  Joseph L. Jackson, Jr.                   |
     |                Carnegie-Mellon University                 |
     |                                                           |
     |        Overland:                   Network:               |
     |  4705 Fifth Ave, Apt.#4M     JJ1h+@andrew.cmu.edu         |
     |  Pittsburgh, PA 15213-2937   Jackson@laurel.psy.cmu.edu   |
     |  (412) 268-5540              JJ1h+%andrew.cmu.edu@CMCCVMA |
     |___________________________________________________________|

mbr@beta.UUCP (Mike Rose) (03/31/88)

In article <EWFJ8jy00WA9474XZc@andrew.cmu.edu> jj1h+@ANDREW.CMU.EDU (Joseph Jackson) writes:
>
>If a node is there, then you can expect to find this file:
>nodename::DUA0:[000000]000000.DIR
>
>Node_down = F$Search ("''Nodename'::DUA0:[000000]000000.dir") .eqs. ""
>
>This assumes that every DECnetted machine has a disk called DUA0:.


There are two problems with this.  The first you suggested: not
every machine has DUA0:.  You can easily get around this by
using "SYS$SYSDEVICE:" instead.  

The second problem is access control.  The above assumes that
there is a default decnet account, and that your node can
use it to run FAL.  While this is the default (I think),
many sites disable it.

Mike Rose
mbr@lanl.gov

crouch@btnix.UUCP (Chris Rouch) (03/31/88)

From article <EWFJ8jy00WA9474XZc@andrew.cmu.edu>, by jj1h+@ANDREW.CMU.EDU (Joseph Jackson):
> 
> I was recently working on a DCL procedure and needed to see if a node
> was available enough to let me access various files on its system
> disk.  I recalled this quick and nifty method that a manager once
> showed me.  If a node is there, then you can expect to find this file:
> 
> nodename::DUA0:[000000]000000.DIR
> 
> That is, the root directory file on the disk DUA0:.  This is the line
> that I used to assign a "boolean" DCL symbol used as the condition of
> a later IF statement:
> 
> Node_down = F$Search ("''Nodename'::DUA0:[000000]000000.dir") .eqs. ""
> 
> This assumes that every DECnetted machine has a disk called DUA0:.
> Hopefully, I'm not completely off-base in this respect!
> 

Unfortunately this is not always the case. Our 785 for instance has all its
disks as DRxx. Also, wildcards are not allowed aas part of the disk name. I
s'pose you could always look for both types, but then there might be even more
valid formats that you would need to test.

		Chris Rouch

--------------------------------------------------------------------------------
vax to vax (UUCP)       CRouch@axion.bt.co.uk (...!ukc!btnix!crouch)
desk to desk            RT3124, 310 SSTF,
			British Telecom Research Laboratories,
			Martlesham Heath, IPSWICH, IP5 7RE, UK.
voice to voice          +44 473 646093

	"Ours is not to look back, ours to continue the crack."
--------------------------------------------------------------------------------

yuval@taux01.UUCP (Gideon Yuval) (03/31/88)

2 easy methods:

(1) run DIR <nodename>:: . the error-message lets you know whether you got
    to the node (and possibly got blocked there), or whether the node is
    dead.

(2) send VMS mail to <nodename>::alibaba . If the node is alive, you get
    "E-blahblah no such user". If not, you get "... no such node".

Bothe methods are great for documenting "phantom nodes" (i.e. nodes that
exist on SHOW NET output, but are 100% inaccessible -- it happens a good
deal with satellite & X.25 links).


-- 
Gideon Yuval, yuval@taux01.nsc.com, +972-2-690992 (home) ,-52-522255(work)
 Paper-mail: National Semiconductor, 6 Maskit St., Herzliyah, Israel

sqkeith@csvax.liv.ac.uk (04/14/88)

Testing for a node the noddy way:

  Attempt to assign a channel to NODE::NL:

  As NL: is a shareable mailbox template device, the only way the assignment
  will fail is if NODE doesn't exist or is offline in some way.

Testing for a node the better way:

  Use nontransparent DECnet calls. 

What I would like to know is how to read (from an image) the DECnet volatile
node tables and other parts of the database. Should I wait for VMS 5.x?

Keith

+-----------------------------------------------------------------------------+
| Keith Halewood, Janet:    sqkeith@csvax.liv.ac.uk                           |
|                 UUCP:     ...!mcvax!ukc!mupsy!liv-cs!sqkeith                |
|                 Internet: sqkeith%csvax.liv.ac.uk@cunyvm.cuny.edu           |
+-----------------------------------------------------------------------------+

carl@CITHEX.CALTECH.EDU (Carl J Lydick) (04/22/88)

 > Testing for a node the noddy way:
 > 
 >   Attempt to assign a channel to NODE::NL:
 > 
 >   As NL: is a shareable mailbox template device, the only way the assignment
 >   will fail is if NODE doesn't exist or is offline in some way.

Well, you're getting closer, but still no cigar.  If the  node  is  reachable,
but  remote file access has been disabled, this method will incorrectly report
that the node is not reachable, unless you check the error messages correctly.
I  guess  that's  the  bottom line:  to find out if the node is reachable, try
performing ANY DECnet operation that doesn't have unwanted side  effects  (for
example,  you probably don't want to create an umpteen-megabyte file).  If the
operation succeeds, the remote node is reachable.  If it  fails,  examine  the
status  and/or  error messsages.  If they don't say the node is not reachable,
then the node IS reachable, but you tried doing something it didn't allow.

By the way, NL:  is NOT a template device.  The  only  way,  for  example,  to
create  NLA1:   is  with SYSGEN or something functionlly equivalent.  Also, if
you try to create a null device that's out of range (NLA8:, as  I  recall,  is
the  first  such),  you'll crash your system (that's why I don't check to make
sure that NLA8:  is the first illegal null device).