Forum Discussion

tatmotiv's avatar
tatmotiv
Icon for Cirrostratus rankCirrostratus
Apr 16, 2015

device-group does not sync config completely after creating objects via REST API

Hi guys,

 

I'm currently experiencing a strange phenomenon. We'll need to create lots of "Contexts" on vCMP guests. A cntext consists of an admin partition, route domain, traffic-group and objects within those). I wrote a script which does the following:

 

  • read some variables stored in a json-structured file (contains vCMP guest names, VLANS, IP adresses and so on)
  • create a new partition, traffic-group and route domain on active BigIP cluster member
  • move VLANs from /Common to newly created partition (done on both members)
  • link all of those together
  • create self IPs within VLANs (floating and non-floating; non-floating on both members)
  • create upstream router pool and outbound forwarding virtual
  • create inbound forwarding virtuals

All of those tasks are accomplished via REST API calls. Unless otherwise noted above, all of them are run against the active node and should be synchronized to the other (config auto sync is activated). Now here's the strange thing about it: The script completes without errors, and on the active node, everything looks fine, all objects present and correctly created in the right rd, traffic-group and so on. Both nodes say "in Sync" on the GUI, but there are some objects missing on the second node, namely floating IPs, router pool and forwarding virtuals. Doing a "normal" sync manually (without checking the overwrite config checkbox) won't change anything, I suspect there isn't even any attempt since both members think, they already are in sync. When changing something within the ltm objects (e.g. on a virtual) via GUI, the sync status immediately changes to "sync failed", apparently because the changed object does not exist on the second node. The device group overview then says "Does not have the last synced configuration" for the second node. The problem can only be solved by running a manual full sync with "overwrite config" from the first to the second node. I suppose this to be a bug. Did anybody run into the same issue? How would you suggest to solve it?

 

Any hints appreciated!

 

Best regards

 

Martin

 

1 Reply

  • Hi,

     

    This is related to fact that your floating objects on Active are referencing objects local to Active (selfIPs, RDs, VLANs etc.) because of that sync can be performed - those are not present on Standby.

     

    Do so small experiment, create manually VLAN (or RD) on Active - you will notice that status will be still in Sync. That is OK as far as you will not create any other floating object using this VLAN (like floating IP), then your sync will fail (as far as I remember from my tests).

     

    So only solution is to create all the local objects on both Active and Standby and then create all floating on Active. That way sync will not fail.

     

    Piotr