Add test=True suport in keystonev3.py
PROD-34615
Change-Id: I9f2e2b47c7cc74eb0d243a2aae738f1989c373ca
diff --git a/_states/keystonev3.py b/_states/keystonev3.py
index d390c14..615bb64 100644
--- a/_states/keystonev3.py
+++ b/_states/keystonev3.py
@@ -9,7 +9,10 @@
def _keystonev3_call(fname, *args, **kwargs):
- return __salt__['keystonev3.{}'.format(fname)](*args, **kwargs) # noqa
+ if __opts__.get('test') and not (fname.find('_list') > 0 or fname.find('_get_') > 0):
+ return {'changes':'keystonev3 state {} with options {} {} will be executed'.format(fname, args, kwargs)}
+ else:
+ return __salt__['keystonev3.{}'.format(fname)](*args, **kwargs) # noqa
def endpoint_present(name, url, interface, service_id, cloud_name, **kwargs):
@@ -26,6 +29,7 @@
cloud_name=cloud_name, **ekwargs)['endpoints']
if not endpoints:
+
try:
resp = _keystonev3_call(
'endpoint_create', url=url, interface=interface,
@@ -587,7 +591,7 @@
changes_dict = {
'name': name,
'changes': resource_definition,
- 'result': True,
+ 'result': _check_test_mode(),
'comment': '{}{} created'.format(resource, name)
}
return changes_dict
@@ -597,7 +601,7 @@
changes_dict = {
'name': name,
'changes': resource_definition,
- 'result': True,
+ 'result': _check_test_mode(),
'comment': '{}{} updated'.format(resource, name)
}
return changes_dict
@@ -617,7 +621,7 @@
changes_dict = {
'name': name,
'changes': {"resource": resource, "name": name, "status": 'deleted'},
- 'result': True,
+ 'result': _check_test_mode(),
'comment': '{} {} removed'.format(resource, name)
}
return changes_dict
@@ -658,6 +662,13 @@
return changes_dict
+def _check_test_mode():
+ if __opts__.get('test'):
+ return None
+ else:
+ return True
+
+
def _find_failed(name, resource):
changes_dict = {
'name': name,