In the previous release of VM:Operator, the customer had a number of actions based on SMSG from VM users - some of these stopped working with r3.0.
In the VM:Operator Release Summary for r3.0, it is noted that the OPTION record in the VMOPER CONFIG is what controls whether or not when an SMSG is received, it is treated as a COMMAND or a ROUTABLE message. OPTION SMSG causes the SMSG to be treated as a COMMAND.
Removing the OPTION SMSG statement allowed most of their existing automation to work - but the one that issues a SMSG OPERATOR VERSION fails because it is being treated as a ROUTABLE message since the OPTION SMSG was removed.
The following will demonstrate how to get the SMSG OPERATOR VERSION to work.
In the LOGTABLE put an entry...
EXEC WHATVER MSG HRTBEAT *4 1 VERSION
Where HRTBEAT is the name of the SVM that is entering SMSG the VERSION.
Implement WHATVER EXEC:
* * * Top of File * * * /* */ trace i parse upper arg userid class msg address VMOPER 'TEST STACK PROCESS CALL VERSION' pull version 'CP MSG' userid version exit * * * End of File * * *
In this example, MSG was used because I was not sending back the VERSION result to a SVM running disconnected accepting SMSG.
The reply I got back to my userid:
cp smsg operator version Ready; T=0.01/0.01 11:46:49 11:46:49 * MSG FROM OPERATOR: CA VM:OPERATOR R3.0 G0907 SP00
For the customer the above worked well with a couple of minor tweaks. In his LOGTABLE he used:
IGNORE SPAWN VMY-VERS MSG * *4 1 VERSION
He wanted it to work from any ID.
Has a "TEST CP MSGNOH'userid version'" in the VMY-VERS VMOPER macro. Customer feels this macro simulates what happened on the older version of VM:Operator . The 'heartbeat' userid does a "'WAKEUP +00:00:15 (IUCVMSG QUIET'" and looks for a RC of 5. MSGNOH works well avoiding the use of SMSG. The 'TEST' is in the macro because the customer initially had a problem with a disconnected user issuing the VERSION and getting a RC 57 on Operator. This problem was resolved when the disconnected user has a WAKEUP (IUCVMSG.
Customers version call VMY_VERS VMOPER
* * * Top of File * * * /* */ TRACE parse upper arg userid class msg address VMOPER 'TEST STACK PROCESS CALL VERSION' pull version 'TEST CP MSGNOH' USERID VERSION exit * * * End of File * * *