File tree Expand file tree Collapse file tree 2 files changed +33
-2
lines changed Expand file tree Collapse file tree 2 files changed +33
-2
lines changed Original file line number Diff line number Diff line change 7
7
chdir : " {{ consul_config_dir }}"
8
8
register : registered_consul_services
9
9
10
+ - name : consul services | Initialize a flat list
11
+ set_fact :
12
+ consul_producer_services_flat : []
13
+
14
+ - name : consul services | Populate a flat list
15
+ set_fact :
16
+ consul_producer_services_flat : " {{ consul_producer_services_flat + [ item.name if item is mapping else item ] }}"
17
+ with_items : " {{ consul_producer_services }}"
18
+
10
19
- name : consul services | Check if any services are old
11
20
set_fact :
12
- old_services : " {{ registered_consul_services.stdout_lines | difference(consul_producer_services ) }}"
21
+ old_services : " {{ registered_consul_services.stdout_lines | difference(consul_producer_services_flat ) }}"
13
22
14
23
- name : consul services | Ensure old consul services JSON (if any) are deregister
15
24
file :
22
31
- name : consul services | Ensure consul services JSON are registered
23
32
template :
24
33
src="consul-service.j2"
25
- dest="{{ consul_config_dir }}/sv_{{ item }}.json"
34
+ dest="{{ consul_config_dir }}/sv_{{ item.name if item is mapping else item }}.json"
26
35
with_items : " {{ consul_producer_services }}"
27
36
notify :
28
37
- reload consul service
Original file line number Diff line number Diff line change
1
+ {% if item is mapping %}
2
+ {% if 'weight' in consul_services [item .name ] %}
3
+ {% set weight_value = consul_services [item .name ].pop ('weight' ) %}
4
+ {% if 'tags' in consul_services [item .name ] %}
5
+ {% set _ = consul_services [item .name ]['tags' ].append ("WEIGHT:" ~ weight_value ) %}
6
+ {% else %}
7
+ {% set _ = consul_services [item .name ].update ({'tags' : ['WEIGHT:' ~ weight_value ]}) %}
8
+ {% endif %}
9
+ {% endif %}
10
+
11
+ {% if 'tags' in consul_services [item .name ] %}
12
+ {% set _ = consul_services [item .name ]['tags' ].extend (item .add_tags ) %}
13
+ {% else %}
14
+ {% set _ = consul_services [item .name ].update ({'tags' : item .add_tags }) %}
15
+ {% endif %}
16
+
17
+
18
+ { {{ '' if consul_services[item.name] .pop('haproxy', '') else '' }}
19
+ "service": {{ consul_services[item.name] | to_nice_json }}
20
+ }
21
+ {% else %}
1
22
{% if 'weight' in consul_services [item ] %}
2
23
{% set weight_value = consul_services [item ].pop ('weight' ) %}
3
24
{% if 'tags' in consul_services [item ] %}
10
31
{ {{ '' if consul_services[item] .pop('haproxy', '') else '' }}
11
32
"service": {{ consul_services[item] | to_nice_json }}
12
33
}
34
+ {% endif %}
You can’t perform that action at this time.
0 commit comments