Ability to set lock_path
PROD-34037
Change-Id: I48a064669a226a7b1854d82135aa8304e642f2d7
diff --git a/README.rst b/README.rst
index ba17691..17d5c9f 100644
--- a/README.rst
+++ b/README.rst
@@ -19,6 +19,8 @@
bind:
address: 0.0.0.0
port: 6385
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
database:
engine: mysql
host: localhost
@@ -44,6 +46,8 @@
conductor:
enabled: true
version: mitaka
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
database:
engine: mysql
host: localhost
diff --git a/ironic/_common.sls b/ironic/_common.sls
index 0b636ec..a254226 100644
--- a/ironic/_common.sls
+++ b/ironic/_common.sls
@@ -53,3 +53,16 @@
- service: {{ ironic.service }}
{% endif %}
+{%- if ironic.get('concurrency', {}).lock_path is defined %}
+ironic_{{ service_name }}_lock_path_{{ ironic.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ ironic.concurrency.lock_path }}
+ - user: ironic
+ - group: ironic
+ - mode: 750
+ - makedirs: True
+ - require:
+ - pkg: ironic_common_pkgs
+ - require_in:
+ - service: {{ ironic.service }}
+{%- endif %}
diff --git a/ironic/api.sls b/ironic/api.sls
index 46836e3..c2188ed 100644
--- a/ironic/api.sls
+++ b/ironic/api.sls
@@ -69,7 +69,7 @@
- sls: ironic.db.offline_sync
- watch:
- file: /etc/ironic/ironic.conf
- - file: /etc/ironic/policy.json
+ - file: /etc/ironic/{{ api.get('oslo_policy', {}).get('policy_file', 'policy.json') }}
/etc/ironic/{{ api.get('oslo_policy', {}).get('policy_file', 'policy.json') }}:
file.managed:
diff --git a/ironic/files/pike/ironic.conf b/ironic/files/pike/ironic.conf
index b7aba78..3f3ff42 100644
--- a/ironic/files/pike/ironic.conf
+++ b/ironic/files/pike/ironic.conf
@@ -3058,6 +3058,7 @@
# used, a lock path must be set. (string value)
# Deprecated group/name - [DEFAULT]/lock_path
#lock_path = <None>
+lock_path = {{ ironic.get('concurrency', {}).get('lock_path', '/var/lib/ironic/tmp') }}
[oslo_messaging_amqp]
diff --git a/ironic/upgrade/render_config.sls b/ironic/upgrade/render_config.sls
index 68d0a19..8d652be 100644
--- a/ironic/upgrade/render_config.sls
+++ b/ironic/upgrade/render_config.sls
@@ -14,3 +14,13 @@
file.managed:
- source: salt://ironic/files/{{ ironic.version }}/ironic.conf
- template: jinja
+
+{%- if ironic.get('concurrency', {}).lock_path is defined %}
+ironic_upgrade_{{ service_name }}_lock_path_{{ ironic.concurrency.lock_path }}:
+ file.directory:
+ - name: {{ ironic.concurrency.lock_path }}
+ - user: ironic
+ - group: ironic
+ - mode: 750
+ - makedirs: True
+{%- endif %}
diff --git a/metadata/service/api/cluster.yml b/metadata/service/api/cluster.yml
index 1ccc55e..efb647a 100644
--- a/metadata/service/api/cluster.yml
+++ b/metadata/service/api/cluster.yml
@@ -25,6 +25,8 @@
address: ${_param:cluster_local_address}
port: 6385
protocol: 'http'
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
message_queue:
engine: rabbitmq
port: 5672
diff --git a/metadata/service/api/single.yml b/metadata/service/api/single.yml
index bde3356..affaab3 100644
--- a/metadata/service/api/single.yml
+++ b/metadata/service/api/single.yml
@@ -25,6 +25,8 @@
address: ${_param:single_address}
port: 6385
protocol: 'http'
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
message_queue:
engine: rabbitmq
port: 5672
diff --git a/metadata/service/conductor/cluster.yml b/metadata/service/conductor/cluster.yml
index 79b0bc3..bdd6b61 100644
--- a/metadata/service/conductor/cluster.yml
+++ b/metadata/service/conductor/cluster.yml
@@ -11,6 +11,8 @@
ironic:
conductor:
enabled: true
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
logging:
log_appender: ${_param:openstack_log_appender}
log_handlers:
diff --git a/metadata/service/conductor/single.yml b/metadata/service/conductor/single.yml
index d6f89d9..f6a136b 100644
--- a/metadata/service/conductor/single.yml
+++ b/metadata/service/conductor/single.yml
@@ -10,6 +10,8 @@
ironic:
conductor:
enabled: true
+ concurrency:
+ lock_path: '/var/lib/ironic/tmp'
logging:
log_appender: ${_param:openstack_log_appender}
log_handlers: