Forum Discussion

bryantp_153631's avatar
bryantp_153631
Icon for Nimbostratus rankNimbostratus
May 29, 2014

synchronize_to_group_v2() Common::InvalidArgument

Hello,

 

I am trying to synchronize a group using synchronize_to_group_v2(), but everytime I run it I get the following:

 

Exception caught in System::urn:iControl:System/ConfigSync::synchronize_to_group_v2()
Common::InvalidArgument
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
org.apache.axis.client.Call.invokeEngine(Call.java:2784)
org.apache.axis.client.Call.invoke(Call.java:2767)
org.apache.axis.client.Call.invoke(Call.java:2443)
org.apache.axis.client.Call.invoke(Call.java:2366)
org.apache.axis.client.Call.invoke(Call.java:1812)
iControl.SystemConfigSyncBindingStub.synchronize_to_group_v2(SystemConfigSyncBindingStub.java:1328)

Here is my code

 

private void syncToGroup(SystemConfigSyncBindingStub bindingStub){
    try {
        bindingStub.synchronize_to_group_v2(this.getGroup(), this.getDevice() , this.isForce());
    } catch (RemoteException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

I am able to successfully use synchronize_from_group(). Any help is much appreciated.

 

  • If I set force to true, it works fine. Only when I have it set to false does it throw that error.

     

  • I unfortunately experience the same problem.

    def sync_to_group(self):
        self.api.System.ConfigSync.synchronize_to_group_v2(group=self.name,
                                                           device=self.api._hostname,
                                                           force=False)
    

    Throws this exception when called:

     bigsuds.ServerError: Server raised fault: 'Exception caught in System::urn:iControl:System/ConfigSync::synchronize_to_group_v2()
    Common::InvalidArgument
    '
    

    If you change "force=False" to "force=True", it will work.

  • Looks like this is a behavior change some time between 11.3 and 11.5.

    You have to specify the device name as /[partition]/[device name]

    e.g.

    synchronize_to_group_v2(group='mygroup', device='/Common/myhost.example.com', force='false')

    The documentation states that the device argument is ignored after 11.2 and it is at least in 11.3, but then it starts to be considered again sometime after 11.3 and on or before 11.5.1(not sure exactly when) and must include the partition when using force='false'.

  • If I use any partition other than the /Common partition in the device name, the api call fails with Common::InvalidArgument

     

    Ideally we would like to synchronise a single partition across the group, hence why we specified the partition name in the device name. Is it possinle to synchronise a single partition?