-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QuantastorClient timeout not configurable #3
Comments
I am still seeing timeouts even after the above edit I even edited def runService():
server_config = {
'server.socket_host': '127.0.0.1',
'server.socket_port': 5154,
'tools.trailing_slash.on': False,
'server.socket_timeout': 1200
}
cherrypy.config.update(server_config)
cherrypy.tree.mount(QSServer(), '/qstorapi')
cherrypy.tree.mount(QSJSONServer(), '/qstorapi/jsonrpc')
cherrypy.engine.start()
cherrypy.engine.block() |
Ah found it, suds needs a timeout set too as jsonRPC just calls SOAP client: def getClientHandle(username='admin', password='password'):
global soap_client
if soap_client is None:
soap_client = Client(url='file:///opt/osnexus/quantastor/lib/osn.wsdl', location='http://localhost:5152', timeout=1200)
security = Security()
token = UsernameToken(username, password)
security.tokens.append(token)
soap_client.set_options(wsse=security)
return soap_client Once change is made, restart two services:
|
So in total 3 timeouts need to be configurable, well really two if you want to use the same timeout for jsonRPC and |
For long runnin, non async operations, the client will disconnect before the operation will complete, e.g creating 300 LUNs. I am using QuantaStor array to load test some Kubernetes load testing for k8s CSI.
The only way to the
requests
timeout of choice is to override themake_call
method:I propose changing the constructor of the client class and just adding a timeout, and if not specified default to requests native timeout:
The text was updated successfully, but these errors were encountered: