Fix nova upgrade pinning

It was found that Nova is not pinned during
the upgrade, moreover not all nova components
contain upgrade aliases hence different list
of pinned services is applied according to openstack
release

Cherry-picked from 5e4d4634f12d62b88fa369e46c187a0a51cf6ead

Change-Id: I7060639480c4d00d839995a3ee0fed55d1380171
Related-PROD: PROD-28583
(cherry picked from commit 5e4d4634f12d62b88fa369e46c187a0a51cf6ead)
diff --git a/nova/map.jinja b/nova/map.jinja
index d9fea7b..49586d6 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -114,36 +114,32 @@
 {% set upgrade = pillar.get('nova', {}).get('upgrade', {}) %}
 {% set pin_level = pillar.get('nova', {}).get('upgrade', {}).get('old_release','') %}
 
-{% set upgrade_levels = salt['grains.filter_by']({
-    'Debian': {
-        'upgrade_levels': {
-          'compute': pin_level,
-          'cells': pin_level,
-          'intercell': pin_level,
-          'cert': pin_level,
-          'scheduler': pin_level,
-          'conductor': pin_level,
-          'console': pin_level,
-          'consoleauth': pin_level,
-          'network': pin_level,
-          'baseapi': pin_level,
-        },
-     },
-    'RedHat': {
-        'upgrade_levels': {
-          'compute': pin_level,
-          'cells': pin_level,
-          'intercell': pin_level,
-          'cert': pin_level,
-          'scheduler': pin_level,
-          'conductor': pin_level,
-          'console': pin_level,
-          'consoleauth': pin_level,
-          'network': pin_level,
-          'baseapi': pin_level,
-        },
+{% if pin_level == "ocata" %}
+{% set upgrade_levels = {
+    'upgrade_levels': {
+      'scheduler': pin_level,
+      'compute': pin_level,
+      'cells': pin_level,
+      'network': pin_level,
+      'console': pin_level,
+      'consoleauth': pin_level,
+      'conductor': pin_level,
     },
-}) %}
+} %}
+{% elif pin_level == "pike" %}
+{% set upgrade_levels = {
+    'upgrade_levels': {
+      'scheduler': pin_level,
+      'compute': pin_level,
+    },
+} %}
+{% else%}
+  {% set upgrade_levels ={
+    'upgrade_levels': {
+      'compute': pin_level,
+    },
+} %}
+{% endif %}
 
 {% set client = salt['grains.filter_by']({
     'Debian': {
@@ -284,7 +280,7 @@
 {%- endload %}
 {% set compute = salt["grains.filter_by"](compute_defaults, merge=pillar.nova.get("compute", {}), base='BaseDefaults') %}
 
-{%- if pillar.nova.get('upgrade',{}).get('upgrade_enabled',False) %}
+{%- if pillar.nova.get('upgrade',{}).get('enabled',False) %}
   {% do compute.update({'upgrade_levels': {'compute': 'auto'}}) %}
   {% do controller.update(upgrade_levels) %}
 {%- endif %}
diff --git a/nova/upgrade/post/init.sls b/nova/upgrade/post/init.sls
index a29a06d..6c471fa 100644
--- a/nova/upgrade/post/init.sls
+++ b/nova/upgrade/post/init.sls
@@ -5,6 +5,11 @@
     - name: "dump_message_post-upgrade"
     - text: "Running nova.upgrade.post"
 
+include:
+ - nova.upgrade.render_config
+ - nova.upgrade.service_stopped
+ - nova.upgrade.service_running
+
 {%- if controller.get('enabled') %}
 
 nova_status: