]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Introduce periodic state synchronization with backend
authorSalvatore Orlando <salv.orlando@gmail.com>
Thu, 20 Jun 2013 22:20:45 +0000 (00:20 +0200)
committerSalvatore Orlando <salv.orlando@gmail.com>
Wed, 4 Sep 2013 02:40:20 +0000 (19:40 -0700)
commitc7cf2edcefe49a636092ad43a621569c3cefd4a8
tree1f7e63fee884845417059e3561cde7f6210ce6a6
parent71bbefbcc6d5e9cb12aaba1c3c8231e8f4241eb9
Introduce periodic state synchronization with backend

Blueprint nicira-plugin-get-improvements

With this patch GET operations on the Nicira plugin will not
be forwarded anymore to the NVP backend.
Resource operational status will be periodically retrieved from
the NVP backend using a DynamicLoopingCall.
The process has been designed with the aim of avoiding:
1) frequent queries to NVP for retrieving resource status
2) execution of large queries to NVP for retrieving the status
   of a consistent number of resources.
The process can be tuned using a set of configuration variables.
GET operations will now return a status which might differ
from the actual status of the resource. For retrieving status
in a punctual way, the field 'status' should be explicitly
specified in the GET request (only 'show' support has been
implemented in this patch)

This patchs also makes some changes to the fake nvp api client in
order to ensure each instance has a private set of dictionaries for
fake nvp entities.

Change-Id: Ia745b80d2826de32ba8d6883c0d6e0893047e123
15 files changed:
etc/neutron/plugins/nicira/nvp.ini
neutron/plugins/nicira/NeutronPlugin.py
neutron/plugins/nicira/common/config.py
neutron/plugins/nicira/common/sync.py [new file with mode: 0644]
neutron/plugins/nicira/nvplib.py
neutron/tests/unit/nicira/etc/fake_get_lrouter.json
neutron/tests/unit/nicira/etc/fake_get_lswitch.json
neutron/tests/unit/nicira/etc/fake_get_lswitch_lport.json
neutron/tests/unit/nicira/fake_nvpapiclient.py
neutron/tests/unit/nicira/test_agent_scheduler.py
neutron/tests/unit/nicira/test_maclearning.py
neutron/tests/unit/nicira/test_nicira_plugin.py
neutron/tests/unit/nicira/test_nvp_sync.py [new file with mode: 0644]
neutron/tests/unit/nicira/test_nvpopts.py
neutron/tests/unit/test_db_plugin.py