Forum Discussion
Andy_Herrman_22
Nimbostratus
Jun 29, 2006iRules modified and saved with iRule editor revert after BIG-IP reboot
This may be related to the error I mentioned in my other post:
http://devcentral.f5.com/Default.aspx?tabid=28&forumid=22&postid=8611&view=topic
I logged into the BIG-IP machine after it had been reboot and the iRules had reverted back to the code they had had before I had started using the iRule editor. I tried this again and verified that it consistently happens. Any changes I make using the iRule editor do not persist between reboots. However, if I go into the web-based controls of BIG-IP and open the rules up there I see the changes I made using the iRule editor, and if I then save it from there it does persist between reboots.
It looks like the iRule editor is successfully changing the copy that's in memory but isn't saving it to permanent storage. I'm guessing it's related to the exception I get when I try to save:
Exception caught in System::ConfigSync::save_configuration()
Exception: Common::OperationFailed
Any ideas what could be causing this?
- This is exactly the issue. The editor first attempts to save the iRule to the running configuration. If this succeeds then a call to save_configuration() is made which will persist the changes to disk (/config/bigip.conf). If the call to save_configuration() is failing, then the changes won't be saved to disk.
- Andy_Herrman_22
Nimbostratus
I'm using the admin account, so I assume it has full authorization. - Andy_Herrman_22
Nimbostratus
I've found that if I do
on the server it works fine, and that seems to be where the iRule editor is dying (at least from where the exception seems to be coming from in the code in the iRule editor). I'm wondering if maybe there's some weird permissions problem with the file being written to.bigpipe config sync
- It's not a config sync that is being issued. The iControl call for save_configuration() issues a "bigpipe config save" command. If you can issue this from the console successfully, then there has to be something with the permissions of the admin account you are using.
- Oops, forget to add the script. Here you go:
!/usr/bin/perl ---------------------------------------------------------------------------- The contents of this file are subject to the "END USER LICENSE AGREEMENT FOR F5 Software Development Kit for iControl"; you may not use this file except in compliance with the License. The License is included in the iControl Software Development Kit. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is iControl Code and related documentation distributed by F5. The Initial Developer of the Original Code is F5 Networks, Inc. Seattle, WA, USA. Portions created by F5 are Copyright (C) 1996-2004 F5 Networks, Inc. All Rights Reserved. iControl (TM) is a registered trademark of F5 Networks, Inc. Alternatively, the contents of this file may be used under the terms of the GNU General Public License (the "GPL"), in which case the provisions of GPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the GPL and not to allow others to use your version of this file under the License, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL. If you do not delete the provisions above, a recipient may use your version of this file under either the License or the GPL. ---------------------------------------------------------------------------- use SOAP::Lite + trace => qw(method debug); use SOAP::Lite; use MIME::Base64; use Math::BigInt; ---------------------------------------------------------------------------- Validate Arguments ---------------------------------------------------------------------------- my $sHost = $ARGV[0]; my $sPort = $ARGV[1]; my $sUID = $ARGV[2]; my $sPWD = $ARGV[3]; my $sProtocol = "https"; if ( ("80" eq $sPort) or ("8080" eq $sPort) ) { $sProtocol = "http"; } if ( ($sHost eq "") or ($sPort eq "") or ($sUID eq "") or ($sPWD eq "") ) { die ("Usage: saveConfiguration.pl host port uid pwd\n"); } ---------------------------------------------------------------------------- Transport Information ---------------------------------------------------------------------------- sub SOAP::Transport::HTTP::Client::get_basic_credentials { return "$sUID" => "$sPWD"; } $ConfigSync = SOAP::Lite -> uri('urn:iControl:System/ConfigSync') -> proxy("$sProtocol://$sHost:$sPort/iControl/iControlPortal.cgi"); eval { $ConfigSync->transport->http_request->header ( 'Authorization' => 'Basic ' . MIME::Base64::encode("$sUID:$sPWD", '') ); }; &saveConfiguration(); sub saveConfiguration() { $soapResponse = $ConfigSync->save_configuration ( SOAP::Data->name(filename => ""), SOAP::Data->name(save_flag => "SAVE_HIGH_LEVEL_CONFIG") ); &checkResponse($soapResponse); print "Configuration successfully saved!\n"; } ---------------------------------------------------------------------------- checkResponse ---------------------------------------------------------------------------- sub checkResponse() { my ($soapResponse) = (@_); if ( $soapResponse->fault ) { print $soapResponse->faultcode, " ", $soapResponse->faultstring, "\n"; exit(); } }
- Andy_Herrman_22
Nimbostratus
Got the same error when running the perl script. I used the web interface to create a new user and tried using that one, but still got the same error. - Turns out there is an issue with the default filename parameter in v9.1.2. I'll get an editor update in the next few days that specifies the "/config/bigip.conf" file for the filename param and this should resolve your issue.
- Andy_Herrman_22
Nimbostratus
Great, thanks! - An updated version of the editor has been posted that should correct this issue (as well as a few other goodies).
- Andy_Herrman_22
Nimbostratus
Looks like that fixed it. Just did a quick test and it was able to save without any errors. Thanks!
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects