Merge "Add update_service to compute services_client library"
diff --git a/.zuul.yaml b/.zuul.yaml
index 49ecb63..fd3aa2a 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -144,8 +144,11 @@
 
 # TODO(gmann): needs to migrate this to zuulv3
 - job:
-    name: tempest-scenario-multinode-lvm-multibackend
+    name: tempest-scenario-all
     parent: legacy-dsvm-base-multinode
+    description: |
+      This job will run all scenario tests including slow tests
+      with lvm multibackend setup. This job will not run any API tests.
     run: playbooks/tempest-scenario-multinode-lvm-multibackend/run.yaml
     post-run: playbooks/tempest-scenario-multinode-lvm-multibackend/post.yaml
     timeout: 10800
@@ -336,8 +339,7 @@
               - ^tempest/hacking/.*$
               - ^tempest/tests/.*$
         - tempest-tox-plugin-sanity-check
-        - tempest-scenario-multinode-lvm-multibackend:
-            voting: false
+        - tempest-scenario-all:
             irrelevant-files:
               - ^(test-|)requirements.txt$
               - ^.*\.rst$
@@ -347,6 +349,7 @@
               - ^setup.cfg$
               - ^tempest/hacking/.*$
               - ^tempest/tests/.*$
+              - ^tempest/api/.*$
         - nova-cells-v1:
             irrelevant-files:
               - ^(test-|)requirements.txt$
@@ -371,6 +374,17 @@
     gate:
       jobs:
         - nova-multiattach
+        - tempest-scenario-all:
+            irrelevant-files:
+              - ^(test-|)requirements.txt$
+              - ^.*\.rst$
+              - ^doc/.*$
+              - ^etc/.*$
+              - ^releasenotes/.*$
+              - ^setup.cfg$
+              - ^tempest/hacking/.*$
+              - ^tempest/tests/.*$
+              - ^tempest/api/.*$
     experimental:
       jobs:
         - tempest-cinder-v2-api:
diff --git a/playbooks/tempest-scenario-multinode-lvm-multibackend/run.yaml b/playbooks/tempest-scenario-multinode-lvm-multibackend/run.yaml
index 03f64f9..57b4074 100644
--- a/playbooks/tempest-scenario-multinode-lvm-multibackend/run.yaml
+++ b/playbooks/tempest-scenario-multinode-lvm-multibackend/run.yaml
@@ -47,8 +47,8 @@
           set -x
           export PYTHONUNBUFFERED=true
           export DEVSTACK_GATE_TEMPEST=1
-          # Run scenario and nova migration tests with concurrency 2
-          export DEVSTACK_GATE_TEMPEST_REGEX='(^tempest\.(scenario|api\.compute\.admin\.test_(live_|)migration))'
+          # Run all scenario tests including slow tests with concurrency 2
+          export DEVSTACK_GATE_TEMPEST_REGEX='(^tempest\.(scenario))'
           export TEMPEST_CONCURRENCY=2
           export DEVSTACK_GATE_NEUTRON=1
           export DEVSTACK_GATE_TLSPROXY=1
diff --git a/tempest/api/volume/admin/test_user_messages.py b/tempest/api/volume/admin/test_user_messages.py
index 20c3538..9907497 100644
--- a/tempest/api/volume/admin/test_user_messages.py
+++ b/tempest/api/volume/admin/test_user_messages.py
@@ -62,8 +62,16 @@
         return message_id
 
     @decorators.idempotent_id('50f29e6e-f363-42e1-8ad1-f67ae7fd4d5a')
-    def test_list_messages(self):
-        self._create_user_message()
+    def test_list_show_messages(self):
+        message_id = self._create_user_message()
+        self.addCleanup(self.messages_client.delete_message, message_id)
+
+        # show message
+        message = self.messages_client.show_message(message_id)['message']
+        for key in MESSAGE_KEYS:
+            self.assertIn(key, message.keys(), 'Missing expected key %s' % key)
+
+        # list messages
         messages = self.messages_client.list_messages()['messages']
         self.assertIsInstance(messages, list)
         for message in messages:
@@ -71,16 +79,6 @@
                 self.assertIn(key, message.keys(),
                               'Missing expected key %s' % key)
 
-    @decorators.idempotent_id('55a4a61e-c7b2-4ba0-a05d-b914bdef3070')
-    def test_show_message(self):
-        message_id = self._create_user_message()
-        self.addCleanup(self.messages_client.delete_message, message_id)
-
-        message = self.messages_client.show_message(message_id)['message']
-
-        for key in MESSAGE_KEYS:
-            self.assertIn(key, message.keys(), 'Missing expected key %s' % key)
-
     @decorators.idempotent_id('c6eb6901-cdcc-490f-b735-4fe251842aed')
     def test_delete_message(self):
         message_id = self._create_user_message()