Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Failed target identification during fanout
fiquebem
We're running OD 6.0.1 Base on Solaris 9. We're also running OD 6.0.1 Receivers on Solaris.
We've set up a transactional fanout deployment to 6 Web servers, with quorum = 1. The deployment is invoked via a workflow. I'm wondering what's the best way to notify (via e-mail) an administrator if the overall deployment succeeds but deployment to any of the Web servers fails. It would be nice to identify which target(s) failed.
If I specify a DNR script to be run on "source" on "failure," how will the script know which particular target it was invoked for?
Thank you,
S.
Find more posts tagged with
Comments
Migrateduser
You could try setting up a separate definition for each target server. Then you can specify a DNR in each definition that applies to that particular server. If you specify all servers in one definition, then the DNR will apply to the whole definition. So it won't get called if the quorum is met.
Mariam
fiquebem
Thanks for your response, Mariam.
>You could try setting up a separate definition for each target server. Then you can specify a DNR in each definition that applies to that particular server.
Then I couldn't have a fanout deployment to a replication farm with a quorum.
> If you specify all servers in one definition, then the DNR will apply to the whole definition. So it won't get called if the quorum is met.
Actually, as the fine manual says, "Unlike deployment-level triggers which are only associated with the complete deployment, task-level triggers are associated with a specific deployment action, such as a deployment to a particular target in a fan-out deployment, or a particular leg in a multi-tiered deployment."
To verify, I set up a test deployment to a farm with 2 nodes but with a quorum of 1. For the 2nd node, I specified an invalid target directory. I configured the deployNRun section as follows:
<execDeploymentTask useDefinition="Definition1" >
<deployNRun>
<dnrDeployment location="source" when="after" state="failure">
<script cmd=".../test.ipl"/>
</dnrDeployment>
</deployNRun>
</execDeploymentTask>
The test.ipl script ran for the 2nd node (only), as desired.
In reference to my original question, looks like there's no straightforward way to tell (from a DNR script) which target it was invoked for. Since fanout deployments were invented, a few parameters should be passed to each DNR script upon invocation. What do you think?
Meanwhile, to notify administrators that a particular node in a farm is having a bad hair day, I could run a DNR script on "target after failure." (Assuming the Receiver on that node is alive and well.)
S.