Huawei OceanStor V3 series storage system support 32 connections at the same time.
In normal cases, when the manila-share service start, the "login" function of the huawei driver will be called.
The "login" function will set up a long-time connection to the huawei array(using the "Rest URL" in the configure file).
After that, the following rest command will be send using this connection.
That meanings one manila-share service will only use one connection.
However, when the connection broke down, huawei driver will try to login to another "Rest URL" in the configure file.
If this brokedown happened during the process of batch operations(for example, 50 share creations at the same time), each of the failed operations will lead to a login. That may cause the number of connections exceed the limits(which is 32).
The solution is to add a "synchronization decorator" to the "call" function, which makes the batch operations execute serially.
Fix proposed to branch: master /review. openstack. org/213643
Review: https:/