From 9448ab28ef43fbf3674467a5a4c600558ca00333 Mon Sep 17 00:00:00 2001 From: Salvatore Orlando Date: Mon, 21 Oct 2013 11:53:50 +0200 Subject: [PATCH] Document async status retrieval in NVP plugin Document the Nicira plugin's asynchronous state retrieval process and the configuration options that discipline it. Bug 1250082 Change-Id: I63909184ebeb1cf080869c921b4aad983304ac82 --- .../bk-admin-guide-cloud.xml | 7 ++ .../section_networking_adv_features.xml | 112 ++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/doc/admin-guide-cloud/bk-admin-guide-cloud.xml b/doc/admin-guide-cloud/bk-admin-guide-cloud.xml index 53b2a3dfa6..12dfffe0a3 100644 --- a/doc/admin-guide-cloud/bk-admin-guide-cloud.xml +++ b/doc/admin-guide-cloud/bk-admin-guide-cloud.xml @@ -43,6 +43,13 @@ + + 2013-11-12 + + Adds options for tuning operational status synchronization + in the NVP plugin. + + 2013-10-17 diff --git a/doc/admin-guide-cloud/section_networking_adv_features.xml b/doc/admin-guide-cloud/section_networking_adv_features.xml index e946d389d1..1d6a35ba3d 100644 --- a/doc/admin-guide-cloud/section_networking_adv_features.xml +++ b/doc/admin-guide-cloud/section_networking_adv_features.xml @@ -1717,6 +1717,117 @@ --provider:physical_network <L3-Gateway-Service-UUID> -provider:segmentation_id <VLAN_ID> +
+ Operational status synchronization in the + Nicira NVP plugin + Starting with the Havana release, the Nicira NVP plugin + provides an asynchronous mechanism for retrieving the + operational status for neutron resources from the NVP + backend; this applies to network, + port, and router resources. + The backend is polled periodically, and the status for every resource is + retrieved; then the status in the Neutron database is updated only for the + resources for which a status change occurred. As operational status is now + retrieved asynchronously, performance for GET operations is + consistently improved. + Data to retrieve from the backend are divided in chunks in order to avoid + expensive API requests; this is achieved leveraging NVP APIs response paging + capabilities. The minimum chunk size can be specified using a configuration + option; the actual chunk size is then determined dynamically according to: + total number of resources to retrieve, interval between two synchronization task + runs, minimum delay between two subsequent requests to the NVP backend. + The operational status synchronization can be tuned or disabled using the + configuration options reported in the following table; it is however worth + noting that the default values will work fine in most cases. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Configuration options for tuning operational status synchronization + in the NVP plugin
Option nameGroupDefault valueType and constraintsNotes
state_sync_intervalnvp_sync120 secondsInteger; no constraint.Interval in seconds between two run of the synchronization task. + If the synchronization task takes more than + state_sync_interval seconds to execute, a + new instance of the task is started as soon as the other is + completed. Setting the value for this option to 0 will disable + the synchronization task.
max_random_sync_delaynvp_sync0 secondsInteger. Must not exceed + min_sync_req_delayWhen different from zero, a random delay between 0 and + max_random_sync_delay will be added + before processing the next chunk.
min_sync_req_delaynvp_sync10 secondsInteger. Must not exceed + state_sync_interval.The value of this option can be tuned according to the observed + load on the NVP controllers. Lower values will result in faster + synchronization, but might increase the load on the controller + cluster.
min_chunk_sizenvp_sync500 resourcesInteger; no constraint.Minimum number of resources to retrieve from the backend for + each synchronization chunk. The expected number of + synchronization chunks is given by the ratio between + state_sync_interval and + min_sync_req_delay. This size of a chunk + might increase if the total number of resources is such that + more than min_chunk_size resources must be + fetched in one chunk with the current number of chunks.
always_read_statusnvp_syncFalseBoolean; no constraint.When this option is enabled, the operational status will always + be retrieved from the NVP backend ad every + GET request. In this case it is advisable + to disable the synchronization task.
+ When running multiple Neutron server instances, the status + synchronization task should not run on every node; doing so will need to + unnecessary traffic towards the NVP backend as well as unnecessary DB + operations. The configuration option state_sync_interval + should therefore be non-zero exclusively on a node designated for backend status + synchronization. + Explicitly specifying the status attribute + in Neutron API requests (e.g.: GET + /v2.0/networks/<net-id>?fields=status&fields=name) will + always trigger an explicit query to the NVP backend, even when asynchronous + state synchronization is enabled. +
@@ -1827,3 +1938,4 @@ source=10.10.10.0/24,destination=10.20.20.20/24,action=deny
+