@@ -92,6 +92,16 @@ for the Dell Force10 device::
9292 password = password
9393 secret = secret
9494
95+ for the Dell OS10 device::
96+
97+ [genericswitch:dell-hostname]
98+ device_type = netmiko_dell_os10
99+ ngs_mac_address = <switch mac address>
100+ ip = <switch mgmt ip address>
101+ username = admin
102+ password = password
103+ secret = secret
104+
95105for the Dell PowerConnect device::
96106
97107 [genericswitch:dell-hostname]
@@ -108,8 +118,9 @@ for the Dell PowerConnect device::
108118 ngs_switchport_mode = access
109119
110120Dell PowerConnect devices have been seen to have issues with multiple
111- concurrent configuration sessions. See :ref: `synchronization ` for details on
112- how to limit the number of concurrent active connections to each device.
121+ concurrent configuration sessions. See :ref: `synchronization ` and
122+ :ref: `batching ` for details on how to limit the number of concurrent active
123+ connections to each device.
113124
114125for the Brocade FastIron (ICX) device::
115126
@@ -207,8 +218,16 @@ connection URL for the backend should be configured as follows::
207218 [ngs_coordination]
208219 backend_url = <backend URL>
209220
210- The default is to limit the number of concurrent active connections to each
211- device to one, but the number may be configured per-device as follows::
221+ The backend URL format includes the Tooz driver as the scheme, with driver
222+ options passed using query string parameters. For example, to use the
223+ ``etcd3gw `` driver with an API version of ``v3 `` and a path to a CA
224+ certificate::
225+
226+ [ngs_coordination]
227+ backend_url = etcd3+https://etcd.example.com?api_version=v3,ca_cert=/path/to/ca/cert.crt
228+
229+ The default behaviour is to limit the number of concurrent active connections
230+ to each device to one, but the number may be configured per-device as follows::
212231
213232 [genericswitch:device-hostname]
214233 ngs_max_connections = <max connections>
@@ -222,6 +241,35 @@ timeout of 60 seconds before failing. This timeout can be configured as follows
222241 ...
223242 acquire_timeout = <timeout in seconds>
224243
244+ .. _batching :
245+
246+ Batching
247+ ========
248+
249+ For many network devices there is a significant SSH connection overhead which
250+ is incurred for each network or port configuration change. In a large scale
251+ system with many concurrent changes, this overhead adds up quickly. Since the
252+ Antelope release, the Generic Switch driver includes support to batch up switch
253+ configuration changes and apply them together using a single SSH connection.
254+
255+ This is implemented using etcd as a queueing system. Commands are added
256+ to an input key, then a worker thread processes the available commands
257+ for a particular switch device. We pull off the queue using the version
258+ at which the keys were added, giving a FIFO style queue. The result of
259+ each command set are added to an output key, which the original request
260+ thread is watching. Distributed locks are used to serialise the
261+ processing of commands for each switch device.
262+
263+ The etcd endpoint is configured using the same ``[ngs_coordination]
264+ backend_url `` option used in :ref: `synchronization `, with the limitation that
265+ only ``etcd3gw `` is supported.
266+
267+ Additionally, each device that will use batched configuration should include
268+ the following option::
269+
270+ [genericswitch:device-hostname]
271+ ngs_batch_requests = True
272+
225273Disabling Inactive Ports
226274========================
227275
0 commit comments