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

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

3835.0. "global inst wildcard fires subdomains" by BRSVMS::VDKERCKHOVE (Never say NEVER) Wed Sep 30 1992 19:52

    Hi folks,

    Just as in Note 2575, I have a top domain with sub domains in it.

    In each domain, I have OCCURS alarm rules with an instance wildcard on
    the global level : OCCURS( SABIN * ANY EVENT). Because of the number of
    domains and the number of entities in the domains for which events
    should be collected I have to use global instance wildcards in occurs
    rules, otherwise I'd end up with a few thousand rules.

    If an event comes in from an entity located in the top level domain,
    the subdomains also turn color, altough the entity is not inthere. Even
    if I disable notifications in the top level domain, the subdomains for
    which notification is still enabled, all trap the event and turn color.

    I've tried, as suggested in 2575.1, to put an "in domain" qualifier
    inside the rule expression, but that makes no difference.

    How can I make a domain icon to change color only when an event for an
    entity contained in it comes in ?

    Eric.
T.RTitleUserPersonal
Name
DateLines
3835.1OCCURS format rules in V1.2 ignore domain membershipMCC1::DITMARSPeteWed Sep 30 1992 20:5822
In V1.2, the OCCURS format of a rule ignores domain membership.
This is being addressed in V1.3.  Domain membership filtering
will be done in the alarms FM.

The "in domain" string in the OCCURS format rule mentioned in
note 2575 (with some surprise) either:
	1) has no effect at all, or
	2) does not have any effect unless the MM that is 
	   generating the event supports the IN DOMAIN
	   qualifier on the GETEVENT directive.
I do not know which is the case.

Notify requests are sensitive to domain membership.
If you don't need to execute a command procedure when the
event occurs (which can't be done via a notify request), 
you could get away with the following:

notify domain top_domain entity list = (SABIN *), event = "ANY EVENT"

If you do need to execute a command procedure when the event
occurs, you might use both the notify and put the rule only in
a "dummy" domain which is not in your domain hierarchy.
3835.2What makes an event a CONFIGURATION event?BRSVMS::VDKERCKHOVENever say NEVERThu Oct 01 1992 14:39527
>Notify requests are sensitive to domain membership.
>If you don't need to execute a command procedure when the
>event occurs (which can't be done via a notify request), 
>you could get away with the following:
>
>notify domain top_domain entity list = (SABIN *), event = "ANY EVENT"
>


I've tried 

NOTIFY DOMAIN .SABIN EVENT=(ANY EVENT), ENTITY LIST=(SABIN *)

but without any delivery of events.


Fore some reason, my access module is called with the equivalent of

SHOW SABIN .brh982 ALL IDENTIFIERS

brh982 is a sabin entity in a sub domain of domain .sabin !


Then I get called at for a 

GETEVENT SABIN * AMA ANY CONFIGURATION EVENT 

and for each of SABIN's child entity classes, full instance wildcards where
possible.


Upon receipt of an event, the access module returns it to the caller, but
nothing happens. (they work with alarms rules !)

My events are mcc_event_put with partition MCC_K_PRT_CONFIGURATION_EVENTS.

WHY IS MY EVENT NOT CONSIDERED AS A CONFIGURATION EVENT ??

Help very much appreciated !

Eric.

BRSVMS $ mcc
DECmcc (V1.2.0)

MCC> notify domain .sabin event=(any event), entity list=(sabin *)
%MCC-S-NOTIFSTART, Notify request 1 started
MCC> 
     mcc_sabin_am_log Routine. Saving log bit mask (1)

--------------------
MCC_SABIN__SHOW_SABIN

Dump of IN_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 10 type = 5
        instance = ..................brh982..
        %X00000000000000000000000000000A0001066272683938320000

Attribute Partition: 1

--------------------
MCC_SABIN__SHOW_SABIN returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 10 type = 5
        instance = ..................brh982..
        %X00000000000000000000000000000A0001066272683938320000

Dump of OUT_P:

[  3 ] ( 
    [  1 ]     20 94 
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_HIA

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = INSTANCE_FULL class = 90

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_OIA

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = INSTANCE_FULL class = 80

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_AMA

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = NOT_WILD class = 70 id = 0 type = 0
        instance = 

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_EVD

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = NOT_WILD class = 60 id = 0 type = 0
        instance = 

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_OS

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = NOT_WILD class = 60 id = 0 type = 0
        instance = 
        entity [2] wild = INSTANCE_FULL class = 65

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_XCS

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55
        entity [1] wild = NOT_WILD class = 75 id = 0 type = 0
        instance = 

Attribute Partition: 15

--------------------
MCC_SABIN__GETEVENT_SABIN

Dump of IN_ENTITY:

        entity [0] wild = INSTANCE_FULL class = 55

Attribute Partition: 15
MCC> display notif

Notify requests currently in progress:

Entry  Status   Command
-----  ------   -------
    1  Running  notify domain .sabin event=(any event), entity list=(sabin *)

MCC> disable sabin brh665

--------------------
MCC_SABIN__DISABLE_SABIN

Dump of IN_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = brh665

Attribute Partition: 10

--------------------
MCC_SABIN__DISABLE_SABIN

Dump of message sent to ML:

|16|11| 05 00 02 00 64 00 06 00 01 00 00|
....d......

--------------------
MCC_SABIN__DISABLE_SABIN

Dump of message received from ML:

|8|11| 05 00 02 00 64 00 06 00 01 00 00|
....d......
|3|4| 01 00 00 00|
....

--------------------
MCC_SABIN__DISABLE_SABIN returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = brh665

Dump of OUT_P:

[  1 ] ( 
    )
--------------------

SABIN brh665 
AT  1-OCT-1992 16:23:36 

Normal operations will be terminated.
MCC> 

--------------------
MCC_SABIN__GETEVENT_AMA returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 70 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  1027 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_SABIN returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  3 ] ( 
            [  3 ]             53 41 42 49 4e 20 53 68 75 74 74 69 6e 67 20 64 6
f 77 6e  -- SABIN Shutting down
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2057 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2058 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2059 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_AMA returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 70 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  1028 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_AMA returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 70 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  1028 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2060 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2061 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2062 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2064 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_XDS returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665
        entity [1] wild = NOT_WILD class = 95 id = 0 type = 0
        instance = 

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  2063 ] ( 
            )
        )
    )
--------------------

--------------------
MCC_SABIN__GETEVENT_SABIN returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = BRH665

Dump of OUT_P:

[  1 ] ( 
    [  1 ] ( 
        [  4 ] ( 
            [  3 ]             53 41 42 49 4e 20 53 68 75 74 20 64 6f 77 6e  -- 
SABIN Shut down
            )
        )
    )
--------------------
MCC> enable sabin brh665

--------------------
MCC_SABIN__ENABLE_SABIN

Dump of IN_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = brh665

Attribute Partition: 10

--------------------
MCC_SABIN__ENABLE_SABIN

Dump of message sent to ML:

|17|11| 05 00 02 00 64 00 06 00 01 00 00|
....d......

--------------------
MCC_SABIN__ENABLE_SABIN

Dump of message received from ML:

|8|11| 05 00 02 00 64 00 06 00 01 00 00|
....d......
|3|4| 01 00 00 00|
....

--------------------
MCC_SABIN__ENABLE_SABIN returning

Dump of OUT_ENTITY:

        entity [0] wild = NOT_WILD class = 55 id = 2 type = 24
        instance = brh665

Dump of OUT_P:

[  1 ] ( 
    )
--------------------

SABIN brh665 
20AT  1-OCT-1992 16:24:10 

Normal operation has begun.
MCC> 
3835.3out_e in SHOW must match out_e in GETEVENTKAJUN::NELSONThu Oct 01 1992 16:2718
AhHa!!  You may have fallen into the obscure-SRM-reference hole!

You will remember that the SRM specifies that each directive should 
return the primary identifier in the out_entity parameter.  The 
notification FM depends on this `rule'.

The notification FM does a SHOW IDENTIFIERS for the members of the 
domains and subdomains to get a list of all entities for which it is 
waiting events.  When the GETEVENT directive returns, the entity 
in the out_entity parameter is compared with the list of entities that
were previously retrieved with SHOW IDENTIFIERS.  If you are not
returning the same identifier (datatype and value) that was returned on
SHOW IDENTIFIERS there will be no match and no notification. 

Choose one identifier to be your primary one and always return that one 
in out_entity, no matter what comes in in_entity from the client.

...kjn
3835.4NOTIFY --> SHOWS and GETVENTSMCC1::DITMARSPeteThu Oct 01 1992 16:4535
>What makes an event a CONFIGURATION event?

The partition in which it is defined in your MSL.
Partition 15 is CONFIGURATION, 16 is NOTIFICATION.

>Fore some reason, my access module is called with the equivalent of
>
>SHOW SABIN .brh982 ALL IDENTIFIERS
>
>brh982 is a sabin entity in a sub domain of domain .sabin !

Sorry, I should have warned you.  NOTIFY is layered on top of
GETEVENT.  It does a lot more, like automatically expanding the
notify request to subdomains (unless you specify EXPAND=FALSE).
The SHOWs are, like KJ said, to figure out what entities live in 
the domain.

>Then I get called at for a 
>
>GETEVENT SABIN * AMA ANY CONFIGURATION EVENT 
>
>and for each of SABIN's child entity classes, full instance wildcards where
>possible.

Notify also automatically does a GETEVENT for all subentity classes
if you ask for events of a global entity class.  Wildcarded entities
are used to cut down on the number of threads required to do all
necessary GETEVENTs.  

The only way to use NOTIFY to ask for a global entity's events and 
limit the scope of the GETEVENTs only to the global entity class is
to use the EVENTS argument to explicitly name those events that you
are interested in.  If the same event name is used in multiple levels,
you're out of luck; a GETEVENT will be issued to each level that the
event is defined in.
3835.5Never would have thought of THAT one !BRSVMS::VDKERCKHOVENever say NEVERFri Oct 02 1992 07:4415
GOOD POINT ! I'll check my code. one thing about the show identifiers tough:

>The notification FM does a SHOW IDENTIFIERS for the members of the 
>domains and subdomains to get a list of all entities for which it is 
>waiting events.  
Are you sure that notif FM does that for all entities ? My domain and subdomain
contain alltogether 10 entities (for this test, the final network to monitor
will contain 1200 entities) and I only see 1 show identifiers call. How does
notif FM pick the target entity for the show ?

>Choose one identifier to be your primary one and always return that one 
>in out_entity, no matter what comes in in_entity from the client.
Do you mean the one that is specified as primary in the MSL ?

EricV.
3835.6you don't have to use the id marked PRIMARY_NAMETOOK::NELSONFri Oct 02 1992 12:118
The identifier marked DNS_PRIMARY_NAME has to do with the the object 
name in the namespace and helps the Registration FM make sure that it 
has the proper name for entering the entity in the namespace.

You may choose any of the identifiers to be your primary identifier as 
long as you are consistent in returning it in out_entity.

...kjn
3835.7one show, then registrationMCC1::DITMARSPeteTue Oct 06 1992 14:0411
>>The notification FM does a SHOW IDENTIFIERS for the members of the 
>>domains and subdomains to get a list of all entities for which it is 
>>waiting events.  
>Are you sure that notif FM does that for all entities ? My domain and subdomain
>contain alltogether 10 entities (for this test, the final network to monitor
>will contain 1200 entities) and I only see 1 show identifiers call. How does
>notif FM pick the target entity for the show ?

Nope, I'm not sure. :^)  In fact, I think what it does is one SHOW to figure
out the datatypes of the identifiers and then goes to registration for the
rest of the information.  Or something like that.