In a normal world, deployed applications are often dynamic.. you may want to extend them, add roles and processes, and replace crashed ones. ADAGE has a special feature for this, called 'redeployment'.
The basic idea is :
adage-client.pl -a tests/test/a.test -r tests/nodes.res -c tests/ctrl.xml -x
diff -u
-like between previous and new specific application description)-<host id='h2' cardinality='1'> +<host id='h2' cardinality='2'> <process id='p2' command='/usr/bin/uptime' cardinality='3'/> </host> +<host id='h3' cardinality='3'> + <process id='p3' command='/usr/bin/uptime' cardinality='1'/> +</host>
adage-client.pl -replaceappl tests/test/a.test -x
// remove the crashed process group -<host id='h2' cardinality='2'> - <process id='p2' command='/usr/bin/uptime' cardinality='3'/> -</host> // in plugin code docs->discard_proc_group_instance("TEST_0_a.test_h3",1); // OR in ctrl.xml +<discarded_pgs> + <instance id="TEST_0_a.test_h3" num="1"/> +<discarded_pgs>
adage-client.pl -replaceappl tests/test/a.test -x
TEST_0_a.test_h2
and instance #1 of process group TEST_0_a.test_h3
have been marked in state discarded, and that a fourth instance of the latter has been created.