I try to use setCommunites through the commandline with dmctl:
# dmctl -s US-LAB-AM-PM-1 invoke ICF_TopologyManager::ICF-TopologyManager setCommunities "test" CI-E-EGENERIC-At TopologyManager.c:11287 argument 1 should be of type set of MR_STRING: Number and types of arguments in call to operation don't match its signature MR-WRONG_OPERATION_ARGS-Number and types of arguments in call to operation don't match its signature
The add function works, but there is no comparable removeCommunity function:
# dmctl -s US-LAB-AM-PM-1 invoke ICF_TopologyManager::ICF-TopologyManager addCommunity test
my $object = $smarts_session->object("ICF_TopologyManager::ICF-TopologyManager");
my $r = $object->invoke("setCommunities", $community_strings );
=>
# ./configure_polling_and_thresholds.pl [15] CI-E-EGENERIC-At TopologyManager.c:11287 argument 1 should be of type set of MR_STRING: Number and types of arguments in call to operation don't match its signature MR-WRONG_OPERATION_ARGS-Number and types of arguments in call to operation don't match its signature, stopped at ./configure_polling_and_thresholds.pl line 102
Does anyone know what type of syntax it is expecting?
The issue is that setCommunities is expecting a list parameter (that is, a list of community strings). Here is some ASL code which set's the community strings. As far as I can tell, setting the list of community strings using setCommunities is the only way to delete a community string.
TCorcoran
53 Posts
632
0
Posted May 13th, 2009 15:00
Alicia,
Try
$object = $smarts_session->object("ICF_TopologyManager::ICF-TopologyManager");
my $r = $object->invoke("setCommunities", "public test");