Forum Discussion

Joe_Hsy_45207's avatar
Joe_Hsy_45207
Icon for Nimbostratus rankNimbostratus
Feb 01, 2008

iControl force write of config to file?

 

Hi,

 

 

At a customer's site, we found that when adding an iRule to a virtual server using iControl, that while it was in memory, it wasn't written to the config file:

 

 

----------------------------------

 

Here is the output of the 'bigip.conf' file: (notice, there is no rule named 'Symphoniq-TrueView-vs_connecttestwebcache')

 

 

[root@xxxx-bigip-02:Active] config cat bigip.conf | grep -i "rule"

 

rule ConnectIndexRedir {

 

rule ConnectTestRedirect {

 

rule siebel_redirect {

 

rule redirect_connect {

 

rule siebelanal_redirect {

 

rule Symphoniq-TrueView-vs_connectdevwebcache {

 

rule devmodSymphoniq {

 

rule siebel_redirect

 

rule siebelanal_redirect

 

rule ConnectIndexRedir

 

rule ConnectIndexRedir

 

rule ConnectIndexRedir

 

 

 

Here is the output of a 'b list' command: (there IS a Symphoniq-TrueView-vs_connecttestwebcache rule listed here)

 

 

[root@xxxx-bigip-02:Active] config b list | grep -i rule

 

rule ConnectIndexRedir {

 

rule ConnectTestRedirect {

 

rule siebel_redirect {

 

rule redirect_connect {

 

rule siebelanal_redirect {

 

rule Symphoniq-TrueView-vs_connectdevwebcache {

 

rule devmodSymphoniq {

 

rule Symphoniq-TrueView-vs_connecttestwebcache {

 

rule siebel_redirect

 

rule siebelanal_redirect

 

rule ConnectIndexRedir Symphoniq-TrueView-vs_connecttestwebcache

 

rule ConnectIndexRedir

 

rule ConnectIndexRedir

 

----------------------------------

 

 

I assume the config file will get synced over time, but is there a way to force writting to file using iControl?

 

 

Thanks!

 

 

//Joe

 

5 Replies

  • It sounds like you need to save the config running in memory to file. Here is a method from a previous post by Loc and Joe:

     

     

     

    http://devcentral.f5.com/Default.aspx?tabid=53&view=topic&forumid=1&postid=2655

     

     

    System.ConfigSync.save_configuration (SaveMode), where

     

    SaveMode = SAVE_HIGH_LEVEL_CONFIG will save the configuration to /config/bigip.conf (similar to "b save")

     

    SaveMode = SAVE_BASE_LEVEL_CONFIG will save the configuration to /config/bigip_base.conf (similar to "b base save")

     

     

     

     

    So if you've change the high level configuration (VIPs, rules, etc) you could use the SAVE_HIGH_LEVEL_CONFIG method.

     

     

    Aaron
  • One more follow-up question. Since there could be multiple sources of change to the in-memory configuration, it seems to me that there would be a need to be able save *only* the changes made by one of the sources. If others made changes that in memory without the desire to save those chages permanently, the side effect of one program saving all the changes could be undesirable. Is there a way to work around this?

     

     

    Thanks!

     

     

    //Joe
  • Deb_Allen_18's avatar
    Deb_Allen_18
    Historic F5 Account
    Hi Joe -

     

     

    There isn't any way to save changes from only one source. Saving the configuration writes the current running config to the startup config.

     

     

    Same issue as having multiple admins -- some coordination of changes will be required.

     

     

    /deb
  •  

    Hi Deb,

     

     

    Thanks as usual for the quick response. However, is this really the same issue as multiple admins? I am assuming that two administrators that makes separate changes via the GUI would only have problems if they make changes that conflict (e.g. change the default pool of the same virtual sever) and the last change wins. Coordination in this case is relatively simple.

     

     

    However, in this case the problem is one of unintended side effect where if program A using iControl makes a change that is not intended to be permanent but the change is inadvedently made permanent by program B using iControl which needs to make a completely separate change permanent. It is unclear how both programs could coordinate so that both programs get the desirable behavior, other than progam B temporarily "undo" program A's changes, save program B's changes, then then put back progam A's changes.

     

     

    //Joe