diff --git a/ansible/roles/aodh/tasks/reconfigure.yml b/ansible/roles/aodh/tasks/reconfigure.yml
index 72e421b79481d384843ab561e7c05b166f3b0e82..fa2921b205f1ffd28ef24cf4cede76ac16c3bef4 100644
--- a/ansible/roles/aodh/tasks/reconfigure.yml
+++ b/ansible/roles/aodh/tasks/reconfigure.yml
@@ -1,7 +1,6 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['aodh-api']
         or inventory_hostname in groups['aodh-listener']
         or inventory_hostname in groups['aodh-evaluator']
-        or inventory_hostname in groups['aodh-notifier']
\ No newline at end of file
+        or inventory_hostname in groups['aodh-notifier']
diff --git a/ansible/roles/ceilometer/tasks/reconfigure.yml b/ansible/roles/ceilometer/tasks/reconfigure.yml
index 712aa4e4ecfeed8fd30bcc3c19f937226dccc97c..7ae9d9d8ce00c76025b114f8c1302b5f8e4e8c41 100644
--- a/ansible/roles/ceilometer/tasks/reconfigure.yml
+++ b/ansible/roles/ceilometer/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['ceilometer-api']
         or inventory_hostname in groups['ceilometer-central']
         or inventory_hostname in groups['ceilometer-notification']
diff --git a/ansible/roles/ceilometer/tasks/upgrade.yml b/ansible/roles/ceilometer/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/ceilometer/tasks/upgrade.yml
+++ b/ansible/roles/ceilometer/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/ceph/tasks/reconfigure.yml b/ansible/roles/ceph/tasks/reconfigure.yml
index 05d13ad1dc33a9feb3809bbc46dca845234f2b36..a725c8324cdb7599952d03fc6ad03cb40ecfb41a 100644
--- a/ansible/roles/ceph/tasks/reconfigure.yml
+++ b/ansible/roles/ceph/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['ceph-mon']
         or inventory_hostname in groups['ceph-rgw']
         or inventory_hostname in groups['ceph-osd']
diff --git a/ansible/roles/ceph/tasks/upgrade.yml b/ansible/roles/ceph/tasks/upgrade.yml
index db8bf0730f34ad6ccae3a79631646fd5ae0a3fda..bf1c4ffde696b82b1cc5b1edfd1a4a6e358f1e8e 100644
--- a/ansible/roles/ceph/tasks/upgrade.yml
+++ b/ansible/roles/ceph/tasks/upgrade.yml
@@ -2,15 +2,12 @@
 - include: config.yml
 
 - include: start_mons.yml
-  serial: "1"
   when: inventory_hostname in groups['ceph-mon']
 
 - include: start_osds.yml
-  serial: "1"
   when: inventory_hostname in groups['ceph-osd']
 
 - include: start_rgws.yml
-  serial: "30%"
   when:
     - inventory_hostname in groups['ceph-rgw']
     - enable_ceph_rgw | bool
diff --git a/ansible/roles/cinder/tasks/reconfigure.yml b/ansible/roles/cinder/tasks/reconfigure.yml
index 82618690f2912237e06de4e2f139f38b683f7062..844ed9e3e8456cf44218ef795de791a7a97c3ae4 100644
--- a/ansible/roles/cinder/tasks/reconfigure.yml
+++ b/ansible/roles/cinder/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['cinder-api']
         or inventory_hostname in groups['cinder-scheduler']
         or inventory_hostname in groups['cinder-volume']
diff --git a/ansible/roles/cinder/tasks/upgrade.yml b/ansible/roles/cinder/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/cinder/tasks/upgrade.yml
+++ b/ansible/roles/cinder/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/cloudkitty/tasks/reconfigure.yml b/ansible/roles/cloudkitty/tasks/reconfigure.yml
index 10686f208f8ccb126ab7dacb661b91e071ceb37a..6180f5be60e644aa25e331acac00f7c5ea69792a 100644
--- a/ansible/roles/cloudkitty/tasks/reconfigure.yml
+++ b/ansible/roles/cloudkitty/tasks/reconfigure.yml
@@ -1,5 +1,4 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['cloudkitty-api']
         or inventory_hostname in groups['cloudkitty-processor']
diff --git a/ansible/roles/cloudkitty/tasks/upgrade.yml b/ansible/roles/cloudkitty/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/cloudkitty/tasks/upgrade.yml
+++ b/ansible/roles/cloudkitty/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/common/tasks/reconfigure.yml b/ansible/roles/common/tasks/reconfigure.yml
index 66933249bb9c2b64d9c686e3cbb27e5f870029cd..2a1e32d9c2301f95d2783c4763f7f85d7efea4e9 100644
--- a/ansible/roles/common/tasks/reconfigure.yml
+++ b/ansible/roles/common/tasks/reconfigure.yml
@@ -1,3 +1,2 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
diff --git a/ansible/roles/elasticsearch/tasks/reconfigure.yml b/ansible/roles/elasticsearch/tasks/reconfigure.yml
index 1e1abf249406c3850e3b2dccdb8000458b8c1198..59fd9b0aaf8f9f1002f9fcd768ef05e4446d32ec 100644
--- a/ansible/roles/elasticsearch/tasks/reconfigure.yml
+++ b/ansible/roles/elasticsearch/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups ['elasticsearch']
diff --git a/ansible/roles/elasticsearch/tasks/upgrade.yml b/ansible/roles/elasticsearch/tasks/upgrade.yml
index 4586b4fabc16e67268e5b56526e72541f42b6129..1f16915ad9228fe42472e2874f1dc854d2396daa 100644
--- a/ansible/roles/elasticsearch/tasks/upgrade.yml
+++ b/ansible/roles/elasticsearch/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/glance/tasks/reconfigure.yml b/ansible/roles/glance/tasks/reconfigure.yml
index 45cd23bb6efdafadb03d8198d872a63bee1d67c1..73bb13a731e9647661b357be15f4c36c73d00253 100644
--- a/ansible/roles/glance/tasks/reconfigure.yml
+++ b/ansible/roles/glance/tasks/reconfigure.yml
@@ -1,5 +1,4 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['glance-api']
         or inventory_hostname in groups['glance-registry']
diff --git a/ansible/roles/glance/tasks/upgrade.yml b/ansible/roles/glance/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/glance/tasks/upgrade.yml
+++ b/ansible/roles/glance/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/gnocchi/tasks/reconfigure.yml b/ansible/roles/gnocchi/tasks/reconfigure.yml
index 2191b65eccbc6f8a5fd5d4a3d4a92c26f77adb41..2f926a551b9cf81ff652bf2b5b4df7b97755fe00 100644
--- a/ansible/roles/gnocchi/tasks/reconfigure.yml
+++ b/ansible/roles/gnocchi/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['gnocchi-api']
         or inventory_hostname in groups['gnocchi-metricd']
         or inventory_hostname in groups['gnocchi-statsd']
diff --git a/ansible/roles/haproxy/tasks/reconfigure.yml b/ansible/roles/haproxy/tasks/reconfigure.yml
index f13bfa549035b3fb0bdef484283e87f3aa60c750..ae2aa6b5ec4c05ac63a068800deb3810a1eb8f72 100644
--- a/ansible/roles/haproxy/tasks/reconfigure.yml
+++ b/ansible/roles/haproxy/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['haproxy']
diff --git a/ansible/roles/heat/tasks/reconfigure.yml b/ansible/roles/heat/tasks/reconfigure.yml
index e8cc98f75afba37b7afb29c2290cc737aee12e69..1030a79e4af48fd7e65f9e8396e4617e31f6785d 100644
--- a/ansible/roles/heat/tasks/reconfigure.yml
+++ b/ansible/roles/heat/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['heat-api']
         or inventory_hostname in groups['heat-api-cfn']
         or inventory_hostname in groups['heat-engine']
diff --git a/ansible/roles/heat/tasks/upgrade.yml b/ansible/roles/heat/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/heat/tasks/upgrade.yml
+++ b/ansible/roles/heat/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/horizon/tasks/reconfigure.yml b/ansible/roles/horizon/tasks/reconfigure.yml
index 3e6a838e4eb18a2149c25c50af154afb88632317..5d29982134d34bf386a26b072efc5172be8e28d0 100644
--- a/ansible/roles/horizon/tasks/reconfigure.yml
+++ b/ansible/roles/horizon/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['horizon']
diff --git a/ansible/roles/horizon/tasks/upgrade.yml b/ansible/roles/horizon/tasks/upgrade.yml
index 4586b4fabc16e67268e5b56526e72541f42b6129..1f16915ad9228fe42472e2874f1dc854d2396daa 100644
--- a/ansible/roles/horizon/tasks/upgrade.yml
+++ b/ansible/roles/horizon/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/ironic/tasks/reconfigure.yml b/ansible/roles/ironic/tasks/reconfigure.yml
index b58050ee2202080691376b7dfe18f99d19336803..cac0cb37ea743dd9b690361cd011b1aec38325a2 100644
--- a/ansible/roles/ironic/tasks/reconfigure.yml
+++ b/ansible/roles/ironic/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['ironic-pxe']
         or inventory_hostname in groups['ironic-api']
         or inventory_hostname in groups['ironic-conductor']
diff --git a/ansible/roles/ironic/tasks/upgrade.yml b/ansible/roles/ironic/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/ironic/tasks/upgrade.yml
+++ b/ansible/roles/ironic/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/iscsi/tasks/upgrade.yml b/ansible/roles/iscsi/tasks/upgrade.yml
index 4586b4fabc16e67268e5b56526e72541f42b6129..1f16915ad9228fe42472e2874f1dc854d2396daa 100644
--- a/ansible/roles/iscsi/tasks/upgrade.yml
+++ b/ansible/roles/iscsi/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/keystone/tasks/reconfigure.yml b/ansible/roles/keystone/tasks/reconfigure.yml
index 69636c82dfb0da7ec15c688306b8e995b26bc7bc..c73548ba60317d80c37bd3155cde6132c586f828 100644
--- a/ansible/roles/keystone/tasks/reconfigure.yml
+++ b/ansible/roles/keystone/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['keystone']
diff --git a/ansible/roles/keystone/tasks/upgrade.yml b/ansible/roles/keystone/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/keystone/tasks/upgrade.yml
+++ b/ansible/roles/keystone/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/magnum/tasks/reconfigure.yml b/ansible/roles/magnum/tasks/reconfigure.yml
index 043bd24809f5a9fc4c6216a828dfd71797ed0343..7d428522be9d7605c7835ba72db088c41c700f8f 100644
--- a/ansible/roles/magnum/tasks/reconfigure.yml
+++ b/ansible/roles/magnum/tasks/reconfigure.yml
@@ -1,5 +1,4 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['magnum-api']
         or inventory_hostname in groups['magnum-conductor']
diff --git a/ansible/roles/magnum/tasks/upgrade.yml b/ansible/roles/magnum/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/magnum/tasks/upgrade.yml
+++ b/ansible/roles/magnum/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/manila/tasks/reconfigure.yml b/ansible/roles/manila/tasks/reconfigure.yml
index cdfb4785efe7dbdd9967429909c59a3d358bd4a2..447ff856cdee716681b465a0505182dcd044427c 100644
--- a/ansible/roles/manila/tasks/reconfigure.yml
+++ b/ansible/roles/manila/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['manila-api']
         or inventory_hostname in groups['manila-scheduler']
         or inventory_hostname in groups['manila-share']
diff --git a/ansible/roles/manila/tasks/upgrade.yml b/ansible/roles/manila/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/manila/tasks/upgrade.yml
+++ b/ansible/roles/manila/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/mariadb/tasks/reconfigure.yml b/ansible/roles/mariadb/tasks/reconfigure.yml
index 35359f0a00790a80e4e247f14dcb732e17b94334..f28f4269aceeb2653d8d0a03ab0d1a982b6d775d 100644
--- a/ansible/roles/mariadb/tasks/reconfigure.yml
+++ b/ansible/roles/mariadb/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['mariadb']
diff --git a/ansible/roles/mariadb/tasks/upgrade.yml b/ansible/roles/mariadb/tasks/upgrade.yml
index 2c7b49f7e593b19f283e16a9b53aad26dc96c21d..1a28252304f38ebc1a6d5ad5c4f19f7f55644738 100644
--- a/ansible/roles/mariadb/tasks/upgrade.yml
+++ b/ansible/roles/mariadb/tasks/upgrade.yml
@@ -4,6 +4,5 @@
 - include: lookup_cluster.yml
 
 - include: do_upgrade.yml
-  serial: "30%"
 
 - include: check.yml
diff --git a/ansible/roles/memcached/tasks/reconfigure.yml b/ansible/roles/memcached/tasks/reconfigure.yml
index e85a638653bba5dcba1642753c7aa47aa9a6d73a..d4f3c676afd3d47e6c9c4915c4f968d84f807966 100644
--- a/ansible/roles/memcached/tasks/reconfigure.yml
+++ b/ansible/roles/memcached/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups ['memcached']
diff --git a/ansible/roles/memcached/tasks/upgrade.yml b/ansible/roles/memcached/tasks/upgrade.yml
index 4586b4fabc16e67268e5b56526e72541f42b6129..1f16915ad9228fe42472e2874f1dc854d2396daa 100644
--- a/ansible/roles/memcached/tasks/upgrade.yml
+++ b/ansible/roles/memcached/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/mistral/tasks/reconfigure.yml b/ansible/roles/mistral/tasks/reconfigure.yml
index 0d90278698ce6fdfde50ec7ac5c03e75c568e425..47757ff537ec39fb6a1fe78e72389dfa3c895958 100644
--- a/ansible/roles/mistral/tasks/reconfigure.yml
+++ b/ansible/roles/mistral/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['mistral-api']
         or inventory_hostname in groups['mistral-engine']
         or inventory_hostname in groups['mistral-executor']
diff --git a/ansible/roles/mistral/tasks/upgrade.yml b/ansible/roles/mistral/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/mistral/tasks/upgrade.yml
+++ b/ansible/roles/mistral/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/mongodb/tasks/reconfigure.yml b/ansible/roles/mongodb/tasks/reconfigure.yml
index fe291c425e650c827a6b0042f1e43cc4e321cd1d..4a59d8bc5c70ccbf2ebef973ecd66ddd33301fe0 100644
--- a/ansible/roles/mongodb/tasks/reconfigure.yml
+++ b/ansible/roles/mongodb/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['mongodb']
diff --git a/ansible/roles/multipathd/tasks/upgrade.yml b/ansible/roles/multipathd/tasks/upgrade.yml
index 4586b4fabc16e67268e5b56526e72541f42b6129..1f16915ad9228fe42472e2874f1dc854d2396daa 100644
--- a/ansible/roles/multipathd/tasks/upgrade.yml
+++ b/ansible/roles/multipathd/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/murano/tasks/reconfigure.yml b/ansible/roles/murano/tasks/reconfigure.yml
index f3d529d42f9f4144dd2127eda2b7004fc323df1e..60ce412725fe5df72dbf8f86c34adfe20f58c08d 100644
--- a/ansible/roles/murano/tasks/reconfigure.yml
+++ b/ansible/roles/murano/tasks/reconfigure.yml
@@ -1,5 +1,4 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['murano-api']
         or inventory_hostname in groups['murano-engine']
diff --git a/ansible/roles/murano/tasks/upgrade.yml b/ansible/roles/murano/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/murano/tasks/upgrade.yml
+++ b/ansible/roles/murano/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/roles/neutron/tasks/reconfigure.yml b/ansible/roles/neutron/tasks/reconfigure.yml
index 0cac05ddade42f31bbbe54ad4e9b7e4abf21355c..5d63da58952336aed1a0297263dc3947f9f52919 100644
--- a/ansible/roles/neutron/tasks/reconfigure.yml
+++ b/ansible/roles/neutron/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['neutron-server']
         or (enable_manila | bool and inventory_hostname in groups['manila-share'])
         or inventory_hostname in groups['compute']
diff --git a/ansible/roles/neutron/tasks/upgrade.yml b/ansible/roles/neutron/tasks/upgrade.yml
index a904606dac6cf4b45e40cafbe0b7cb68f5f7afae..3667e75a72d459568b585d04c4a142bdba265c5d 100644
--- a/ansible/roles/neutron/tasks/upgrade.yml
+++ b/ansible/roles/neutron/tasks/upgrade.yml
@@ -16,7 +16,6 @@
   when: inventory_hostname in groups['neutron-server']
 
 - include: start.yml
-  serial: "%30"
   when: inventory_hostname in groups['compute']
         or inventory_hostname in groups['neutron-dhcp-agent']
         or inventory_hostname in groups['neutron-l3-agent']
diff --git a/ansible/roles/nova/tasks/reconfigure.yml b/ansible/roles/nova/tasks/reconfigure.yml
index 5c4cf7d3eb50b5d5ce37340c0fa5e9dd5009f506..af5164ee8d243efab31619f1be68db809c0a6178 100644
--- a/ansible/roles/nova/tasks/reconfigure.yml
+++ b/ansible/roles/nova/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['compute']
         or inventory_hostname in groups['nova-conductor']
         or inventory_hostname in groups['nova-api']
diff --git a/ansible/roles/nova/tasks/upgrade.yml b/ansible/roles/nova/tasks/upgrade.yml
index 2e7cb4a0292109c01f21b417b6d9f6d9bf306436..bc24e375e12c5e07e1b739bb2e53ca7b1e1e2028 100644
--- a/ansible/roles/nova/tasks/upgrade.yml
+++ b/ansible/roles/nova/tasks/upgrade.yml
@@ -32,10 +32,7 @@
 - include: start_conductors.yml
 
 - include: start_controllers.yml
-  serial: "30%"
 
 - include: start_compute.yml
-  serial: "10%"
 
 - include: reload.yml
-  serial: "30%"
diff --git a/ansible/roles/rabbitmq/tasks/reconfigure.yml b/ansible/roles/rabbitmq/tasks/reconfigure.yml
index 1b35460419e6709bcc05b2908f51e236560d1a1c..03cbcb70ed31bcc939f728c168dd35f0931bfd99 100644
--- a/ansible/roles/rabbitmq/tasks/reconfigure.yml
+++ b/ansible/roles/rabbitmq/tasks/reconfigure.yml
@@ -1,4 +1,3 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['rabbitmq']
diff --git a/ansible/roles/rally/tasks/reconfigure.yml b/ansible/roles/rally/tasks/reconfigure.yml
index 66933249bb9c2b64d9c686e3cbb27e5f870029cd..2a1e32d9c2301f95d2783c4763f7f85d7efea4e9 100644
--- a/ansible/roles/rally/tasks/reconfigure.yml
+++ b/ansible/roles/rally/tasks/reconfigure.yml
@@ -1,3 +1,2 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
diff --git a/ansible/roles/sahara/tasks/reconfigure.yml b/ansible/roles/sahara/tasks/reconfigure.yml
index 02e4477ad846ba230ee7dd51d31b4cf1a36b4cc6..44748272af02165ea8bf001bb30bf680529ffcea 100644
--- a/ansible/roles/sahara/tasks/reconfigure.yml
+++ b/ansible/roles/sahara/tasks/reconfigure.yml
@@ -1,5 +1,4 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['sahara-api']
-        or inventory_hostname in groups['sahara-engine']
\ No newline at end of file
+        or inventory_hostname in groups['sahara-engine']
diff --git a/ansible/roles/swift/tasks/reconfigure.yml b/ansible/roles/swift/tasks/reconfigure.yml
index 939817bae2e4ca2d63b08dd6b10e6fef723fc9f5..267bb70df1edf454a75d56b0e900f022624e25fe 100644
--- a/ansible/roles/swift/tasks/reconfigure.yml
+++ b/ansible/roles/swift/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['swift-account-server'] or
         inventory_hostname in groups['swift-container-server'] or
         inventory_hostname in groups['swift-object-server'] or
diff --git a/ansible/roles/swift/tasks/upgrade.yml b/ansible/roles/swift/tasks/upgrade.yml
index d5206331e92067bee31b522ce5f661b32d20d59b..667a6d45e86bc4de7a7bbd21ef9c6d714819eb64 100644
--- a/ansible/roles/swift/tasks/upgrade.yml
+++ b/ansible/roles/swift/tasks/upgrade.yml
@@ -2,4 +2,3 @@
 - include: config.yml
 
 - include: stop_and_start.yml
-  serial: "30%"
diff --git a/ansible/roles/tempest/tasks/reconfigure.yml b/ansible/roles/tempest/tasks/reconfigure.yml
index 66933249bb9c2b64d9c686e3cbb27e5f870029cd..2a1e32d9c2301f95d2783c4763f7f85d7efea4e9 100644
--- a/ansible/roles/tempest/tasks/reconfigure.yml
+++ b/ansible/roles/tempest/tasks/reconfigure.yml
@@ -1,3 +1,2 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
diff --git a/ansible/roles/watcher/tasks/reconfigure.yml b/ansible/roles/watcher/tasks/reconfigure.yml
index 4a07987a593693d4c4679d5866c418aa990f039a..1dee3652df5e9a01fa3074ac5ef5bc1651ba5152 100644
--- a/ansible/roles/watcher/tasks/reconfigure.yml
+++ b/ansible/roles/watcher/tasks/reconfigure.yml
@@ -1,6 +1,5 @@
 ---
 - include: do_reconfigure.yml
-  serial: "30%"
   when: inventory_hostname in groups['watcher-api']
         or inventory_hostname in groups['watcher-engine']
         or inventory_hostname in groups['watcher-applier']
diff --git a/ansible/roles/watcher/tasks/upgrade.yml b/ansible/roles/watcher/tasks/upgrade.yml
index c0e3b19a4073c1b74e9db4298bc19c4cf559ad27..308053080c0ccc6af9fe340dbb86eceef5f49074 100644
--- a/ansible/roles/watcher/tasks/upgrade.yml
+++ b/ansible/roles/watcher/tasks/upgrade.yml
@@ -4,4 +4,3 @@
 - include: bootstrap_service.yml
 
 - include: start.yml
-  serial: "30%"
diff --git a/ansible/site.yml b/ansible/site.yml
index 7f8c4158433ad06027d7077c27ba16c459c41e2f..6f87631de699e791e3fcb08419dc55b8c619f941 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -3,6 +3,7 @@
     - ceph-mon
     - ceph-osd
     - ceph-rgw
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: ceph,
         tags: ceph,
@@ -15,6 +16,7 @@
         when: enable_collectd | bool }
 
 - hosts: elasticsearch
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: elasticsearch,
         tags: elasticsearch,
@@ -27,24 +29,28 @@
         when: enable_influxdb | bool }
 
 - hosts: haproxy
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: haproxy,
         tags: haproxy,
         when: enable_haproxy | bool }
 
 - hosts: kibana
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: kibana,
         tags: kibana,
         when: enable_kibana | bool }
 
 - hosts: memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: memcached,
         tags: [memcache, memcached],
         when: enable_memcached | bool }
 
 - hosts: mariadb
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: mariadb,
         tags: mariadb,
@@ -53,6 +59,7 @@
 - hosts:
     - iscsid
     - tgtd
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: iscsi,
         tags: iscsi,
@@ -60,12 +67,14 @@
 
 - hosts:
     - multipathd
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: multipathd,
         tags: multipathd,
         when: enable_multipathd | bool }
 
 - hosts: rabbitmq
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: rabbitmq,
         tags: rabbitmq,
@@ -74,6 +83,7 @@
 - hosts:
     - keystone
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: keystone,
         tags: keystone,
@@ -86,6 +96,7 @@
     - swift-proxy-server
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: swift,
         tags: swift,
@@ -97,6 +108,7 @@
     - glance-registry
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: glance,
         tags: glance,
@@ -113,6 +125,7 @@
     - nova-scheduler
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: nova,
         tags: nova,
@@ -130,6 +143,7 @@
     - manila-share
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: neutron,
         tags: neutron,
@@ -143,6 +157,7 @@
     - cinder-volume
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: cinder,
         tags: cinder,
@@ -154,6 +169,7 @@
     - heat-engine
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: heat,
         tags: heat,
@@ -162,6 +178,7 @@
 - hosts:
     - horizon
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: horizon,
         tags: horizon,
@@ -172,6 +189,7 @@
     - murano-engine
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: murano,
         tags: murano,
@@ -184,6 +202,7 @@
     - ironic-pxe
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: ironic,
         tags: ironic,
@@ -194,6 +213,7 @@
     - magnum-conductor
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: magnum,
         tags: magnum,
@@ -205,6 +225,7 @@
     - mistral-executor
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: mistral,
         tags: mistral,
@@ -213,6 +234,7 @@
 - hosts:
     - sahara-api
     - sahara-engine
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: sahara,
         tags: sahara,
@@ -220,6 +242,7 @@
 
 - hosts:
     - mongodb
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: mongodb,
         tags: mongodb,
@@ -231,6 +254,7 @@
     - manila-scheduler
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: manila,
         tags: manila,
@@ -240,6 +264,7 @@
     - gnocchi-api
     - gnocchi-metricd
     - gnocchi-statsd
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: gnocchi,
         tags: gnocchi,
@@ -248,6 +273,7 @@
 - hosts:
     - ceilometer
     - compute
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: ceilometer,
         tags: ceilometer,
@@ -257,6 +283,7 @@
     - aodh
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: aodh,
         tags: aodh,
@@ -277,6 +304,7 @@
     - congress-datasource
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: congress,
         tags: congress,
@@ -284,12 +312,14 @@
 
 - hosts:
     - tempest
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: tempest,
         tags: tempest,
         when: enable_tempest | bool }
 
 - hosts: rally
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: rally,
         tags: rally,
@@ -301,6 +331,7 @@
     - watcher-applier
     - rabbitmq
     - memcached
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: watcher,
         tags: watcher,
@@ -309,6 +340,7 @@
 - hosts:
     - cloudkitty-api
     - cloudkitty-processor
+  serial: '{{ "30%" if action == "upgrade" else "0" }}'
   roles:
     - { role: cloudkitty,
         tags: cloudkitty,