#!/etc/Tivoli/bin/perl
#####################################################################
# TITRE:	TivVcnxTMR
#--------------------------------------------------------------------
# CREE LE:	06/04/1999			Par: V.BRION S.GISLAIN
#--------------------------------------------------------------------
# OBJET: Lancement sans parametre ou avec parametre <> 1:
#        renvoie le nombre de TMR non connectes, => pb si > 0.
# Lancement avec parametre = 1: renvoie le nom des TMR non connectes.
# Si le serveur est KO, renvoie juste cette info, sans regarder les TMR.
#			
#====================================================================
# Modifie le:	JJ/MM/AA		Par: 
#	Motif: motif ayant justifie la modification et points
#	modifies si besoin
#		18/05/1999		S.GISLAIN
#	Ajout d'un ping sur le(s) serveur(s) KO.
#
#####################################################################
# REMARQUES: Les entetes des fonctions ont ete allegees pour plus
#            de lisibilite (fonction de petite taille et presque
#            identiques
#
#####################################################################
# CONVENTION DES CODES DE RETOUR (autre aue 0 (Ok) et 1 (erreur)
#
#====================================================================
# ACCES ET DROITS D'APPEL
#	Mode: 0777	Owner: 			Group:
#====================================================================
# PRE-REQUIS EN ENTREE
# Environnement materiel:
#	Machine: 			Constructeur: HP,SUN,IBM,SGI
# Environnement logiciel:
#	OS: hp-ux			Version: 9.05
#	    hp-ux				 10.20
#	    Solaris				 5.3
#	    Solaris				 5.5
#	    SunOs 				 4.1.3
#	    AIX					 3.x
#	    AIX					 4.2
#	    IRIX				 5.3
# Initialisation des variables globales (environnement, reseau...):
#	VARIABLE1	=	
#	VARIABLE2	=
#####################################################################
$NomTemplate = "";
				# Recuperation Nom de template
$NomTemplate = $ARGV[0] if(scalar( @ARGV ) > 0 );

$nbr = 0;
#$TmrNumber = `. /etc/Tivoli/setup_env.sh; objcall 0.0.0 get_oserv`;
#$TmrNumber =~ s/[.].*// ;
#$TmrNumberTmr = "'$TmrNumber\\.1\\.'";

@tableau = `. /etc/Tivoli/setup_env.sh; wlookup -ar ManagedNode | grep '\\.1\\.'`;

if($NomTemplate eq "")
{
	printf "\nNombre de serveurs trouves : %d.\n", scalar( @tableau );
	print "Serveur(s) TMR KO non connecte(s) ou non trouve(s) :\n\n";
}

foreach $tab (@tableau)
{
	chop($tab);

        ($TMR, $reste) = split ( /[ 	]+/, $tab);

        $ping = `. /etc/Tivoli/setup_env.sh; wping $TMR 2>&1`;

        if($ping !~ /is alive/)
        {
                $nbr++;
                if($NomTemplate eq "")
                {
                        print "------------------------------------------------------------\n";
                        print " Serveur : $TMR\n";
                        print "------------------------------------------------------------\n";
                        print "wping $TMR (test Tivoli) :\n";
                        print "$TMR : KO <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n";
                        print "\nping -s $TMR 64 10 (test reseau) :\n";
                        $Retour = `ping -s $TMR 64 10 2>&1`;
                        print "$Retour\n";
                }
        }
}

if($NomTemplate eq "")
{
	print "------------------------------------------------------------\n";
	printf "\nNombre de serveur(s) TMR KO : %d.\n", $nbr;
	print "\n";
}
else
{
	$Commande = "/logiciel/OpC/opcmon $NomTemplate=$nbr";

	system( $Commande );
}

# eof
