Hi all,
I want to clarify two important points in this thread:
- An iRule will always take precedence over persistence set in a profile as it is executed after the profile has been parsed. It is for this reason that if an iRule makes an LB decision persistence should also be handled by the iRule.
- The use of an iRule and / or Persistence is not compatible with CMP, and as such, using any of these should automatically disable CMP for the virtual. For more details review solution SOL7751: https://support.f5.com/kb/en-us/solutions/public/7000/700/sol7751.html
SOL7751 also indicates that CMP can be disabled via the command line:
bigpipe virtual cmp
This is the workaround for the issue that sorbukar mentions - it ensures that CMP is disabled for the virtual, which will prevent multiple persistence entries between the TMMs. The "b save" command will ensure that the change in CMP status survives a reboot.