Просмотр исходного кода

fastd: use node_config.get instead of pillar.get for each call

Karsten Böddeker 6 лет назад
Родитель
Сommit
a38bd57166
1 измененных файлов с 12 добавлено и 12 удалено
  1. 12 12
      fastd/init.sls

+ 12 - 12
fastd/init.sls

@@ -3,13 +3,14 @@
 #
 
 {% set sites_all = pillar.get ('sites') %}
-{% set sites_node = salt['pillar.get']('nodes:' ~ grains['id'] ~ ':sites', {}) %}
-{% set device_no = salt['pillar.get']('nodes:' ~ grains['id'] ~ ':id', -1) %}
+{% set node_config = salt['pillar.get']('nodes:' ~ grains.id, {}) %}
+{% set sites_node = node_config.get('sites', {}) %}
+{% set device_no = node_config.get('id', -1) %}
 
 include:
   - apt
   - network.interfaces
-{% if 'fastd_peers' in salt['pillar.get']('nodes:' ~ grains['id'] ~ ':roles', []) %}
+{% if 'fastd_peers' in node_config.get('roles', []) %}
   - fastd.peers
 {% endif %}
 
@@ -41,10 +42,10 @@ fastd:
 # for every site associated for the current minion ID.
 #
 {% for site in sites_node %}
-  {% set site_no = salt['pillar.get']('sites:' ~ site ~ ':site_no') %}
+  {% set site_no = sites_all.get(site, {}).get('site_no') %}
 
   {% set networks = ['intergw'] %}
-  {% if 'fastd_peers' in salt['pillar.get']('nodes:' ~ grains['id'] ~ ':roles', []) %}
+  {% if 'fastd_peers' in node_config.get('roles', []) %}
     {% do networks.extend (['nodes4', 'nodes6']) %}
   {% endif %}
 
@@ -69,12 +70,12 @@ fastd:
       site: {{ site }}
       site_no: {{ site_no }}
       mac_address: {{ mac_address }}
-    {% if 'batman_ext' in salt['pillar.get']('nodes:' ~ grains['id'] ~ ':roles', []) %}
+    {% if 'batman_ext' in node_config.get('roles', []) %}
       bat_iface: bat-{{ site }}-ext
     {% else %}
       bat_iface: bat-{{ site }}
     {% endif %}
-      peer_limit: {{ salt['pillar.get']('nodes:' ~ grains['id'] ~ ':fastd:peer_limit', False) }}
+      peer_limit: {{ node_config.get('fastd', {}).get('peer_limit', False) }}
     - require:
       - file: /etc/fastd/{{ instance_name }}
     - watch_in:
@@ -83,7 +84,7 @@ fastd:
   file.managed:
     - source: salt://fastd/secret.conf.tmpl
     - template: jinja
-      secret: {{ salt['pillar.get']('nodes:' ~ grains['id'] ~ ':fastd:' ~ network_type + '_privkey') }}
+      secret: {{ node_config.get('fastd', {}).get(network_type ~ '_privkey') }}
     - mode: 600
     - user: root
     - group: root
@@ -124,13 +125,12 @@ fastd@{{ instance_name }}:
 #
 # Set up Inter-Gw-VPN link to all nodes of this site
   {% set has_ipv6 = False %}
-  {% set node_config = salt['pillar.get']('nodes:' ~ grains['id']) %}
   {% if  salt['ffho_net.get_node_iface_ips'](node_config, 'vrf_external')['v6']|length %}
     {% set has_ipv6 = True %}
   {% endif %}
-  {% for node, node_config in salt['pillar.get']('nodes').items ()|sort  %}
+  {% for node, peer_config in salt['pillar.get']('nodes').items ()|sort  %}
 /etc/fastd/{{ site }}_intergw/gateways/{{ node }}:
-    {% if site in node_config.get ('sites', {}) and 'fastd' in node_config %}
+    {% if site in peer_config.get ('sites', {}) and 'fastd' in peer_config %}
   file.managed:
     - source: salt://fastd/inter-gw.peer.tmpl
     - template: jinja
@@ -138,7 +138,7 @@ fastd@{{ instance_name }}:
       site_no: {{ site_no }}
       has_ipv6: {{ has_ipv6 }}
       node: {{ node }}
-      pubkey: {{ salt['pillar.get']('nodes:' ~ node ~ ':fastd:intergw_pubkey') }}
+      pubkey: {{ peer_config.get('fastd', {}).get('intergw_pubkey') }}
     - require:
       - file: /etc/fastd/{{ site }}_intergw/gateways
     {% else %}