Allow to pass cinderv3 internal params
This patch allows to pass number of retries to cinderv3 module
via connection_params.
cinder:
controller:
client:
connection_params:
connect_retries: 2
connect_retry_delay: 10
client:
connection_params:
connect_retries: 2
connect_retry_delay: 10
* Remove dead code from cinder.client
* Increase default retries to 60sec
Change-Id: I27aa89d95ac82b12fcb919f74e09877fb01e96de
Related-Prod: PROD-25982
diff --git a/_modules/cinderv3/arg_converter.py b/_modules/cinderv3/arg_converter.py
index 3a57f8b..90445fd 100644
--- a/_modules/cinderv3/arg_converter.py
+++ b/_modules/cinderv3/arg_converter.py
@@ -11,10 +11,10 @@
return False
-def named_checker(resource, ref, cloud_name):
+def named_checker(resource, ref, cloud_name, **kwargs):
resp_key = response_keys[resource]
resp = resource_lists[resource](
- name=ref, cloud_name=cloud_name)[resp_key]
+ name=ref, cloud_name=cloud_name, **kwargs)[resp_key]
if len(resp) == 0:
raise common.ResourceNotFound(resp_key, ref)
elif len(resp) > 1:
@@ -22,10 +22,11 @@
return resp[0]['id']
-def nameless_checker(resource, ref, cloud_name):
+def nameless_checker(resource, ref, cloud_name, **kwargs):
item_id = None
resp_key = response_keys[resource]
- resp = resource_lists[resource](cloud_name=cloud_name)[resp_key]
+ resp = resource_lists[resource](
+ cloud_name=cloud_name, **kwargs)[resp_key]
for item in resp:
if item["name"] == ref:
if item_id is not None:
@@ -60,6 +61,7 @@
def wrapped_f(*args, **kwargs):
results = []
args_start = 0
+ connection_params = kwargs.pop('connection_params', {}) or {}
for index, (resource, arg_name) in enumerate(
resource_arg_name_pairs):
if arg_name in kwargs:
@@ -73,9 +75,10 @@
results.append(ref)
else:
# Then we have name not uuid
- res = name_checkers[resource](resource, ref, cloud_name)
+ res = name_checkers[resource](resource, ref, cloud_name,
+ connection_params=connection_params)
results.append(res)
results.extend(args[args_start:])
return func(*results, **kwargs)
return wrapped_f
- return wrap
\ No newline at end of file
+ return wrap
diff --git a/_modules/cinderv3/common.py b/_modules/cinderv3/common.py
index bc77cd9..df419e9 100644
--- a/_modules/cinderv3/common.py
+++ b/_modules/cinderv3/common.py
@@ -65,9 +65,11 @@
def send(method):
def wrap(func):
def wrapped_f(*args, **kwargs):
- connect_retries = 30
- connect_retry_delay = 1
cloud_name = kwargs.pop('cloud_name')
+ connection_params = kwargs.pop('connection_params', {}) or {}
+ connect_retries = connection_params.get('connect_retries', 60)
+ connect_retry_delay = connection_params.get('connect_retry_delay',
+ 1)
if not cloud_name:
e = NoCredentials()
log.error('%s' % e)