Forum Discussion

Nobby_109214's avatar
Nobby_109214
Icon for Nimbostratus rankNimbostratus
Jul 07, 2009

iControl based change management

Hi All,

 

 

I'm working in an environment that is trying to solve a rather difficult change control problem.

 

 

We're building a system that uses iRules and external data groups to provide some pretty cool content based routing. That's all fine and the iRules are under control but now to solve the change management process.

 

 

The issue is, how to change multiple iRules, and data groups in a way that all of the changes get applied at the same time; preferably in an automated way.

 

 

My first thought was of course iControl, and I noticed both the the iControl::System::ConfigSync::upload_file which should give me the ability to upload my external datagroup files and also the iControl::Management::ChangeControl objects that came about in 9.4.0. Problem is I'm not sure of the formatting of the configuration objects that need to be used in the ChangeControl::put_config command and also whether or not we can apply multiple changes simultaniously with these commands.

 

 

Any help or suggestions would be appreciated.

 

 

4 Replies

  • Hi Nobby,

     

     

    A group in my company has built a complete infrastructure for managing and publishing LTM and GTM configuration change control using iControl and a database for medium and enterprise level F5 environments. The tool allows you to enforce business logic in a more granular way than is possible in the F5 GUI.

     

     

    If you're interested in more information, I can put you in touch with one of the developers. You can email me at "aaron dot hooley at integralis dot com" or check our site, http://www.integralis.co.uk/IntegralisServices/Consulting/Page-16151/AdvancedCustomisationEngineering.html.

     

     

    Aaron
  • If you have v10, tmsh offers batch processing of configuration changes, so not only do they all change at the same time, but no changes are made unless they all are successful. I did a write up on this functionality for GTM:

     

     

    v.10 - Working the GTM Command Line Interface Click here
  • The ChangeControl methods were introduced for Enterprise Manager and I honestly don't even know how to use them so I wouldn't recommend going down that route. If you are only concerned with rules and data groups and all the data groups are external, you can upload the external groups first which won't trigger an action since they are only reloaded at configuration time. Setting the file mode on the external class with the LocalLB.Class.set_external_class_file_mode method will trigger a reload of the file. Then you can update all the iRules in one shot with a single call to LocalLB.Rule.modify_rule. You will have an instant between when the new class files are available and using the old iRules though. The only way to really go around this is to edit the configs by hand and issue a "b load" (or with tmsh on v10).

     

     

    Hope this helps...

     

     

    -Joe
  • Don_MacVittie_1's avatar
    Don_MacVittie_1
    Historic F5 Account
    I have helped a customer do something similar to what you're trying to do, I know I'm late to this party (sorry!) but feel free to drop me a line if you're still working on it.

     

    Don.