T.R | Title | User | Personal Name | Date | Lines |
---|
3835.1 | OCCURS format rules in V1.2 ignore domain membership | MCC1::DITMARS | Pete | Wed Sep 30 1992 18:58 | 22 |
| 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.2 | What makes an event a CONFIGURATION event? | BRSVMS::VDKERCKHOVE | Never say NEVER | Thu Oct 01 1992 12:39 | 527 |
| >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.3 | out_e in SHOW must match out_e in GETEVENT | KAJUN::NELSON | | Thu Oct 01 1992 14:27 | 18 |
| 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.4 | NOTIFY --> SHOWS and GETVENTS | MCC1::DITMARS | Pete | Thu Oct 01 1992 14:45 | 35 |
| >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.5 | Never would have thought of THAT one ! | BRSVMS::VDKERCKHOVE | Never say NEVER | Fri Oct 02 1992 05:44 | 15 |
| 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.6 | you don't have to use the id marked PRIMARY_NAME | TOOK::NELSON | | Fri Oct 02 1992 10:11 | 8 |
| 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.7 | one show, then registration | MCC1::DITMARS | Pete | Tue Oct 06 1992 12:04 | 11 |
| >>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.
|