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

Change-Id: I7060639480c4d00d839995a3ee0fed55d1380171
Related-PROD: PROD-28583
diff --git a/nova/map.jinja b/nova/map.jinja
index 21fb923..eae09cc 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -118,36 +118,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': {
@@ -288,7 +284,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: