Forum Discussion

Joe_Sabek_47241's avatar
Joe_Sabek_47241
Historic F5 Account
Nov 12, 2008

Modifying Classes

When calling iControl::LocalLB::Class::modify_value_class does the new value instantly get hashed into memory? Or is a config load required?

 

 

Thanks in advance for the info :-)

3 Replies

  • Great question. When you are making changes via the GUI and API's, the values are pumped into the configuration database process and then change messages are sent to the TMM and it's representation of the class is then loaded into memory for use with incoming connections.

     

     

    The GUI will auto-flush the changes from the configuration database to the configuration file on disk after each page submit. There is overhead associated with this and for a multi-transaction iControl application we found that it was more optimial to allow the calling application to have control over when the config get's flushed to disk. For the API, you will have to manually call the System.ConfigSync.save_configuration() method to flush your changes to the bigip.conf file. Otherwise after a reboot, the changes will go away.

     

     

    Hope this clears it up.

     

     

    -Joe
  • Hi Joe,

     

     

    When you make the call to modify a class or other object, it does modify the config running in memory, right? And then you'd need to explicitly save the configuration to write the changes to file?

     

     

    Thanks,

     

    Aaron
  • That's the gist of it. The API's will update the in memory state of the configuration daemon (mcpd) as well as the traffic management os (tmm). You will need to do a "bigpipe save" or ConfigSync.save_configuration() to flush mcpd's in memory config to disk.

     

     

    -Joe