Adjusting salt formula for pike deployment

Due to nova-cert is depreceted in Pike release therefore
the salt-formula have to be adjusted.

Change-Id: I1909822f7438d4e13f5c4cf462e2e71383394c40
Related-PROD: PROD-15643
diff --git a/nova/controller.sls b/nova/controller.sls
index 94dda8b..bf4ba28 100644
--- a/nova/controller.sls
+++ b/nova/controller.sls
@@ -129,7 +129,7 @@
 
 {%- endfor %}
 
-{%- if controller.version in ["ocata"] %}
+{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
 
 {#- the following api_db sync --version 20 happens only if the current api_db version is < 20 #}
 
@@ -227,7 +227,7 @@
 
 {%- endif %}
 
-{%- if controller.version in ["mitaka", "newton", "ocata"] %}
+{%- if controller.version not in ["juno", "kilo", "liberty"] %}
 nova_controller_sync_apidb:
   cmd.run:
   - name: nova-manage api_db sync
@@ -249,7 +249,7 @@
   - require:
     - file: /etc/nova/nova.conf
 
-{%- if controller.version in ["mitaka", "newton", "ocata"] %}
+{%- if controller.version not in ["juno", "kilo", "liberty"] %}
 
 nova_controller_online_data_migrations:
   cmd.run:
@@ -262,7 +262,7 @@
 
 {%- endif %}
 
-{%- if controller.version in ["ocata"] %}
+{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
 
 nova_apache_restart:
   service.running:
diff --git a/nova/map.jinja b/nova/map.jinja
index c645e13..51eb23f 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -10,10 +10,28 @@
     'vnc_protocol': 'http',
 } %}
 
+{%- if grains.os_family == "Debian" %}
+{%- set pkgs_list = [ 'nova-common', 'nova-consoleproxy', 'novnc', 'nova-api', 'nova-conductor', 'nova-consoleauth', 'nova-doc', 'nova-scheduler', 'python-novaclient', 'python-memcache', 'gettext-base', 'python-pycadf'] %}
+{%- set services_list = ['nova-api', 'nova-consoleauth', 'nova-scheduler', 'nova-conductor', 'nova-novncproxy'] %}
+{%- if pillar.nova.controller is defined and pillar.nova.controller.get('version',{}) in ["juno", "kilo", "liberty", "mitaka", "newton", "ocata"] %}
+{%- do pkgs_list.append('nova-cert') %}
+{%- do services_list.append('nova-cert') %}
+{%- endif %}
+{%- endif %}
+
+{%- if grains.os_family == "RedHat" %}
+{%- set pkgs_list = ['openstack-nova-novncproxy', 'python-nova', 'openstack-nova-api', 'openstack-nova-console', 'openstack-nova-scheduler', 'python-novaclient', 'openstack-nova-common', 'openstack-nova-conductor', 'python-pycadf'] %}
+{%- set services_list = ['openstack-nova-api', 'openstack-nova-consoleauth', 'openstack-nova-scheduler', 'openstack-nova-conductor', 'openstack-nova-novncproxy'] %}
+{%- if pillar.nova.controller is defined and pillar.nova.controller.get('version',{}) in ["juno", "kilo", "liberty", "mitaka", "newton", "ocata"] %}
+{%- do pkgs_list.append('openstack-nova-cert') %}
+{%- do services_list.append('openstack-nova-cert') %}
+{%- endif %}
+{%- endif %}
+
 {% set controller = salt['grains.filter_by']({
     'Debian': {
-        'pkgs': ['nova-common', 'nova-consoleproxy', 'novnc', 'nova-api', 'nova-cert', 'nova-conductor', 'nova-consoleauth', 'nova-doc', 'nova-scheduler', 'python-novaclient', 'python-memcache', 'gettext-base', 'python-pycadf'],
-        'services': ['nova-api', 'nova-cert', 'nova-consoleauth', 'nova-scheduler', 'nova-conductor', 'nova-novncproxy'],
+        'pkgs': pkgs_list,
+        'services': services_list,
         'debug': false,
         'notification': false,
         'cors': {},
@@ -22,8 +40,8 @@
         },
     },
     'RedHat': {
-        'pkgs': ['openstack-nova-novncproxy', 'python-nova', 'openstack-nova-api', 'openstack-nova-console', 'openstack-nova-scheduler', 'python-novaclient', 'openstack-nova-common', 'openstack-nova-conductor', 'openstack-nova-cert', 'python-pycadf'],
-        'services': ['openstack-nova-api', 'openstack-nova-cert', 'openstack-nova-consoleauth', 'openstack-nova-scheduler', 'openstack-nova-conductor', 'openstack-nova-novncproxy'],
+        'pkgs': pkgs_list,
+        'services': services_list,
         'debug': false,
         'notification': false,
         'cors': {},