Run dbsync on primary node only
Move dbsync to separate file.
Run only on primary node.
Change-Id: Iff51d7b3d3949d959aee2d24ddb338df685a582e
Related-Prod: PROD-21267
diff --git a/cinder/controller.sls b/cinder/controller.sls
index f094282..6ee10e1 100644
--- a/cinder/controller.sls
+++ b/cinder/controller.sls
@@ -1,6 +1,12 @@
{%- from "cinder/map.jinja" import controller with context %}
{%- if controller.get('enabled', False) %}
+include:
+ {%- if controller.version not in ['mitaka','newton'] %}
+ - apache
+ {%- endif %}
+ - cinder.db.offline_sync
+
{%- set user = controller %}
{%- include "cinder/user.sls" %}
@@ -11,6 +17,8 @@
cinder_controller_packages:
pkg.installed:
- names: {{ controller.pkgs }}
+ - require_in:
+ - sls: cinder.db.offline_sync
/etc/cinder/cinder.conf:
file.managed:
@@ -18,6 +26,8 @@
- template: jinja
- require:
- pkg: cinder_controller_packages
+ - require_in:
+ - sls: cinder.db.offline_sync
/etc/cinder/api-paste.ini:
file.managed:
@@ -25,6 +35,8 @@
- template: jinja
- require:
- pkg: cinder_controller_packages
+ - require_in:
+ - sls: cinder.db.offline_sync
{%- if controller.backup.engine != None %}
{%- set cinder_log_services = controller.services + controller.backup.services %}
@@ -145,20 +157,7 @@
{%- endfor %}
-cinder_syncdb:
- cmd.run:
- - name: 'cinder-manage db sync; sleep 5;'
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
- - require:
- - pkg: cinder_controller_packages
- - require_in:
- - service: cinder_controller_services
-
{%- if controller.version not in ['mitaka','newton'] %}
-include:
- - apache
{#- Creation of sites using templates is deprecated, sites should be generated by apache pillar, and enabled by cinder formula #}
{%- if pillar.get('apache', {}).get('server', {}).get('site', {}).cinder is not defined %}
@@ -214,6 +213,7 @@
- require:
- pkg: cinder_controller_packages
- service: cinder_api_service_dead
+ - sls: cinder.db.offline_sync
- watch:
{%- if controller.message_queue.get('ssl',{}).get('enabled', False) %}
- file: rabbitmq_ca_cinder_controller
@@ -237,6 +237,7 @@
{%- endif %}
- require:
- pkg: cinder_controller_packages
+ - sls: cinder.db.offline_sync
- watch:
{%- if controller.message_queue.get('ssl',{}).get('enabled', False) %}
- file: rabbitmq_ca_cinder_controller
@@ -270,6 +271,7 @@
{%- endif %}
- require:
- pkg: cinder_controller_packages
+ - sls: cinder.db.offline_sync
- watch:
{%- if controller.message_queue.get('ssl',{}).get('enabled', False) %}
- file: rabbitmq_ca_cinder_controller
diff --git a/cinder/db/offline_sync.sls b/cinder/db/offline_sync.sls
new file mode 100644
index 0000000..33da95e
--- /dev/null
+++ b/cinder/db/offline_sync.sls
@@ -0,0 +1,8 @@
+{%- from "cinder/map.jinja" import controller with context %}
+
+cinder_syncdb:
+ cmd.run:
+ - name: 'cinder-manage db sync; sleep 5;'
+ {%- if grains.get('noservices') or controller.get('role', 'primary') == 'secondary' %}
+ - onlyif: /bin/false
+ {%- endif %}
diff --git a/cinder/db/online_sync.sls b/cinder/db/online_sync.sls
new file mode 100644
index 0000000..bdc1082
--- /dev/null
+++ b/cinder/db/online_sync.sls
@@ -0,0 +1,8 @@
+{% from "cinder/map.jinja" import controller with context %}
+
+cinder_controller_online_data_migrations:
+ cmd.run:
+ - name: cinder-manage db online_data_migrations
+ {%- if grains.get('noservices') or controller.get('role', 'primary') == 'secondary' %}
+ - onlyif: /bin/false
+ {%- endif %}