Ability to set lock_path
PROD-34037
Change-Id: Ia37d5b70ea1c8626f170b4b7f56a76da493c927d
diff --git a/README.rst b/README.rst
index 261f234..3261f4e 100644
--- a/README.rst
+++ b/README.rst
@@ -31,6 +31,8 @@
enable_force_upload: true
availability_zone_fallback: True
image_conversion_dir: /var/tmp/cinder/conversion
+ concurrency:
+ lock_path: '/var/lock/cinder'
database:
engine: mysql
host: 127.0.0.1
@@ -88,6 +90,8 @@
enable_force_upload: true
my_ip: 192.168.0.254
image_conversion_dir: /var/tmp/cinder/conversion
+ concurrency:
+ lock_path: '/var/lock/cinder'
database:
engine: mysql
host: 127.0.0.1
diff --git a/cinder/controller.sls b/cinder/controller.sls
index cc7091f..01b73df 100644
--- a/cinder/controller.sls
+++ b/cinder/controller.sls
@@ -137,6 +137,20 @@
- service: cinder_controller_services
- service: cinder_api_service
+{%- if controller.get('concurrency', {}).lock_path is defined %}
+cinder_controller_lock_path_{{ controller.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ controller.concurrency.lock_path }}
+ - user: cinder
+ - group: cinder
+ - mode: 750
+ - makedirs: True
+ - require:
+ - pkg: cinder_controller_packages
+ - require_in:
+ - service: cinder_controller_services
+{%- endif %}
+
{% for service_name in cinder_log_services %}
{{ service_name }}_logging_conf:
file.managed:
diff --git a/cinder/files/pike/cinder.conf.controller.Debian b/cinder/files/pike/cinder.conf.controller.Debian
index a897e4e..4cd39ae 100644
--- a/cinder/files/pike/cinder.conf.controller.Debian
+++ b/cinder/files/pike/cinder.conf.controller.Debian
@@ -113,7 +113,6 @@
use_syslog=false
verbose=True
-lock_path=/var/lock/cinder
{%- if controller.query_volume_filters is defined %}
query_volume_filters = {{ controller.query_volume_filters|join(",") }}
@@ -172,7 +171,7 @@
[oslo_concurrency]
-lock_path=/var/lock/cinder
+lock_path = {{ controller.get('concurrency', {}).get('lock_path', '/var/lock/cinder') }}
[oslo_middleware]
diff --git a/cinder/files/pike/cinder.conf.volume.Debian b/cinder/files/pike/cinder.conf.volume.Debian
index b91870d..a06fd2e 100644
--- a/cinder/files/pike/cinder.conf.volume.Debian
+++ b/cinder/files/pike/cinder.conf.volume.Debian
@@ -155,7 +155,7 @@
[oslo_concurrency]
-lock_path=/var/lock/cinder
+lock_path = {{ volume.get('concurrency', {}).get('lock_path', '/var/lock/cinder') }}
[oslo_middleware]
diff --git a/cinder/upgrade/render_config.sls b/cinder/upgrade/render_config.sls
index bf603f5..a177675 100644
--- a/cinder/upgrade/render_config.sls
+++ b/cinder/upgrade/render_config.sls
@@ -12,3 +12,13 @@
file.managed:
- source: salt://cinder/files/{{ _data.version }}/cinder.conf.{{ type }}.{{ grains.os_family }}
- template: jinja
+
+{%- if _data.get('concurrency', {}).lock_path is defined %}
+cinder_upgrade_{{ type }}_lock_path_{{ _data.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ _data.concurrency.lock_path }}
+ - user: cinder
+ - group: cinder
+ - mode: 750
+ - makedirs: True
+{%- endif %}
diff --git a/cinder/volume.sls b/cinder/volume.sls
index 1f72adf..e7210f6 100644
--- a/cinder/volume.sls
+++ b/cinder/volume.sls
@@ -18,15 +18,19 @@
- sls: cinder._ssl.volume_mysql
- sls: cinder._ssl.rabbitmq
-/var/lock/cinder:
+{%- if volume.get('concurrency', {}).lock_path is defined %}
+cinder_volumer_lock_path_{{ volume.concurrency.lock_path }}:
file.directory:
- - mode: 755
+ - name: {{ volume.concurrency.lock_path }}
- user: cinder
- group: cinder
+ - mode: 750
+ - makedirs: True
- require:
- pkg: cinder_volume_packages
- require_in:
- service: cinder_volume_services
+{%- endif %}
{%- if volume.message_queue.get('ssl',{}).get('enabled', False) %}
rabbitmq_ca_cinder_volume:
diff --git a/metadata/service/control/cluster.yml b/metadata/service/control/cluster.yml
index 5e3b0a1..1c3bcf5 100644
--- a/metadata/service/control/cluster.yml
+++ b/metadata/service/control/cluster.yml
@@ -12,6 +12,8 @@
controller:
enabled: true
version: ${_param:cinder_version}
+ concurrency:
+ lock_path: '/var/lock/cinder'
osapi:
host: ${_param:cluster_local_address}
database:
diff --git a/metadata/service/control/cluster_control.yml b/metadata/service/control/cluster_control.yml
index 5e3b0a1..1c3bcf5 100644
--- a/metadata/service/control/cluster_control.yml
+++ b/metadata/service/control/cluster_control.yml
@@ -12,6 +12,8 @@
controller:
enabled: true
version: ${_param:cinder_version}
+ concurrency:
+ lock_path: '/var/lock/cinder'
osapi:
host: ${_param:cluster_local_address}
database:
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
index 3c73957..0e87b00 100644
--- a/metadata/service/control/single.yml
+++ b/metadata/service/control/single.yml
@@ -12,6 +12,8 @@
controller:
enabled: true
version: ${_param:cinder_version}
+ concurrency:
+ lock_path: '/var/lock/cinder'
osapi:
host: ${_param:single_address}
database:
diff --git a/metadata/service/volume/local.yml b/metadata/service/volume/local.yml
index bece0dc..416e366 100644
--- a/metadata/service/volume/local.yml
+++ b/metadata/service/volume/local.yml
@@ -12,6 +12,8 @@
volume:
enabled: true
version: ${_param:cinder_version}
+ concurrency:
+ lock_path: '/var/lock/cinder'
osapi:
host: ${_param:cluster_local_address}
database:
diff --git a/metadata/service/volume/single.yml b/metadata/service/volume/single.yml
index a709f0c..145ff93 100644
--- a/metadata/service/volume/single.yml
+++ b/metadata/service/volume/single.yml
@@ -12,6 +12,8 @@
volume:
enabled: true
version: ${_param:cinder_version}
+ concurrency:
+ lock_path: '/var/lock/cinder'
osapi:
host: ${_param:cluster_local_address}
database: