Ability to set lock_path
PROD-34037
Change-Id: I0b462d1debf0fe57192cca3b63cc550560f722c6
diff --git a/README.rst b/README.rst
index 2ed2f57..6c9c9e4 100644
--- a/README.rst
+++ b/README.rst
@@ -31,6 +31,8 @@
bind:
api:
address: 127.0.0.1
+ concurrency:
+ lock_path: '/var/lib/designate'
database:
engine: mysql
host: 127.0.0.1
diff --git a/designate/files/pike/designate.conf.Debian b/designate/files/pike/designate.conf.Debian
index d0283b6..154fe98 100644
--- a/designate/files/pike/designate.conf.Debian
+++ b/designate/files/pike/designate.conf.Debian
@@ -620,6 +620,7 @@
# Path for Oslo Concurrency to store lock files, defaults to the value
# of the state_path setting.
#lock_path = $state_path
+lock_path = {{ server.get('concurrency', {}).get('lock_path', '/var/lib/designate') }}
########################
## Coordination
diff --git a/designate/server.sls b/designate/server.sls
index dbdedbc..9525d55 100644
--- a/designate/server.sls
+++ b/designate/server.sls
@@ -141,6 +141,20 @@
- require_in:
- sls: designate.db.offline_sync
+{%- if server.get('concurrency', {}).lock_path is defined %}
+designate_lock_path_{{ server.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ server.concurrency.lock_path }}
+ - user: designate
+ - group: designate
+ - mode: 750
+ - makedirs: True
+ - require:
+ - pkg: designate_server_packages
+ - require_in:
+ - service: designate_server_services
+{%- endif %}
+
designate_pool_sync:
cmd.run:
- name: designate-manage pool-manager-cache sync
diff --git a/designate/upgrade/render_config.sls b/designate/upgrade/render_config.sls
index 98c08ac..b0ad505 100644
--- a/designate/upgrade/render_config.sls
+++ b/designate/upgrade/render_config.sls
@@ -17,4 +17,14 @@
- source: salt://designate/files/{{ server.version }}/api-paste.ini
- template: jinja
+{%- if server.get('concurrency', {}).lock_path is defined %}
+designate_upgrade_lock_path_{{ server.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ server.concurrency.lock_path }}
+ - user: designate
+ - group: designate
+ - mode: 750
+ - makedirs: True
+{%- endif %}
+
{%- endif %}
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
index 064cfd7..72a6ed9 100644
--- a/metadata/service/server/cluster.yml
+++ b/metadata/service/server/cluster.yml
@@ -18,6 +18,8 @@
bind:
api:
address: ${_param:cluster_local_address}
+ concurrency:
+ lock_path: '/var/lib/designate'
database:
engine: mysql
host: ${_param:cluster_vip_address}
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
index 2cf8bfe..ace7f3b 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single.yml
@@ -18,6 +18,8 @@
bind:
api:
address: ${_param:single_address}
+ concurrency:
+ lock_path: '/var/lib/designate'
database:
engine: mysql
host: ${_param:single_address}