Forum Discussion

Sunit_Tailor_84's avatar
Sunit_Tailor_84
Icon for Nimbostratus rankNimbostratus
Oct 19, 2006

Save Enable/Disable Status for poolmember

Hi,

 

I would like to resolve following issue.

 

 

If we change the status for poolmember to DISABLE from ENABLE using iControl JAVA API and let's say that particular bigip gets rebooted, we noticed that when the BigIP comes up again it will change the status for the same PoolMember ENABLE from DISABLE. We want to make sure it doesn't do this.

 

 

Any Idea will appreciated. Here is what we are thinking:

 

 

We want to use following command using JAVA API to save BASE Configuration.

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

 

ITCMSystemConfigSyncBindingStub m_abc;

 

 

m_abc = (ITCMSystemConfigSyncBindingStub) new ITCMSystemConfigSyncLocator().getITCMSystemConfigSyncPort(new java.net.URL(m_endpoint));

 

 

m_abc.setTimeout(60000);

 

 

m_abc.save_configuration("/config/bigip.conf",ITCMSystemConfigSyncSaveMode.SAVE_BASE_LEVEL_CONFIG);

 

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

 

Do you think if we save configuration than after reboot BigIP will not change the status of a particular poolmember.

 

 

 

Also during my implementation for this configuration save I am getting following Exception:

 

 

 

 

AxisFault

 

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server

 

faultSubcode:

 

faultString: Exception caught in ITCMSystem::ConfigSync::save_configuration()

 

Exception: Common::OperationFailed

 

primary_error_code : 16908289 (0x01020001)

 

secondary_error_code : 0

 

error_string : Error saving configuration

 

faultActor:

 

faultNode:

 

faultDetail:

 

{http://xml.apache.org/axis/}stackTrace:Exception caught in ITCMSystem::ConfigSync::save_configuration()

 

Exception: Common::OperationFailed

 

primary_error_code : 16908289 (0x01020001)

 

secondary_error_code : 0

 

error_string : Error saving configuration

 

at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)

 

at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)

 

at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)

 

at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)

 

at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)

 

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)

 

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

 

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)

 

at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)

 

at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)

 

at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)

 

at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)

 

at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)

 

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)

 

at org.apache.axis.client.Call.invokeEngine(Call.java:2765)

 

at org.apache.axis.client.Call.invoke(Call.java:2748)

 

at org.apache.axis.client.Call.invoke(Call.java:2424)

 

at org.apache.axis.client.Call.invoke(Call.java:2347)

 

at org.apache.axis.client.Call.invoke(Call.java:1804)

 

at iControl.ITCMSystemConfigSyncBindingStub.save_configuration(ITCMSystemConfigSyncBindingStub.java:518)

 

at ChangeBigIPData.disabledWebServer(ChangeBigIPData.java:287)

 

at ChangeBigIPData.setStatus(ChangeBigIPData.java:198)

 

at ChangeBigIPData.doUpdate(ChangeBigIPData.java:170)

 

at ChangeBigIPData.doProcessing(ChangeBigIPData.java:514)

 

at ChangeBigIPData.main(ChangeBigIPData.java:347)

 

 

{http://xml.apache.org/axis/}hostname:dssva003

 

 

 

Exception caught in ITCMSystem::ConfigSync::save_configuration()

 

Exception: Common::OperationFailed

 

primary_error_code : 16908289 (0x01020001)

 

secondary_error_code : 0

 

error_string : Error saving configuration

 

at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)

 

at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)

 

at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)

 

at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)

 

at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)

 

at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)

 

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)

 

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

 

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)

 

at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)

 

at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)

 

at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)

 

at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)

 

at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)

 

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)

 

at org.apache.axis.client.Call.invokeEngine(Call.java:2765)

 

at org.apache.axis.client.Call.invoke(Call.java:2748)

 

at org.apache.axis.client.Call.invoke(Call.java:2424)

 

at org.apache.axis.client.Call.invoke(Call.java:2347)

 

at org.apache.axis.client.Call.invoke(Call.java:1804)

 

at iControl.ITCMSystemConfigSyncBindingStub.save_configuration(ITCMSystemConfigSyncBindingStub.java:518)

 

at ChangeBigIPData.disabledWebServer(ChangeBigIPData.java:287)

 

at ChangeBigIPData.setStatus(ChangeBigIPData.java:198)

 

at ChangeBigIPData.doUpdate(ChangeBigIPData.java:170)

 

at ChangeBigIPData.doProcessing(ChangeBigIPData.java:514)

 

at ChangeBigIPData.main(ChangeBigIPData.java:347)

 

Close Connection.

 

 

 

 

 

Any help greatly appriciated.

 

 

Thanks

4 Replies

  • Current state changes made through iControl are only made to the running memory, not the saved configuration. To persist changes across reboots you'll have to use the System::ConfigSync::save_configuration() method as you've done. The parameters looks correct so I'm a bit unsure as to why the method is failing.

     

     

    What I did notice is that you don't need to use the SAVE_BASE_LEVEL_CONFIG flag, I'd give SAVE_HIGH_LEVEL_CONFIG a shot. The base config saves to /config/bigip_base.conf and the docs say to ignore the file parameter for that flag so that could be what is causing your error.

     

     

    I'd change your code to this:

     

     

    ...
    m_abc.save_configuration("/config/bigip.conf",
      ITCMSystemConfigSyncSaveMode.SAVE_HIGH_LEVEL_CONFIG);

     

     

    And see if that works.

     

     

    If you are still getting the same error, you'll have to go through product support as this is a server error that has something to do with your systems configuration and we are not equipped here to diagnose those types of issues.

     

     

    Let me know how it goes...

     

     

    -Joe
  • Is it possible to call save_configuration using SAVE_HIGH_LEVEL_CONFIG as an Operator or are Admin rights exclusively necessary.
  • Just so I understand you correctly, Operator level users should have rights to call save_configuration, correct? For some reason the account I am using, which has Operator level rights is getting an access denied when calling save:

     

     

    User "" is not authorized to access "urn:iControl:System/ConfigSync::save_configuration".

     

     

    Is there something else that needs to be configured in order for this to happen?