| {%- from "designate/map.jinja" import server, system_cacerts_file with context %} |
| {%- if server.enabled %} |
| |
| {%- if server.backend is defined %} |
| |
| {%- if server.backend.bind9 is defined %} |
| |
| designate_bind_packages: |
| pkg.installed: |
| - names: |
| - bind9utils |
| |
| {%- if server.backend.bind9.rndc_key is defined %} |
| |
| /etc/designate/rndc.key: |
| file.managed: |
| - source: salt://designate/files/rndc.key |
| - template: jinja |
| - require: |
| - pkg: designate_server_packages |
| |
| {%- endif %} |
| |
| {%- endif %} |
| |
| {%- endif %} |
| |
| designate_server_packages: |
| pkg.installed: |
| - names: {{ server.pkgs }} |
| |
| /etc/designate/designate.conf: |
| file.managed: |
| - source: salt://designate/files/{{ server.version }}/designate.conf.{{ grains.os_family }} |
| - template: jinja |
| - require: |
| - pkg: designate_server_packages |
| |
| /etc/designate/api-paste.ini: |
| file.managed: |
| - source: salt://designate/files/{{ server.version }}/api-paste.ini |
| - template: jinja |
| - require: |
| - pkg: designate_server_packages |
| |
| {%- if not grains.get('noservices', False) %} |
| designate_syncdb: |
| cmd.run: |
| - name: designate-manage database sync |
| - require: |
| - file: /etc/designate/designate.conf |
| |
| designate_pool_sync: |
| cmd.run: |
| - name: designate-manage pool-manager-cache sync |
| - require: |
| - file: /etc/designate/designate.conf |
| |
| designate_server_services: |
| service.running: |
| - enable: true |
| - names: {{ server.services }} |
| - require: |
| - cmd: designate_syncdb |
| - cmd: designate_pool_sync |
| - watch: |
| - file: /etc/designate/designate.conf |
| {%- if server.message_queue.get('ssl',{}).get('enabled', False) %} |
| - file: rabbitmq_ca_designate_server |
| {%- endif %} |
| {%- if server.database.get('ssl',{}).get('enabled', False) %} |
| - file: mysql_ca_designate_server |
| {%- endif %} |
| {%- endif %} |
| |
| {%- if server.version not in ['liberty', 'juno', 'kilo'] and server.pools is defined %} |
| # Since Mitaka it is recommended to use pools.yaml for pools configuration |
| /etc/designate/pools.yaml: |
| file.managed: |
| - source: salt://designate/files/{{ server.version }}/pools.yaml |
| - template: jinja |
| - require: |
| - pkg: designate_server_packages |
| |
| {%- if not grains.get('noservices', False) %} |
| designate_pool_update: |
| cmd.run: |
| - name: designate-manage pool update |
| - require: |
| - service: designate_server_services |
| - onchanges: |
| - file: /etc/designate/pools.yaml |
| {%- endif %} |
| {%- endif %} |
| |
| {%- if server.message_queue.get('ssl',{}).get('enabled', False) %} |
| rabbitmq_ca_designate_server: |
| {%- if server.message_queue.ssl.cacert is defined %} |
| file.managed: |
| - name: {{ server.message_queue.ssl.cacert_file }} |
| - contents_pillar: designate:server:message_queue:ssl:cacert |
| - mode: 0444 |
| - makedirs: true |
| - require_in: |
| - file: /etc/designate/designate.conf |
| {%- else %} |
| file.exists: |
| - name: {{ server.message_queue.ssl.get('cacert_file', system_cacerts_file) }} |
| - require_in: |
| - file: /etc/designate/designate.conf |
| {%- endif %} |
| {%- endif %} |
| |
| |
| {%- if server.database.get('ssl',{}).get('enabled', False) %} |
| mysql_ca_designate_server: |
| {%- if server.database.ssl.cacert is defined %} |
| file.managed: |
| - name: {{ server.database.ssl.cacert_file }} |
| - contents_pillar: designate:server:database:ssl:cacert |
| - mode: 0444 |
| - makedirs: true |
| - require_in: |
| - file: /etc/designate/designate.conf |
| {%- else %} |
| file.exists: |
| - name: {{ server.database.ssl.get('cacert_file', system_cacerts_file) }} |
| - require_in: |
| - file: /etc/designate/designate.conf |
| {%- endif %} |
| {%- endif %} |
| |
| {%- endif %} |