A Software Architect Living in a Networking World

Joe Pruitt

Subscribe to Joe Pruitt: eMailAlertsEmail Alerts
Get Joe Pruitt via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Government News, Mixed Network Integration

Blog Feed Post

iRule Editor v11.0.1

iRuleEditorIconFixes have been piling and I finally got my act together and released the latest version of the iRule Editor with support for BIG-IP version 11.0.  Here are a few things that are mentioned in the

Updated to the v11.0.0.1 iControl.dll

While this won’t be something you really “see” as a UI enhancement, it was needed as a basis for some of the upcoming features in the next release.  Be on the lookout for folders and session management in the near future.

Support for v10+ format name/value pair data groups.

iRuleEditorGroupNameValue Prior to BIG-IP version 10, we limited data groups to a single value (either string, address, or value).  In version 10, we expanded data groups to be in the form of a name/value pair.  This simplifies being able to do pattern matching with names to the desired match value with the values. 

Now, for systems that support the values, there is a second edit box for the values.  I used the short form of “name := value” in the listbox to match the way it’s represented in the product GUI.

I should have got this in earlier, but better late than never huh?

Support for Manager Role administration.

We’ve had several reports of unhandled exceptions in the Editor when trying to connect as a user with a Manager role. These exceptions should now be handled. The main piece I see missing for the Manager role is the ability to Load the configs (bigip.conf and bigip_base.conf) and the ability to issue the ConfigSync.save_configuration() method. If you are using the Editor with a Manager level role, make sure you know that any changes you make are only made in-memory and not persisted to disk. So, in other words, they won’t persist across reboots or restarts of the services on the BIG-IP.

Support for iRule description metadata.

iRuleEditorDescriptions In v11, there is now support for adding metadata to virtually any system object.   Bet you didn’t know that!  Well, while it’s not exposed in the GUI yet, it is in iControl! 

For systems that support it, you will now see a default hover tooltip for your iRules that says the following: 

No Description.  Why don’t you set one in the properties?

Well, when you do that, what you type in the description field will now show up in the hover tooltip!

Export/Import support for v11 folder formats.

For version 11 devices, objects now come back with their folder paths prefixed to the object names. This causes some havoc with the Export/Import features as the separators equate to directory paths and the default import from the archive directory no longer worked. I’ve fixed this now. If you want to know how, either take a look at the source distribution for the iRule Editor or export your objects from a v11 system and take a look at the Archive directory.

Fixed applying iRules with like priorities.

This one has peeved me for a long time as well but I never got around to fixing it either. If you try to apply two iRules containing the same event to the same virtual, you’ll likely get a “can’t apply second iRule with the same priority” error (or something like that). I honestly don’t remember what it is because I’ve fixed the issue!

Here is the logic now on how iRules are applied and default priorities assigned.

  • Scan the iRule for a “priority xxx” command and infer the priority from that.
  • If no “priority xxx” command is included default to 500.
  • If an error occurs during the assignment of the iRule, then increment the priority by 1 and try again. This repeats until a valid priority is found, or the max of 1000 is reached.

Let me know how this works for you all…

Data Groups dialog now supports resizing.

iRuleEditorGroupsDialog  For a long time, folks have said that for long data group names, the listboxes were hard to use as you couldn’t see the whole group name.  I added horizontal scroll bars a while back but with the advent of folders in version 11, all objects are now prefixed with their folder paths (unless it’s disabled - which I may add in the future). 

Now data group names are way way long, so I did some tweaking and made the whole dialog box resizable.

You can now resize the window as wide as you wish and view those really really long data group names.

Support for "[All]" partition for admins.

In preparation for support of folders in the next release, I did some working fixing up the partition support.  The GUI has a special folder called “[All]” which isn’t exposed in the Management.Partition.get_partition_list() method but is supported through the APIs to set the partition.  So, if you are an administrator on the device, you will be able to enter into forbidden territory in the magical “[All]” partition.

Partition auto-selection based on permissions.

Not sure why I didn’t do this in the past, but it made sense.  Now when you login, the iRule Editor will auto-set the active partition to the one you have access to.  Kind of a “Duh” feature, but it’s in there now.

Fixed authoriziation on partition selection.

Lastly, in the previous version, the Editor allowed you to select any partition that exists on the system and shows you the iRules for them.  The problem is that when you try to save an iRule, you would get an auth error.

This is now changed so that, while you can still see all the partition names in the File menu, you can only select ones you have authority to manage.


That’s about it for now.  I plan to take a more active effort on new features in the coming year so please let me know what you do and don’t like about the iRule Editor and I’ll see what I can do to get rid of those “don’t likes”.



Related Links on DevCentral

Read the original blog entry...

More Stories By Joe Pruitt

Joe Pruitt is a Principal Strategic Architect at F5 Networks working with Network and Software Architects to allow them to build network intelligence into their applications.