diff --git a/_modules/designatev2/__init__.py b/_modules/designatev2/__init__.py
index 0becffe..e2379fa 100644
--- a/_modules/designatev2/__init__.py
+++ b/_modules/designatev2/__init__.py
@@ -7,8 +7,11 @@
 
 from designatev2 import lists
 from designatev2 import zones
+from designatev2 import services
 
 zone_list = lists.zone_list
+status_list = lists.status_list
+service_wait = services.wait_for_services
 zone_create = zones.zone_create
 zone_get_details = zones.zone_get_details
 zone_get_name_servers = zones.zone_get_name_servers
@@ -16,7 +19,7 @@
 zone_delete = zones.zone_delete
 
 
-__all__ = ('zone_list', 'zone_create', 'zone_delete', 'zone_update',
+__all__ = ('zone_list', 'status_list', 'service_wait', 'zone_create', 'zone_delete', 'zone_update',
            'zone_get_details', 'zone_get_name_servers',)
 
 
diff --git a/_modules/designatev2/lists.py b/_modules/designatev2/lists.py
index aebd573..4aa1c29 100644
--- a/_modules/designatev2/lists.py
+++ b/_modules/designatev2/lists.py
@@ -10,3 +10,9 @@
 def zone_list(**kwargs):
     url = '/zones?{}'.format(urlencode(kwargs))
     return url, None
+
+
+@send('get')
+def status_list(**kwargs):
+    url = '/service_statuses'
+    return url, None
\ No newline at end of file
diff --git a/_modules/designatev2/services.py b/_modules/designatev2/services.py
new file mode 100644
index 0000000..d18b156
--- /dev/null
+++ b/_modules/designatev2/services.py
@@ -0,0 +1,44 @@
+from designatev2.lists import status_list
+from salt.exceptions import CommandExecutionError
+import datetime
+import time
+
+
+def wait_for_services(cloud_name, host, service=None, retries=18, timeout=10, time_delta=5):
+    """Ensure the service is up and running on specified host.
+    :example:              salt-call designatev2.wait_for_services admin_identity host=cfg01 service=mdns
+    :param host:           name of a host where service is running
+    :param service:        name of the service (by default designate)
+    :param timeout:        number of seconds to wait before retries
+    :param retries:        number of retries
+    :time_delta:           time interval that can be between the request and service response
+    """
+
+    for _i in range(retries):
+        time_actual = datetime.datetime.now()
+        services = status_list(cloud_name=cloud_name)['service_statuses']
+        service_list = []
+        service_active = []
+
+        for s in services:
+            if s['hostname'] == host:
+                service_list.append(s['service_name'])
+
+        for s in services:
+            updated_at = datetime.datetime.strptime(s['updated_at'], '%Y-%m-%dT%H:%M:%S.%f')
+            time_diff = abs((time_actual - updated_at).total_seconds()) <= time_delta
+            service_name = s['service_name']
+
+            if s['hostname'] == host and time_diff:
+                if service is None:
+                    service_active.append(s['service_name'])
+                else:
+                    if service_name == service:
+                        return 'Designate-%s service are UP' % (service)
+            elif service_name == service and not time_diff:
+                continue
+
+        if len(service_list) == len(service_active):
+            return 'All Designate services are UP'
+        time.sleep(timeout)
+    raise CommandExecutionError("Designate-{} services are still down".format(set(service_list) - set(service_active)))
diff --git a/designate/upgrade/verify/_service.sls b/designate/upgrade/verify/_service.sls
new file mode 100644
index 0000000..c73517b
--- /dev/null
+++ b/designate/upgrade/verify/_service.sls
@@ -0,0 +1,19 @@
+{%- from "designate/map.jinja" import server, worker, agent, pool_manager with context %}
+
+designate_task_uprade_verify_service:
+  test.show_notification:
+    - text: "Running designate.upgrade.verify.service"
+
+{%- if server.get('enabled') or worker.get('enabled') or agent.get('enabled') or pool_manager.get('enabled') %}
+{% set host_id = salt['network.get_hostname']() %}
+
+wait_for_service:
+  module.run:
+    - name: designatev2.service_wait
+    - cloud_name: admin_identity
+    - host: {{ host_id }}
+    - retries: 30
+    - timeout: 10
+    - time_delta: 5
+
+{% endif %}
diff --git a/designate/upgrade/verify/init.sls b/designate/upgrade/verify/init.sls
index 1afebd4..a00c5b6 100644
--- a/designate/upgrade/verify/init.sls
+++ b/designate/upgrade/verify/init.sls
@@ -1,2 +1,3 @@
 include:
- - designate.upgrade.verify._api
+ - designate.upgrade.verify._service
+ - designate.upgrade.verify._api
\ No newline at end of file
