Run api_dbsync prior dbsync

Change-Id: I0f6cd02b704a038c9a6231785c7e258d904d8f8f
Related-Prod: PROD-22461
diff --git a/nova/controller.sls b/nova/controller.sls
index e140938..19caa45 100644
--- a/nova/controller.sls
+++ b/nova/controller.sls
@@ -309,26 +309,6 @@
 {%- endfor %}
 
 {%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
-
-nova_controller_map_cell0:
-  cmd.run:
-  - name: nova-manage cell_v2 map_cell0
-  {%- if grains.get('noservices') %}
-  - onlyif: /bin/false
-  {%- endif %}
-  - require:
-    - sls: nova.db.offline_sync
-
-nova_cell1_create:
-  cmd.run:
-  - name: nova-manage cell_v2 create_cell --name=cell1 --verbose
-  {%- if grains.get('noservices') %}
-  - onlyif: /bin/false
-  {%- endif %}
-  - unless: 'nova-manage cell_v2 list_cells | grep cell1'
-  - require:
-    - sls: nova.db.offline_sync
-
 {%- if controller.get('update_cells') %}
 
 nova_update_cell0:
@@ -427,8 +407,7 @@
   - onlyif: /bin/false
   {%- endif %}
   - require:
-    - cmd: nova_controller_map_cell0
-    - cmd: nova_cell1_create
+    - sls: nova.db.offline_sync
 
 nova_controller_map_instances:
   novang.map_instances:
diff --git a/nova/db/offline_sync.sls b/nova/db/offline_sync.sls
index 71c858c..724ce2d 100644
--- a/nova/db/offline_sync.sls
+++ b/nova/db/offline_sync.sls
@@ -1,12 +1,5 @@
 {% from "nova/map.jinja" import controller with context %}
 
-nova_controller_syncdb:
-  cmd.run:
-  - name: nova-manage db sync
-  {%- if grains.get('noservices') or controller.get('role', 'primary') == 'secondary' %}
-  - onlyif: /bin/false
-  {%- endif %}
-
 {%- if controller.version not in ["juno", "kilo", "liberty"] %}
 nova_controller_sync_apidb:
   cmd.run:
@@ -14,5 +7,39 @@
   {%- if grains.get('noservices') or controller.get('role', 'primary') == 'secondary' %}
   - onlyif: /bin/false
   {%- endif %}
+  - require_in:
+    - nova_controller_syncdb
 
 {%- endif %}
+
+{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
+
+nova_controller_map_cell0:
+  cmd.run:
+  - name: nova-manage cell_v2 map_cell0
+  {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+  {%- endif %}
+  - require:
+    - nova_controller_sync_apidb
+
+nova_cell1_create:
+  cmd.run:
+  - name: nova-manage cell_v2 create_cell --name=cell1 --verbose
+  {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+  {%- endif %}
+  - unless: 'nova-manage cell_v2 list_cells | grep cell1'
+  - require:
+    - nova_controller_map_cell0
+  - require_in:
+    - nova_controller_syncdb
+
+{%- endif %}
+
+nova_controller_syncdb:
+  cmd.run:
+  - name: nova-manage db sync
+  {%- if grains.get('noservices') or controller.get('role', 'primary') == 'secondary' %}
+  - onlyif: /bin/false
+  {%- endif %}