Add 'manage_service_maintenance'. Don't manage services scheduling while upgrading.
For some special cases, don't manage services scheduling both enable and
disable before and after upgrade procedure.
Change-Id: Id0c2c2fed0ae27912e8490d82ba9dc30819adc06
Related-Prod: PROD-30156
diff --git a/README.rst b/README.rst
index 44ee5f1..9abb02c 100644
--- a/README.rst
+++ b/README.rst
@@ -1029,3 +1029,20 @@
| | operations, verify do not have dead network |
| | agents/compute services) |
+-------------------------------+------------------------------------------------------+
+
+
+Don't manage services scheduling while upgrade
+----------------------------------------------
+For some special cases, don't manage services scheduling both enable and disable
+before and after upgrade procedure.
+
+If 'manage_service_maintenance: true' or not present - default behavior, disable services
+before upgrade and enable it after upgrade.
+If 'manage_service_maintenance: false' - don't disable and don't enable upgraded services
+scheduling before and after upgrade.
+
+.. code-block:: yaml
+
+ cinder:
+ upgrade:
+ manage_service_maintenance: false
diff --git a/cinder/upgrade/upgrade/post.sls b/cinder/upgrade/upgrade/post.sls
index 7add350..8b86ebf 100644
--- a/cinder/upgrade/upgrade/post.sls
+++ b/cinder/upgrade/upgrade/post.sls
@@ -1,4 +1,4 @@
-{%- from "cinder/map.jinja" import controller, volume with context %}
+{%- from "cinder/map.jinja" import controller, volume, upgrade with context %}
cinder_upgrade_upgrade_post:
test.show_notification:
@@ -8,6 +8,7 @@
{% set host_id = salt['network.get_hostname']() %}
{%- if controller.get('enabled') %}
+ {%- if upgrade.get('manage_service_maintenance', true) %}
cinder_controller_service_enabled:
cinderv3.service_enabled:
@@ -15,9 +16,11 @@
- cloud_name: admin_identity
- name: {{ host_id }}
+ {%- endif %}
{%- endif %}
{%- if volume.get('enabled') %}
+ {%- if upgrade.get('manage_service_maintenance', true) %}
cinder_volume_service_enabled:
cinderv3.service_enabled:
@@ -25,4 +28,5 @@
- cloud_name: admin_identity
- name: {{ host_id }}
+ {%- endif %}
{%- endif %}
diff --git a/cinder/upgrade/upgrade/pre.sls b/cinder/upgrade/upgrade/pre.sls
index 9ec451c..ce65d86 100644
--- a/cinder/upgrade/upgrade/pre.sls
+++ b/cinder/upgrade/upgrade/pre.sls
@@ -1,4 +1,4 @@
-{%- from "cinder/map.jinja" import controller, volume with context %}
+{%- from "cinder/map.jinja" import controller, volume, upgrade with context %}
cinder_upgrade_upgrade_pre:
test.show_notification:
@@ -8,6 +8,7 @@
{% set host_id = salt['network.get_hostname']() %}
{%- if controller.get('enabled') %}
+ {%- if upgrade.get('manage_service_maintenance', true) %}
cinder_controller_service_disabled:
cinderv3.service_disabled:
@@ -16,9 +17,11 @@
- name: {{ host_id }}
- disabled_reason: "Disabled for upgrade"
+ {%- endif %}
{%- endif %}
{%- if volume.get('enabled') %}
+ {%- if upgrade.get('manage_service_maintenance', true) %}
cinder_volume_service_disabled:
cinderv3.service_disabled:
@@ -27,4 +30,5 @@
- name: {{ host_id }}
- disabled_reason: "Disabled for upgrade"
+ {%- endif %}
{%- endif %}