169f4d7258
In large scale deployments a full sync between Neutron and EOS can take minutes. In order to cut that time, this patch batches multimle EOS CLI commands and sends them to EOS instead of sending each command separately. For example, if a tenant has 10 networks, instead of making 10 RPC calls to EOS to create those 10 networks, this patch builds a commands to create those 10 networks and makes just one RPC call to EOS which cuts down sync times significantly. All the _bulk() methods are added to batch such requests. Another optimization is to timestamp when the Region data was modified (This includes any tenant creation, their networks, VMs and ports). The sync gets the timestamp from EOS and only if the timestamps do not match, the driver performs a full sync. Closes-Bug: 1279619 Change-Id: I7d17604a7088d7dbb6e3dbb0afdb8e6759c1f67d