F5Networks / f5-openstack-agent

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.
http://clouddocs.f5.com/products/openstack/agent/latest
Apache License 2.0
14 stars 38 forks source link

[DOC] device-cluster: auto-sync should not be used #405

Open alonsocamaro opened 8 years ago

alonsocamaro commented 8 years ago

OpenStack Release

Mitaka

Description

The current way that the agent works is to create the same LBaaS config in parallel in all units of the device cluster.

This makes that the units of the device cluster report that the they have configurations out of sync because synchronization although the configurations is the same.

Automatically sync-ing is not a good practice in many cases because the units in the device cluster might have different operational situations.

Using auto-sync could be a tempting option but it shouldn't be used because when deleting LBaaS objects will also happen in all units of the device cluster and in parallel auto-matic sync will try to re-sync the configurations at the same time. The result will be that the agent shows error messages like the following:

2016-11-04 05:52:37.304 24657 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager [req-379514e2-d81c-495d-9b13-b62f6f76f3d3 - - - - -] remove_fdb_entries: Exception: 400 Unexpected Error: Bad Request for uri: https://10.128.5.238:443/mgmt/tm/net/fdb/tunnel/?ver=11.5.0

2016-11-04 05:52:37.872 24657 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver Text: u'{"code":400,"message":"01070712:3: Internal error, can\'t load folder or nested folder for: /Project_70b0cbcbe0744569b8c927f308d1362c/Project_70b0cbcbe0744569b8c927f308d1362c","errorStack":[],"apiError":3}'

And the resulting configuration might end up screwed-up.

Agent Version

9.1

Operating System

Mirantis 9

mattgreene commented 8 years ago

The auto_sync ini setting has been removed in lbaasv2 and the agent will now only operate via replication mode. All references should have been removed. Did you find a doc reference?

alonsocamaro commented 8 years ago

What I meant is that when setting up the device cluster it should not be configured by the user with auto-sync given that it will have side effects with replication mode. I think this should be documented.

Also, we should bear in mind that a device cluster could be used with LBaaS and also with non-LBaaS services. So customers should take care that the LBaaS agent is not creating objects whilst somebody else is using config-sync.

tkam8 commented 7 years ago

Any updates on this?

I think the requester pointed out two things:

  1. After deployment of config, the config-sync status shows up as changes pending, when it actually isn't, likely just the CIDs not the same, which makes sense. How do we make this a bit more cosmetically pleasing or can we mention that in the meantime a manual config sync from any device should clear up the status.

  2. Due to this phenomenon, use of auto-sync is tempting but as mentioned this will cause more critical issues, thus should be explicitly documented not to be used in HA or scalen.

Update: sorry this looks to be already fixed: http://f5-openstack-lbaasv2-driver.readthedocs.io/en/latest/includes/topic_clustering.html?highlight=sync

Guess we can close this issue:?