Changing custom APM variable in iRule does not evaluate correctly in APM
Hi,
I have the following issue:
If I create a custom session variable in an APM policy as follows (using a variable assign object):
session.custom.SymantecAPIerror = expr { "false" }
I then call an iRule from APM which changes the custom value as follows:
ACCESS::session data set session.custom.SymantecAPIerror "true"
I can now check the session variables using the APM reporting tool and it shows:
Variable ID: session.custom.SymantecAPIerror Variable Value: true
So I can see that it has changed from "false" to "true".
Now I create a blank object in the APM policy to check the state of session.custom.SymantecAPIerror using the following branch rule:
expr { [mcget {session.custom.SymantecAPIerror}] equals "true"}
This branch is followed by a message box which will display an error message, but despite the session variable being set to "true", it follows the fallback branch.
I have tried this with an integer (0 or 1) to represent true and false, but the same happens. If I delete the iRule variable and set the initial APM variable assign value to "true", it follows the correct branch and displays the error message box, so despite the iRule changing the variable value within the session (as seen from the reporting tool), it still evaluates using the value set in the APM policy.
Can anyone help with this?
Thanks in advance.