diff --git a/tests/test_cloner.py b/tests/test_cloner.py
index 137c157..0c6d869 100644
--- a/tests/test_cloner.py
+++ b/tests/test_cloner.py
@@ -37,6 +37,8 @@
     workspace_root = None
 
     def setUp(self):
+        self.skip("Disabled for early v3 development")
+
         super(TestCloner, self).setUp()
         self.workspace_root = os.path.join(self.test_root, 'workspace')
 
diff --git a/tests/test_connection.py b/tests/test_connection.py
index c3458ac..c12d855 100644
--- a/tests/test_connection.py
+++ b/tests/test_connection.py
@@ -21,6 +21,9 @@
 
 
 class TestGerritConnection(testtools.TestCase):
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     log = logging.getLogger("zuul.test_connection")
 
     def test_driver_name(self):
@@ -29,6 +32,9 @@
 
 
 class TestConnections(ZuulTestCase):
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     def setup_config(self, config_file='zuul-connections-same-gerrit.conf'):
         super(TestConnections, self).setup_config(config_file)
 
@@ -60,6 +66,9 @@
 
 
 class TestMultipleGerrits(ZuulTestCase):
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     def setup_config(self,
                      config_file='zuul-connections-multiple-gerrits.conf'):
         super(TestMultipleGerrits, self).setup_config(config_file)
diff --git a/tests/test_requirements.py b/tests/test_requirements.py
index 3ae56ad..4d3d070 100644
--- a/tests/test_requirements.py
+++ b/tests/test_requirements.py
@@ -27,6 +27,9 @@
 class TestRequirements(ZuulTestCase):
     """Test pipeline and trigger requirements"""
 
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     def test_pipeline_require_approval_newer_than(self):
         "Test pipeline requirement: approval newer than"
         return self._test_require_approval_newer_than('org/project1',
diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py
index 4f52911..43d58c0 100755
--- a/tests/test_scheduler.py
+++ b/tests/test_scheduler.py
@@ -80,6 +80,9 @@
 
 class TestScheduler(ZuulTestCase):
 
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     def test_jobs_launched(self):
         "Test that jobs are launched and a change is merged"
 
diff --git a/tests/test_webapp.py b/tests/test_webapp.py
index b127c51..bc5961f 100644
--- a/tests/test_webapp.py
+++ b/tests/test_webapp.py
@@ -29,6 +29,8 @@
         self.waitUntilSettled()
 
     def setUp(self):
+        self.skip("Disabled for early v3 development")
+
         super(TestWebapp, self).setUp()
         self.addCleanup(self._cleanup)
         self.worker.hold_jobs_in_build = True
diff --git a/tests/test_zuultrigger.py b/tests/test_zuultrigger.py
index 0d52fc9..0cd259a 100644
--- a/tests/test_zuultrigger.py
+++ b/tests/test_zuultrigger.py
@@ -26,6 +26,9 @@
 class TestZuulTrigger(ZuulTestCase):
     """Test Zuul Trigger"""
 
+    def setUp(self):
+        self.skip("Disabled for early v3 development")
+
     def test_zuul_trigger_parent_change_enqueued(self):
         "Test Zuul trigger event: parent-change-enqueued"
         self.config.set('zuul', 'layout_config',
