Ability to set lock_path
PROD-34037
Change-Id: Iad261dc3529838be47da35a40a12cf101e4b4313
diff --git a/README.rst b/README.rst
index 210b7ef..aeb895e 100644
--- a/README.rst
+++ b/README.rst
@@ -519,6 +519,8 @@
bind:
address: 172.20.0.1
port: 9696
+ concurrency:
+ lock_path: '/var/lib/neutron/lock'
database:
engine: mysql
host: 127.0.0.1
diff --git a/metadata/service/control/cluster.yml b/metadata/service/control/cluster.yml
index e296c90..f95a0b7 100644
--- a/metadata/service/control/cluster.yml
+++ b/metadata/service/control/cluster.yml
@@ -21,6 +21,8 @@
bind:
address: ${_param:cluster_local_address}
port: 9696
+ concurrency:
+ lock_path: '/var/lib/neutron/lock'
database:
engine: mysql
host: ${_param:cluster_vip_address}
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
index 9275ed3..44917e3 100644
--- a/metadata/service/control/single.yml
+++ b/metadata/service/control/single.yml
@@ -25,6 +25,8 @@
bind:
address: ${_param:single_address}
port: 9696
+ concurrency:
+ lock_path: '/var/lib/neutron/lock'
database:
engine: mysql
host: ${_param:single_address}
diff --git a/neutron/files/pike/neutron-server.conf b/neutron/files/pike/neutron-server.conf
index 1e9c5e8..4938383 100644
--- a/neutron/files/pike/neutron-server.conf
+++ b/neutron/files/pike/neutron-server.conf
@@ -1431,7 +1431,7 @@
# (string value)
# Deprecated group/name - [DEFAULT]/lock_path
#lock_path = /tmp
-lock_path = $state_path/lock
+lock_path = {{ server.get('concurrency', {}).get('lock_path', '/var/lib/neutron/lock') }}
[oslo_messaging_amqp]
diff --git a/neutron/server.sls b/neutron/server.sls
index 304c32c..5bbc033 100644
--- a/neutron/server.sls
+++ b/neutron/server.sls
@@ -268,6 +268,20 @@
- service: neutron_server_services
{%- endif %}
+{%- if server.get('concurrency', {}).lock_path is defined %}
+neutron_lock_path_{{ server.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ server.concurrency.lock_path }}
+ - user: neutron
+ - group: neutron
+ - mode: 750
+ - makedirs: True
+ - require:
+ - pkg: neutron_server_packages
+ - require_in:
+ - service: neutron_server_services
+{%- endif %}
+
{%- if server.backend.engine == "ovn" %}
ovn_packages:
diff --git a/neutron/upgrade/render_config.sls b/neutron/upgrade/render_config.sls
index c088792..1c6971e 100644
--- a/neutron/upgrade/render_config.sls
+++ b/neutron/upgrade/render_config.sls
@@ -62,3 +62,13 @@
- source: {{ source }}
- template: jinja
{%- endfor %}
+
+{%- if server.get('concurrency', {}).lock_path is defined %}
+neutron_upgrade_lock_path_{{ server.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ server.concurrency.lock_path }}
+ - user: neutron
+ - group: neutron
+ - mode: 750
+ - makedirs: True
+{%- endif %}