diff --git a/tests/base.py b/tests/base.py
index 566ceae..d0727d7 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -1758,7 +1758,8 @@
 
     def updateConfigLayout(self, path):
         root = os.path.join(self.test_root, "config")
-        os.makedirs(root)
+        if not os.path.exists(root):
+            os.makedirs(root)
         f = tempfile.NamedTemporaryFile(dir=root, delete=False)
         f.write("""
 - tenant:
diff --git a/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-old.yaml b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-old.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-old.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-older.yaml b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-older.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-bitrot-stable-older.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-test1.yaml b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-test1.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-idle/playbooks/project-test1.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-idle/zuul.yaml b/tests/fixtures/config/single-tenant/git/layout-idle/zuul.yaml
new file mode 100644
index 0000000..f71f3e4
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-idle/zuul.yaml
@@ -0,0 +1,27 @@
+- pipeline:
+    name: periodic
+    manager: independent
+    source:
+      gerrit
+    trigger:
+      timer:
+        - time: '* * * * * */1'
+
+- job:
+    name: project-bitrot-stable-old
+    nodes:
+      - name: static
+        image: ubuntu-xenial
+
+- job:
+    name: project-bitrot-stable-older
+    nodes:
+      - name: static
+        image: ubuntu-trusty
+
+- project:
+    name: org/project
+    periodic:
+      jobs:
+        - project-bitrot-stable-old
+        - project-bitrot-stable-older
diff --git a/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-old.yaml b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-old.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-old.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-older.yaml b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-older.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-bitrot-stable-older.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-test1.yaml b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-test1.yaml
new file mode 100644
index 0000000..f679dce
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-no-timer/playbooks/project-test1.yaml
@@ -0,0 +1,2 @@
+- hosts: all
+  tasks: []
diff --git a/tests/fixtures/config/single-tenant/git/layout-no-timer/zuul.yaml b/tests/fixtures/config/single-tenant/git/layout-no-timer/zuul.yaml
new file mode 100644
index 0000000..f754e37
--- /dev/null
+++ b/tests/fixtures/config/single-tenant/git/layout-no-timer/zuul.yaml
@@ -0,0 +1,50 @@
+- pipeline:
+    name: check
+    manager: independent
+    source:
+      gerrit
+    trigger:
+      gerrit:
+        - event: patchset-created
+    success:
+      gerrit:
+        verified: 1
+    failure:
+      gerrit:
+        verified: -1
+
+- pipeline:
+    name: periodic
+    manager: independent
+    # Trigger is required, set it to one that is a noop
+    # during tests that check the timer trigger.
+    source:
+      gerrit
+    trigger:
+      gerrit:
+        - event: ref-updated
+
+- job:
+    name: project-test1
+
+- job:
+    name: project-bitrot-stable-old
+    nodes:
+      - name: static
+        image: ubuntu-xenial
+
+- job:
+    name: project-bitrot-stable-older
+    nodes:
+      - name: static
+        image: ubuntu-trusty
+
+- project:
+    name: org/project
+    check:
+      jobs:
+        - project-test1
+    periodic:
+      jobs:
+        - project-bitrot-stable-old
+        - project-bitrot-stable-older
diff --git a/tests/fixtures/layout-idle.yaml b/tests/fixtures/layout-idle.yaml
deleted file mode 100644
index 0870788..0000000
--- a/tests/fixtures/layout-idle.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-pipelines:
-  - name: periodic
-    manager: IndependentPipelineManager
-    trigger:
-      timer:
-        - time: '* * * * * */1'
-
-projects:
-  - name: org/project
-    periodic:
-      - project-bitrot-stable-old
-      - project-bitrot-stable-older
diff --git a/tests/fixtures/layout-no-timer.yaml b/tests/fixtures/layout-no-timer.yaml
deleted file mode 100644
index ca40d13..0000000
--- a/tests/fixtures/layout-no-timer.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-pipelines:
-  - name: check
-    manager: IndependentPipelineManager
-    trigger:
-      gerrit:
-        - event: patchset-created
-    success:
-      gerrit:
-        verified: 1
-    failure:
-      gerrit:
-        verified: -1
-
-  - name: periodic
-    manager: IndependentPipelineManager
-    # Trigger is required, set it to one that is a noop
-    # during tests that check the timer trigger.
-    trigger:
-      gerrit:
-        - event: ref-updated
-
-projects:
-  - name: org/project
-    check:
-      - project-test1
-    periodic:
-      - project-bitrot-stable-old
-      - project-bitrot-stable-older
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py
index 6426692..06ec70d 100755
--- a/tests/unit/test_scheduler.py
+++ b/tests/unit/test_scheduler.py
@@ -1638,27 +1638,28 @@
         self.assertEqual(A.reported, 0, "Abandoned change should not report")
         self.assertEqual(B.reported, 1, "Change should report")
 
-    @skip("Disabled for early v3 development")
     def test_abandoned_not_timer(self):
         "Test that an abandoned change does not cancel timer jobs"
 
         self.launch_server.hold_jobs_in_build = True
 
         # Start timer trigger - also org/project
-        self.updateConfigLayout(
-            'tests/fixtures/layout-idle.yaml')
+        self.updateConfigLayout('layout-idle')
         self.sched.reconfigure(self.config)
-        self.registerJobs()
         # The pipeline triggers every second, so we should have seen
         # several by now.
         time.sleep(5)
         self.waitUntilSettled()
         # Stop queuing timer triggered jobs so that the assertions
         # below don't race against more jobs being queued.
-        self.updateConfigLayout(
-            'tests/fixtures/layout-no-timer.yaml')
+        # Must be in same repo, so overwrite config with another one
+        no_timer_path = os.path.join(self.test_root, 'upstream',
+                                     'layout-no-timer', 'zuul.yaml')
+        with open(no_timer_path, 'r') as nt:
+            self.addCommitToRepo('layout-idle', 'Removing timer jobs',
+                                 {'zuul.yaml': nt.read()})
+
         self.sched.reconfigure(self.config)
-        self.registerJobs()
         self.assertEqual(len(self.builds), 2, "Two timer jobs")
 
         A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
diff --git a/zuul/driver/gerrit/gerritconnection.py b/zuul/driver/gerrit/gerritconnection.py
index 627c716..683c8ff 100644
--- a/zuul/driver/gerrit/gerritconnection.py
+++ b/zuul/driver/gerrit/gerritconnection.py
@@ -282,6 +282,7 @@
             change.url = self._getGitwebUrl(project, sha=event.newrev)
         else:
             # TODOv3(jeblair): we need to get the project from the event
+            project = self.getProject(event.project_name)
             change = NullChange(project)
         return change
 
diff --git a/zuul/driver/timer/__init__.py b/zuul/driver/timer/__init__.py
index b8979c4..a188a26 100644
--- a/zuul/driver/timer/__init__.py
+++ b/zuul/driver/timer/__init__.py
@@ -49,7 +49,7 @@
     def _addJobs(self, tenant):
         jobs = []
         self.tenant_jobs[tenant.name] = jobs
-        for pipeline in tenant.layout.pipelines:
+        for pipeline in tenant.layout.pipelines.values():
             for ef in pipeline.manager.event_filters:
                 if not isinstance(ef.trigger, timertrigger.TimerTrigger):
                     continue
@@ -88,8 +88,8 @@
     def stop(self):
         self.apsched.shutdown()
 
-    def getTrigger(self, connection_name):
-        return timertrigger.TimerTrigger(self)
+    def getTrigger(self, connection_name, config=None):
+        return timertrigger.TimerTrigger(self, config)
 
     def getTriggerSchema(self):
         return timertrigger.getSchema()
diff --git a/zuul/launcher/client.py b/zuul/launcher/client.py
index 458aeaf..5b60506 100644
--- a/zuul/launcher/client.py
+++ b/zuul/launcher/client.py
@@ -42,6 +42,10 @@
         oldrev = item.change.oldrev
         newrev = item.change.newrev
         branch = item.change.ref
+    else:
+        oldrev = None
+        newrev = None
+        branch = None
     connection_name = item.pipeline.source.connection.connection_name
     project = item.change.project.name
 
diff --git a/zuul/lib/connections.py b/zuul/lib/connections.py
index 35b4417..0a8be03 100644
--- a/zuul/lib/connections.py
+++ b/zuul/lib/connections.py
@@ -17,6 +17,7 @@
 import zuul.driver.zuul
 import zuul.driver.gerrit
 import zuul.driver.smtp
+import zuul.driver.timer
 from zuul.connection import BaseConnection
 
 
@@ -34,6 +35,7 @@
         self.registerDriver(zuul.driver.zuul.ZuulDriver())
         self.registerDriver(zuul.driver.gerrit.GerritDriver())
         self.registerDriver(zuul.driver.smtp.SMTPDriver())
+        self.registerDriver(zuul.driver.timer.TimerDriver())
 
     def registerDriver(self, driver):
         if driver.name in self.drivers:
