Skip to content

Commit 4d72f91

Browse files
author
Carlos Konstanski
committed
Create servicedependency objects based on tags
When a resource has a tag with the form 'parent:', create a servicedependency object. Issue: CIRRUS-4265
1 parent 3195e84 commit 4d72f91

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

puppetdb_stencil.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,12 @@ def render_resources(database, resource_type, localsite, template_names):
5454
resources.append(resource)
5555
envs_to_ignore = []
5656
if is_resource_visible(resource, localsite):
57-
dto = {}
58-
dto['object_name'] = object_name
59-
dto['named_object'] = named_object
60-
dto['name'] = resource.name
61-
dto['parameters'] = []
57+
dto = {
58+
'object_name': object_name,
59+
'named_object': named_object,
60+
'name': resource.name,
61+
'parameters': []
62+
}
6263
# capture resource parameters from puppet
6364
for key, value in resource.parameters.items():
6465
if (key not in METAPARAMS or key in ALLOWED_METAPARAMS) and (isinstance(value, list)):
@@ -91,14 +92,17 @@ def render_resources(database, resource_type, localsite, template_names):
9192
for key, value in parent.parameters.items():
9293
if key == 'service_description' and parent_service_description in value.lower():
9394
for child in service_dependencies[item]:
94-
dto = {}
95-
dto['object_name'] = 'servicedependency'
96-
dto['parameters'] = [{
97-
'host_name': parent.parameters['host_name'],
98-
'service_description': parent.parameters['service_description'],
99-
'dependent_host_name': child.parameters['host_name'],
100-
'dependent_service_description': child.parameters['service_description']
101-
}]
95+
dto = {
96+
'object_name': 'servicedependency',
97+
'parameters': [{
98+
'host_name': parent.parameters['host_name'],
99+
'service_description': parent.parameters['service_description'],
100+
'dependent_host_name': child.parameters['host_name'],
101+
'dependent_service_description': child.parameters['service_description'],
102+
'notification_failure_criteria': 'w,c,u,p',
103+
'execution_failure_criteria': 'w,c,u,p'
104+
}]
105+
}
102106
icinga_config += template.render(dto=dto)
103107
return icinga_config
104108

0 commit comments

Comments
 (0)