Perform live reconfiguration

Change-Id: I69563ee47dd6f3777a52b67999ff1a03247f1e1e
Reviewed-on: https://review.openstack.org/35324
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
diff --git a/zuul/model.py b/zuul/model.py
index 5e653ed..f1dd0b0 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -306,12 +306,15 @@
 
     def enqueueChange(self, change):
         item = QueueItem(self.pipeline, change)
+        self.enqueueItem(item)
+        item.enqueue_time = time.time()
+        return item
+
+    def enqueueItem(self, item):
         if self.dependent and self.queue:
             item.item_ahead = self.queue[-1]
             item.item_ahead.item_behind = item
         self.queue.append(item)
-        item.enqueue_time = time.time()
-        return item
 
     def dequeueItem(self, item):
         if item in self.queue: