Retire github mirror, repo moved to opendev
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 257e54f..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-*.DS_Store
-*.egg*
-*.mo
-*.pyc
-*.swo
-*.swp
-*.sqlite
-*~
-*.sql
-.pythoscope
-.tox
-.venv
-.testrepository
-.test
-AUTHORS
-build/*
-ChangeLog
-doc/build/*
-dist/
diff --git a/.gitreview b/.gitreview
deleted file mode 100644
index 6f75009..0000000
--- a/.gitreview
+++ /dev/null
@@ -1,4 +0,0 @@
-[gerrit]
-host=review.openstack.org
-port=29418
-project=openstack/turbo-hipster.git
diff --git a/.testr.conf b/.testr.conf
deleted file mode 100644
index b951a05..0000000
--- a/.testr.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
-             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
-             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
-             ${PYTHON:-python} -m subunit.run discover -t ./ ./tests $LISTOPT $IDOPTION
-
-test_id_option=--load-list $IDFILE
-test_list_option=--list
-test_run_concurrency=echo 1
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 68c771a..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,176 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
diff --git a/README.md b/README.md
index d55b45f..aca98a9 100644
--- a/README.md
+++ b/README.md
@@ -1,49 +1,3 @@
-turbo-hipster
-=============
+# This repo has moved to OpenDev
 
-A set of CI tools.
-
-worker_server.py is a worker server that loads and runs task_plugins.
-
-Each task_plugin is a zuul gearman worker that implements, handles, executes a
-job, uploads/post-processes the logs and sends back the results to zuul.
-
-Plugins
--------
-
-**gate_real_db_upgrade**:
-Runs the db_sync migrations on each dataset available in the datasets subdir.
-
-Installation
-------------
-
-* boot a fresh Ubuntu image
-* setup ssh authentication for your admin team
-* apt-get update; apt-get dist-upgrade
-* adduser th
-* apt-get install vim git python-pip python-setuptools python-keystoneclient virtualenvwrapper python-eventlet python-numpy python-mysqldb python-git python-gitdb python-netaddr python-pkg-resources libxml2-dev libxml2-utils libxslt-dev git-review libxml2-dev libxml2-utils libxslt-dev libmysqlclient-dev pep8 postgresql-server-dev-9.1 python2.7-dev python-coverage python-netaddr
-* pip install -U pip 
-* apt-get purge python-pip
-* cd /home/th; git clone http://github.com/stackforge/turbo-hipster
-* apply any patches you need
-* python setup.py install
-* cp turbo_hipster/task_plugins/gate_real_db_upgrade/*.sh /usr/local/lib/python2.7/dist-packages/turbo_hipster/task_plugins/gate_real_db_upgrade/
-* cp -R etc/* /etc/
-* mkdir /var/lib/turbo-hipster
-* chown -R th.th /var/lib/turbo-hipster
-* mkdir /var/log/turbo-hipster
-* chown -R th.th /var/log/turbo-hipster
-* install your chosen MySQL-like database engine (percona, maria, mysql)
-* mysql -u root --password=$1 -e "create user 'nova'@'localhost' identified by 'tester';"
-* mysql -u root --password=$1 -e "create user 'nova'@'172.16.0.2' identified by 'tester';"
-* mysql -u root --password=$1 -e "grant all privileges on *.* to 'nova'@'localhost' with grant option;"
-* mysql -u root --password=$1 -e "grant all privileges on *.* to 'nova'@'172.16.0.2' with grant option;"
-* /etc/rc.local
-* rsync the datasets from the master
-* logrotate -f /etc/logrotate.conf
-* chmod -R ugo+r /var/log/*
-* chmod ugo+rx /var/log/mysql
-* mkdir /var/cache/pip
-* chmod -R ugo+rwx /var/cache/pip
-* touch /var/log/mysql/slow-queries.log
-* /etc/init.d/turbo-hipster start
\ No newline at end of file
+It can now be found at [https://opendev.org/x/turbo-hipster](https://opendev.org/x/turbo-hipster)
diff --git a/datasets/datasets_devstack_131007/131007_devstack_export/config.json b/datasets/datasets_devstack_131007/131007_devstack_export/config.json
deleted file mode 100644
index 82d9786..0000000
--- a/datasets/datasets_devstack_131007/131007_devstack_export/config.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "Innodb_rows_read": {
-        "default": 1000
-    }, 
-    "XInnodb_rows_changed": {
-        "default": 1000
-    }, 
-    "database": "nova_dataset_131007_devstack", 
-    "db_pass": "tester", 
-    "db_user": "nova", 
-    "logging_conf": "logging.conf", 
-    "maximum_migration_times": {
-        "default": 60
-    }, 
-    "project": "openstack/nova", 
-    "seed_data": "nova.sql", 
-    "type": "mysql"
-}
\ No newline at end of file
diff --git a/datasets/datasets_devstack_131007/131007_devstack_export/input.json b/datasets/datasets_devstack_131007/131007_devstack_export/input.json
deleted file mode 100644
index fe7b59e..0000000
--- a/datasets/datasets_devstack_131007/131007_devstack_export/input.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova_dataset_131007_devstack",
-    "seed_data": "nova.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60
-    },
-    "XInnodb_rows_changed": {
-        "default": 1000
-    },
-    "Innodb_rows_read": {
-        "default": 1000
-    }
-}
diff --git a/datasets/datasets_trivial_500/nova_trivial_500/config.json b/datasets/datasets_trivial_500/nova_trivial_500/config.json
deleted file mode 100644
index 175f6f1..0000000
--- a/datasets/datasets_trivial_500/nova_trivial_500/config.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "Innodb_rows_read": {
-        "default": 1000
-    }, 
-    "XInnodb_rows_changed": {
-        "default": 1000
-    }, 
-    "database": "nova_dataset_trivial_500", 
-    "db_pass": "tester", 
-    "db_user": "nova", 
-    "logging_conf": "logging.conf", 
-    "maximum_migration_times": {
-        "151->152": 84.0, 
-        "152->151": 103.0, 
-        "default": 60
-    }, 
-    "project": "openstack/nova", 
-    "seed_data": "nova_trivial_500.sql", 
-    "type": "mysql"
-}
\ No newline at end of file
diff --git a/datasets/datasets_trivial_500/nova_trivial_500/input.json b/datasets/datasets_trivial_500/nova_trivial_500/input.json
deleted file mode 100644
index d71a8e0..0000000
--- a/datasets/datasets_trivial_500/nova_trivial_500/input.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova_dataset_trivial_500",
-    "seed_data": "nova_trivial_500.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60
-    },
-    "XInnodb_rows_changed": {
-        "default": 1000
-    },
-    "Innodb_rows_read": {
-        "default": 1000
-    }
-}
-
diff --git a/datasets/datasets_trivial_6000/nova_trivial_6000/config.json b/datasets/datasets_trivial_6000/nova_trivial_6000/config.json
deleted file mode 100644
index 6d1ccb6..0000000
--- a/datasets/datasets_trivial_6000/nova_trivial_6000/config.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "Innodb_rows_read": {
-        "default": 1000
-    }, 
-    "XInnodb_rows_changed": {
-        "default": 1000
-    }, 
-    "database": "nova_dataset_trivial_6000", 
-    "db_pass": "tester", 
-    "db_user": "nova", 
-    "logging_conf": "logging.conf", 
-    "maximum_migration_times": {
-        "151->152": 159.0, 
-        "152->151": 195.0, 
-        "184->185": 66.0, 
-        "186->185": 144.0, 
-        "default": 60
-    }, 
-    "project": "openstack/nova", 
-    "seed_data": "nova_trivial_6000.sql", 
-    "type": "mysql"
-}
\ No newline at end of file
diff --git a/datasets/datasets_trivial_6000/nova_trivial_6000/input.json b/datasets/datasets_trivial_6000/nova_trivial_6000/input.json
deleted file mode 100644
index e4a1ebd..0000000
--- a/datasets/datasets_trivial_6000/nova_trivial_6000/input.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova_dataset_trivial_6000",
-    "seed_data": "nova_trivial_6000.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60
-    },
-    "XInnodb_rows_changed": {
-        "default": 1000
-    },
-    "Innodb_rows_read": {
-        "default": 1000
-    }
-}
-
diff --git a/datasets/datasets_user_001/user_001/config.json b/datasets/datasets_user_001/user_001/config.json
deleted file mode 100644
index 97f1ddb..0000000
--- a/datasets/datasets_user_001/user_001/config.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-    "Innodb_rows_read": {
-        "148->149": 110000, 
-        "151->152": 3470000, 
-        "159->160": 200000, 
-        "160->161": 390000, 
-        "202->203": 260000, 
-        "205->206": 140000, 
-        "215->216": 930000, 
-        "default": 100000
-    }, 
-    "XInnodb_rows_changed": {
-        "148->149": 110000, 
-        "151->152": 3200000, 
-        "184->185": 140000, 
-        "193->194": 150000, 
-        "202->203": 520000, 
-        "203->204": 260000, 
-        "205->206": 190000, 
-        "215->216": 260000, 
-        "229->230": 140000, 
-        "default": 100000
-    }, 
-    "database": "nova_datasets_user_001", 
-    "db_pass": "tester", 
-    "db_user": "nova", 
-    "logging_conf": "logging.conf", 
-    "maximum_migration_times": {
-        "134->135": 200.0, 
-        "135->134": 97.0, 
-        "137->138": 85.0, 
-        "138->137": 100.0, 
-        "148->149": 135.0, 
-        "149->148": 158.0, 
-        "151->152": 333.0, 
-        "152->151": 330.0, 
-        "158->159": 136.0, 
-        "159->158": 168.0, 
-        "186->185": 569.0, 
-        "204->205": 97.0, 
-        "205->204": 98.0, 
-        "205->206": 116.0, 
-        "206->205": 106.0, 
-        "215->216": 137.0, 
-        "229->230": 122.0, 
-        "230->229": 84.0, 
-        "230->231": 120,
-        "231->230": 120,
-        "_138_bugs": [
-            1263835
-        ], 
-        "_149_bugs": [
-            1263836
-        ], 
-        "_205_bugs": [
-            1263868
-        ], 
-        "default": 60
-    }, 
-    "project": "openstack/nova", 
-    "seed_data": "nova_user_001.sql", 
-    "type": "mysql"
-}
\ No newline at end of file
diff --git a/datasets/datasets_user_001/user_001/input.json b/datasets/datasets_user_001/user_001/input.json
deleted file mode 100644
index 1e8366d..0000000
--- a/datasets/datasets_user_001/user_001/input.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova_datasets_user_001",
-    "seed_data": "nova_user_001.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60,
-        "_138_bugs": [1263835],
-        "_149_bugs": [1263836],
-        "_205_bugs": [1263868]
-    },
-    "XInnodb_rows_changed": {
-        "default": 100000
-    },
-    "Innodb_rows_read": {
-        "default": 100000
-    }
-}
-
diff --git a/datasets/datasets_user_002/user_002/config.json b/datasets/datasets_user_002/user_002/config.json
deleted file mode 100644
index e0d6e9a..0000000
--- a/datasets/datasets_user_002/user_002/config.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "Innodb_rows_read": {
-        "default": 100000
-    }, 
-    "XInnodb_rows_changed": {
-        "default": 100000
-    }, 
-    "database": "nova_dataset_user_002", 
-    "db_pass": "tester", 
-    "db_user": "nova", 
-    "logging_conf": "logging.conf", 
-    "maximum_migration_times": {
-        "default": 60
-    }, 
-    "project": "openstack/nova", 
-    "seed_data": "nova_user_002.sql", 
-    "type": "mysql"
-}
\ No newline at end of file
diff --git a/datasets/datasets_user_002/user_002/input.json b/datasets/datasets_user_002/user_002/input.json
deleted file mode 100644
index 8a1b8a0..0000000
--- a/datasets/datasets_user_002/user_002/input.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova_dataset_user_002",
-    "seed_data": "nova_user_002.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60
-    },
-    "XInnodb_rows_changed": {
-        "default": 100000
-    },
-    "Innodb_rows_read": {
-        "default": 100000
-    }
-}
-
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index 5dfa362..0000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,153 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS    =
-SPHINXBUILD   = sphinx-build
-PAPER         =
-BUILDDIR      = build
-
-# Internal variables.
-PAPEROPT_a4     = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
-# the i18n builder cannot share the environment and doctrees with the others
-I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
-
-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
-
-help:
-	@echo "Please use \`make <target>' where <target> is one of"
-	@echo "  html       to make standalone HTML files"
-	@echo "  dirhtml    to make HTML files named index.html in directories"
-	@echo "  singlehtml to make a single large HTML file"
-	@echo "  pickle     to make pickle files"
-	@echo "  json       to make JSON files"
-	@echo "  htmlhelp   to make HTML files and a HTML help project"
-	@echo "  qthelp     to make HTML files and a qthelp project"
-	@echo "  devhelp    to make HTML files and a Devhelp project"
-	@echo "  epub       to make an epub"
-	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
-	@echo "  text       to make text files"
-	@echo "  man        to make manual pages"
-	@echo "  texinfo    to make Texinfo files"
-	@echo "  info       to make Texinfo files and run them through makeinfo"
-	@echo "  gettext    to make PO message catalogs"
-	@echo "  changes    to make an overview of all changed/added/deprecated items"
-	@echo "  linkcheck  to check all external links for integrity"
-	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
-
-clean:
-	-rm -rf $(BUILDDIR)/*
-
-html:
-	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
-	@echo
-	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-dirhtml:
-	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
-	@echo
-	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-singlehtml:
-	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
-	@echo
-	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-pickle:
-	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
-	@echo
-	@echo "Build finished; now you can process the pickle files."
-
-json:
-	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
-	@echo
-	@echo "Build finished; now you can process the JSON files."
-
-htmlhelp:
-	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
-	@echo
-	@echo "Build finished; now you can run HTML Help Workshop with the" \
-	      ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-qthelp:
-	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
-	@echo
-	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
-	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/turbo-hipster.qhcp"
-	@echo "To view the help file:"
-	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/turbo-hipster.qhc"
-
-devhelp:
-	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
-	@echo
-	@echo "Build finished."
-	@echo "To view the help file:"
-	@echo "# mkdir -p $$HOME/.local/share/devhelp/turbo-hipster"
-	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/turbo-hipster"
-	@echo "# devhelp"
-
-epub:
-	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
-	@echo
-	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-latex:
-	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-	@echo
-	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
-	@echo "Run \`make' in that directory to run these through (pdf)latex" \
-	      "(use \`make latexpdf' here to do that automatically)."
-
-latexpdf:
-	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-	@echo "Running LaTeX files through pdflatex..."
-	$(MAKE) -C $(BUILDDIR)/latex all-pdf
-	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-text:
-	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
-	@echo
-	@echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-man:
-	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
-	@echo
-	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-texinfo:
-	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-	@echo
-	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
-	@echo "Run \`make' in that directory to run these through makeinfo" \
-	      "(use \`make info' here to do that automatically)."
-
-info:
-	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-	@echo "Running Texinfo files through makeinfo..."
-	make -C $(BUILDDIR)/texinfo info
-	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
-
-gettext:
-	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
-	@echo
-	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
-
-changes:
-	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
-	@echo
-	@echo "The overview file is in $(BUILDDIR)/changes."
-
-linkcheck:
-	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
-	@echo
-	@echo "Link check complete; look for any errors in the above output " \
-	      "or in $(BUILDDIR)/linkcheck/output.txt."
-
-doctest:
-	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
-	@echo "Testing of doctests in the sources finished, look at the " \
-	      "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/doc/images/THTestResult.png b/doc/images/THTestResult.png
deleted file mode 100644
index 846ec3e..0000000
--- a/doc/images/THTestResult.png
+++ /dev/null
Binary files differ
diff --git a/doc/source/conf.py b/doc/source/conf.py
deleted file mode 100644
index 7c3d8e3..0000000
--- a/doc/source/conf.py
+++ /dev/null
@@ -1,242 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# turbo-hipster documentation build configuration file, created by
-# sphinx-quickstart on Thu Sep  5 10:30:13 2013.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
-
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinxcontrib.seqdiag']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'turbo-hipster'
-copyright = u'2013, Joshua Hesketh'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.1'
-# The full version, including alpha/beta/rc tags.
-release = '0.1'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-# html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'turbo-hipsterdoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
-  ('index', 'turbo-hipster.tex', u'turbo-hipster Documentation',
-   u'Joshua Hesketh', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output --------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-    ('index', 'turbo-hipster', u'turbo-hipster Documentation',
-     [u'Joshua Hesketh'], 1)
-]
-
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
-# -- Options for Texinfo output ------------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
-texinfo_documents = [
-  ('index', 'turbo-hipster', u'turbo-hipster Documentation',
-   u'Joshua Hesketh', 'turbo-hipster', 'One line description of project.',
-   'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
diff --git a/doc/source/index.rst b/doc/source/index.rst
deleted file mode 100644
index dfd276a..0000000
--- a/doc/source/index.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-Welcome to turbo-hipster's documentation!
-=========================================
-
-Contents:
-
-.. toctree::
-   :maxdepth: 2
-
-   intro
-   installation
-   running
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff --git a/doc/source/installation.rst b/doc/source/installation.rst
deleted file mode 100644
index d77337e..0000000
--- a/doc/source/installation.rst
+++ /dev/null
@@ -1,129 +0,0 @@
-:title: Installation
-
-.. _gearman: http://gearman.org/
-.. _zuul: http://docs.openstack.org/infra/zuul/
-
-Installation
-============
-
-Turbo-hipster is installed directly into your Python ``site-packages``
-directory, and is then run as a service. It is managed using a configuration
-file, which is in yaml format.
-
-Installing turbo-hipster
-------------------------
-
-1. Turbo-hipster can be installed directly to your Python ``site-packages``
-directory:
-
- $ sudo python setup.py install
-
-2. Copy the configuration file to a convenient location. By default,
-turbo-hipster will look in ``/etc/turbo-hipster/config.yaml``:
-
- $ cp -R etc/turbo-hipster /etc/
-
-3. The turbo-hipster configuration file is in yaml format. Open the
-``config.yaml`` configuration file in your preferred editor and modify it
-for your environment::
-
-  **zuul_server**
-    A dictionary containing details about how to communicate
-    with zuul
-       **git_url**
-           The publicly accessible protocol and URI from where
-           to clone projects and zuul_ references from. For
-           example::
-               http://review.openstack.org/p/
-           or::
-               git://review.example.org
-       **gearman_host**
-           The host of gearman_. zuul talks to its workers via
-           the gearman protocol and while it comes with a built-
-           in gearman server you can use a separate one.
-       **gearman_port**
-           The port that gearman listens on.
-  **debug_log**
-    A path to the debug log. Turbo-hipster will attempt to create
-    the file but must have write permissions.
-  **jobs_working_dir**
-    Each job will likely need to write out log and debug
-    information. This defines where turbo-hipster will do that.
-  **git_working_dir**
-    turbo-hipster needs to take a copy of the git tree of a
-    project to work from. This is the path it'll clone into and
-    work from (if needed).
-  **pip_download_cache**
-    Some of turbo-hipsters task plugins download requirements
-    for projects. This is the cache directory used by pip.
-  **jobs**
-    A list of registered jobs.
-      **name**
-        The name of the job to register. This is the function name
-        for zuul's job. eg build:some_job.
-      **plugin** (optional)
-        The plugin to use. Defaults to shell_task.
-    Any other variables the plugin may require for the job.
-  **plugins** (depreciated)
-    This is depreciated in favour of jobs (above).
-    A list of enabled plugins and their settings in a dictionary.
-    The only required parameters are *name*, which should be the
-    same as the folder containing the plugin module, and
-    *function*, which is the function registered with zuul.
-    Any other parameters are specified by the plugin themselves
-    as required.
-  **publish_logs**
-    Log results from plugins can be published using multiple
-    methods. Currently only a local copy is fully implemented.
-       **type**
-           The type of protocol to copy the log to. eg 'local'
-       **path**
-           A type specific parameter defining the local location
-           destination.
-       **prepend_url**
-           What to prepend to the path when sending the result
-           URL back to zuul. This can be useful as you may want
-           to use a script to authenticate against a swift
-           account or to use *laughing_spice* to format the logs
-           etc.
-  **conf_d**
-    A path of a directory containing pieces of json confiuration.
-    This is helpful when you want different plugins to add extra
-    or even modify the default configuration.
-
-4. Create a turbo-hipster user:
-
- $ useradd turbo-hipster
-
-5. Create the directories listed in the configuration file, and give the
-``turbo-hipster`` user write access:
-
- $ mkdir -p /var/log/turbo-hipster/
- $ chown turbo-hipster:turbo-hipster /var/log/turbo-hipster/
-
- $ mkdir -p /var/lib/turbo-hipster/jobs
- $ chown turbo-hipster:turbo-hipster /var/lib/turbo-hipster/jobs
-
- $ mkdir -p /var/lib/turbo-hipster/git
- $ chown turbo-hipster:turbo-hipster /var/lib/turbo-hipster/git
-
- $ mkdir -p /var/cache/pip
- $ chown turbo-hipster:turbo-hipster /var/cache/pip
-
-6. Open the MySQL log rotation configuration file in your preferred text
-editor, and edit it to ensure it is writable by ``other``:
-
- $ vim /etc/logrotate.d/mysql-server
- # edit create 640 to 644.
-
-.. note::
-  The turbo-hipster source code is also available for download from
-  the `turbo-hipster github page <https://github.com/rcbau/turbo-hipster/>`_
-
-  $ git clone https://github.com/rcbau/turbo-hipster
-
-.. note::
- Debug logging must be configured for turbo-hipster, as it uses the Python
- logging framework to capture log messages from the task plugin code.
- To configure debug logging, set the ``debug_log`` configuration
- setting in the ``config.yaml`` configuration file.
diff --git a/doc/source/intro.rst b/doc/source/intro.rst
deleted file mode 100644
index e8f1c31..0000000
--- a/doc/source/intro.rst
+++ /dev/null
@@ -1,95 +0,0 @@
-Turbo-hipster
-=============
-
-Turbo-hipster works with the existing OpenStack code review system to
-implement testing-related plugins. Historically, whenever code has been
-written for Nova it has been tested against trivial datasets rather than
-real data. This can mean that when users run the updated code on their
-databases they can run into issues that were not found during testing. A
-variety of real-world databases have been collected, anonymized, and added
-to the database migration plugin used by turbo-hipster. Turbo-hipster is
-integrated into the existing code review system, and automatically runs
-tests against these larger test datasets. Turbo-hipster is specifically
-designed to flag issues where changes to the database schema may not work
-due to outliers in real datasets, and to identify situations where a
-migration may take an unreasonable amount of time against a large database.
-
-.. note::
- Database anonymity is important, and can be very time consuming.
- The databases used by turbo-hipster to test against are real-world databases
- that have been anonymized with a database anonymization tool called Fuzzy
- Happiness. Fuzzy Happiness takes markup in the sqlalchemy models file and
- uses that to decide what values to anonymize, and how to do so. This feature
- is still in development, and until it is complete turbo-hipster will not
- report back to Zuul automatically.
-
-Additionally, turbo-hipster has been designed to be extensible, so it is
-possible to write other plugins to expand its capabilities.
-
-Turbo-hipster and Zuul
-----------------------
-
-Turbo-hipster is a Gearman worker. Zuul provides arguments that turbo-
-hipster uses to check out the patch, perform the database testing, and then
-report back with success or failure. Zuul allows you to specify which jobs
-should be run against which projects. You can create a rule in Zuul for it
-to select jobs that require testing against a database. Turbo-hipster will
-then register as being able to complete that type of job. Gearman handles
-the connection between Zuul and turbo-hipster, recognizing when a job
-matches the rule, and passing it to turbo-hipster for testing. When turbo-
-hipster receives the patchset for the job, it creates a virtual environment
-to test it. The result of the test is sent back to Gearman as a json string,
-which contains links to compiled logfiles.
-
-The simplified workflow for turbo-hipster:
-
-1. Registers as a worker against Zuul's Gearman server
-2. Receives jobs from Zuul as they arrive
-3. Checks out the patchset
-4. Sets up a new virtual environment for testing
-5. Loads a representative subset of the available datasets
-6. Runs the migration against each dataset, and checks the result
-7. Reports the results to Zuul, using the Gearman protocol
-
-Typical workflow diagram
-------------------------
-
-.. seqdiag::
-
-   seqdiag admin {
-      # define order of elements
-      # seqdiag sorts elements by order they appear
-      humanoid; gerrit; zuul; gearman; turbo-hipster1; turbo-hipster2;
-
-      humanoid -> gerrit [leftnote = "Patchset uploaded"];
-
-      zuul -> gearman [label = "register-server"];
-      zuul <-- gearman;
-
-      turbo-hipster1 -> gearman [label = "add server"];
-      turbo-hipster1 <-- gearman;
-      turbo-hipster1 -> gearman [label = "register functions"];
-      turbo-hipster1 <-- gearman;
-
-      turbo-hipster2 -> gearman [label = "add server"];
-      turbo-hipster2 <-- gearman;
-      turbo-hipster2 -> gearman [label = "register functions"];
-      turbo-hipster2 <-- gearman;
-
-
-      gerrit -> zuul [label = "patchset-uploaded"];
-      zuul -> gearman [label = "request worker"];
-      zuul -> gearman [label = "request worker"];
-      gearman -> turbo-hipster1 [label = "run function"];
-      gearman -> turbo-hipster2 [label = "run function"];
-      gearman <- turbo-hipster1 [label = "return result"];
-      gearman <- turbo-hipster2 [label = "return result"];
-      zuul <- gearman [label = "return result"];
-      zuul <- gearman [label = "return result"];
-      gerrit <- zuul [label = "voting results"];
-
-      humanoid <-- gerrit;
-
-   }
-
-
diff --git a/doc/source/running.rst b/doc/source/running.rst
deleted file mode 100644
index 7613662..0000000
--- a/doc/source/running.rst
+++ /dev/null
@@ -1,157 +0,0 @@
-:title: Running
-
-
-Running
-=======
-
-Starting turbo-hipster
-----------------------
-
-Turbo-hipster can be run from the command line::
-
- $ turbo-hipster
-
-This option allows you to pass parameters to turbo-hipster. Use the --help
-parameter to see a full list.
-
-+-------+--------------+--------------------------------------------------------+
-| Short |    Long      | Description                                            |
-+=======+==============+========================================================+
-|  -c   | --config     | Print the path to the configuration file and exit      |
-+-------+--------------+--------------------------------------------------------+
-|  -b   | --background | Run as a daemon in the background                      |
-+-------+--------------+--------------------------------------------------------+
-|  -p   | --pidfile    | Specify the PID file to lock while running as a daemon |
-+-------+--------------+--------------------------------------------------------+
-
-Alternatively, you can start turbo-hipster as a service.
-
-1. Copy the turbo-hipster init.d script to /etc/init.d/:
-
- $ sudo cp etc/init.d/turbo-hipster /etc/init.d/
-
-2. Reload the script with the default configuration:
-
- $ sudo update-rc.d turbo-hipster defaults
-
-3. Start the service:
-
- $ sudo service turbo-hipster start
-
-Plugins
-=======
-
-Plugins can be used to extend turbo-hipster's capabilities.
-
-.. note::
- Currently, the only available plugin for turbo-hipster is the
- database migration plugin, ``real_db_upgrade``, which tests code
- against a variety of real-world databases.
-
-Installing plugins
-------------------
-
-Turbo-hipster plugins are responsible for handling the jobs that are passed
-to it. They must successfully build reports and publish them according to
-their configuration. They must also be able to communicate test results back
-to Zuul using Gearman.
-
-Plugins must take a standard format in order to be able to work correctly
-with turbo-hipster. They must contain a ``task.py`` file with a ``Runner``
-class.
-
-Once you have created a turbo-hipster plugin, you need to configure it in
-the ``config.yaml`` configuration file.
-
-.. FIXME More config information required here
-
-Plugin: Database migration with ``real_db_upgrade``
---------------------------------------------------------
-
-The database migration plugin, ``real_db_upgrade``, is used to test
-datasets against real-world, anonymized, databases.
-
-Migrating a database
---------------------
-
-In order to use turbo-hipster with the ``real_db_upgrade`` plugin, you
-need to set up the databases to test against, and point to the plugin in
-turbo-hipster's configuration file.
-
-1. Create a directory for the datasets:
-
- $ mkdir -p /var/lib/turbo-hipster/datasets
-
-2. Copy the json dataset to the directory you created:
-
- $ cp /my/dataset.json /var/lib/turbo-hipster/datasets/
-
-3. Open the ``/etc/turbo-hipster/config.yaml`` file in your preferred
-editor, locate the plugins section, and add this line::
-
-  **plugins**
-   real_db_upgrade
-
-Testing with turbo-hipster
-==========================
-
-When turbo-hipster completes a test, it sends the result of the test back to
-Gearman. These results contain a link to a compiled log file for the test.
-
-If the test fails, or takes too long to complete, turbo-hipster will add a
-review to your patchset that looks like this:
-
-.. image:: ../images/THTestResult.png
-
-Reading test reports
---------------------
-
-An example of a standard log file:
-http://thw01.rcbops.com/results/54/54202/5/check/gate-real-db-upgrade_nova_mysql_devstack_150/ddd6d53/20130910_devstack_applied_to_150.log
-
-An example of the same logfile, using the javascript logviewer:
-http://thw01.rcbops.com/logviewer/?q=/results/54/54202/5/check/gate-real-db-upgrade_nova_mysql_devstack_150/ddd6d53/20130910_devstack_applied_to_150.log
-
-Test failure codes
-------------------
-
-This section gives a list of failure codes, including some steps you can
-take for troubleshooting errors:
-
- FAILURE - Did not find the end of a migration after a start
-
-If you look at the log you should find that a migration began but never
-finished. Hopefully there'll be a traceroute for you to follow through to
-get some hints about why it failed.
-
- WARNING - Migration %s took too long
-
-In this case your migration took a long time to run against one of the test
-datasets. You should reconsider what operations your migration is performing
-and see if there are any optimizations you can make, or if it is really
-necessary. If there is no way to speed up your migration you can email us at
-rcbau@rcbops.com for an exception.
-
- FAILURE - Final schema version does not match expectation
-
-Somewhere along the line the migrations stopped and did not reach the
-expected version. Our datasets start at previous releases and have to
-upgrade all the way through to the most current release. If you see this,
-inspect the log for traceroutes or other hints about the failure.
-
- FAILURE - Could not setup seed database.
- FAILURE - Could not find seed database.
-
-These errors are internal errors. If you see either of these, contact us at
-rcbau@rcbops.com to let us know so we can fix and rerun the tests for you.
-
- FAILURE - Could not import required module.
-
-This error probably shouldn't happen as Jenkins should catch it in the unit
-tests before Turbo-Hipster launches. If you see this, please contact us at
-rcbau@rcbops.com and let us know.
-
-If you receive an error that you think is a false positive, leave a comment
-on the review with the sole contents of "recheck migrations".
-
-If you have any questions/problems please contact us at rcbau@rcbops.com.
diff --git a/etc/init.d/turbo-hipster b/etc/init.d/turbo-hipster
deleted file mode 100755
index 4cc16d1..0000000
--- a/etc/init.d/turbo-hipster
+++ /dev/null
@@ -1,158 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides: turbo-hipster-worker-server
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: turbo-hipster CI Worker
-# Description: Service to run extra CI tests
-### END INIT INFO
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="turbo-hipster CI Worker Server"
-NAME=turbo-hipster-worker-server
-DAEMON=/usr/local/bin/turbo-hipster
-PIDFILE=/var/run/$NAME/$NAME.pid
-DAEMON_ARGS="--background -c /etc/turbo-hipster/config.json -p $PIDFILE"
-SCRIPTNAME=/etc/init.d/$NAME
-USER=th
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-# Return
-# 0 if daemon has been started
-# 1 if daemon was already running
-# 2 if daemon could not be started
-
-mkdir -p /var/run/$NAME
-chown $USER /var/run/$NAME
-start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec $DAEMON --test > /dev/null \
-|| return 1
-start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec $DAEMON -- \
-$DAEMON_ARGS \
-|| return 2
-# Add code here, if necessary, that waits for the process to be ready
-# to handle requests from services started subsequently which depend
-# on this one. As a last resort, sleep for some time.
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-# Return
-# 0 if daemon has been stopped
-# 1 if daemon was already stopped
-# 2 if daemon could not be stopped
-# other if a failure occurred
-start-stop-daemon --stop --signal 9 --pidfile $PIDFILE
-RETVAL="$?"
-[ "$RETVAL" = 2 ] && return 2
-rm -f /var/run/$NAME/*
-return "$RETVAL"
-}
-
-#
-# Function that stops the daemon/service
-#
-#do_graceful_stop()
-#{
-# PID=`cat $PIDFILE`
-# kill -USR1 $PID
-#
-# # wait until really stopped
-# if [ -n "${PID:-}" ]; then
-# i=0
-# while kill -0 "${PID:-}" 2> /dev/null; do
-# if [ $i -eq '0' ]; then
-# echo -n " ... waiting "
-# else
-# echo -n "."
-# fi
-# i=$(($i+1))
-# sleep 1
-# done
-# fi
-#
-# rm -f /var/run/$NAME/*
-#}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-#do_reload() {
-# #
-# # If the daemon can reload its configuration without
-# # restarting (for example, when it is sent a SIGHUP),
-# # then implement that here.
-# #
-# start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name zuul-server
-# return 0
-#}
-
-case "$1" in
-  start)
-[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
-do_start
-case "$?" in
-0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-esac
-;;
-  stop)
-[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-do_stop
-case "$?" in
-0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-esac
-;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-# reload)
-# #
-# # If do_reload() is not implemented then leave this commented out
-# # and leave 'force-reload' as an alias for 'restart'.
-# #
-# log_daemon_msg "Reloading $DESC" "$NAME"
-# do_reload
-# log_end_msg $?
-# ;;
-  restart|force-reload)
-#
-# If the "reload" option is implemented then remove the
-# 'force-reload' alias
-#
-log_daemon_msg "Restarting $DESC" "$NAME"
-do_stop
-do_start
-;;
-  *)
-echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-exit 3
-;;
-esac
-
-:
\ No newline at end of file
diff --git a/etc/logrotate.d/mysql-server b/etc/logrotate.d/mysql-server
deleted file mode 100644
index 5f66109..0000000
--- a/etc/logrotate.d/mysql-server
+++ /dev/null
@@ -1,27 +0,0 @@
-# - I put everything in one block and added sharedscripts, so that mysql gets 
-#   flush-logs'd only once.
-#   Else the binary logs would automatically increase by n times every day.
-# - The error log is obsolete, messages go to syslog now.
-/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/error.log {
-        daily
-        rotate 7
-        missingok
-        create 644 mysql adm
-        compress
-        sharedscripts
-        postrotate
-                test -x /usr/bin/mysqladmin || exit 0
-                # If this fails, check debian.conf! 
-                MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
-                if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
-                  # Really no mysqld or rather a missing debian-sys-maint user?
-                  # If this occurs and is not a error please report a bug.
-                  #if ps cax | grep -q mysqld; then
-                  if killall -q -s0 -umysql mysqld; then
-                    exit 1
-                  fi 
-                else
-                  $MYADMIN flush-logs
-                fi
-        endscript
-}
\ No newline at end of file
diff --git a/etc/logrotate.d/rsyslog b/etc/logrotate.d/rsyslog
deleted file mode 100644
index 3d00952..0000000
--- a/etc/logrotate.d/rsyslog
+++ /dev/null
@@ -1,37 +0,0 @@
-/var/log/syslog
-{
-        rotate 7
-        daily
-        missingok
-        notifempty
-        delaycompress
-        compress
-        postrotate
-                reload rsyslog >/dev/null 2>&1 || true
-        endscript
-}
-
-/var/log/mail.info
-/var/log/mail.warn
-/var/log/mail.err
-/var/log/mail.log
-/var/log/daemon.log
-/var/log/kern.log
-/var/log/auth.log
-/var/log/user.log
-/var/log/lpr.log
-/var/log/cron.log
-/var/log/debug
-/var/log/messages
-{
-        rotate 4
-        weekly
-        missingok
-        notifempty
-        compress
-        delaycompress
-        sharedscripts
-        postrotate
-                reload rsyslog >/dev/null 2>&1 || true
-        endscript
-}
\ No newline at end of file
diff --git a/etc/mysql/my.cnf b/etc/mysql/my.cnf
deleted file mode 100644
index ce34161..0000000
--- a/etc/mysql/my.cnf
+++ /dev/null
@@ -1,127 +0,0 @@
-#
-# The MySQL database server configuration file.
-#
-# You can copy this to one of:
-# - "/etc/mysql/my.cnf" to set global options,
-# - "~/.my.cnf" to set user-specific options.
-# 
-# One can use all long options that the program supports.
-# Run program with --help to get a list of available options and with
-# --print-defaults to see which it would actually understand and use.
-#
-# For explanations see
-# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
-
-# This will be passed to all mysql clients
-# It has been reported that passwords should be enclosed with ticks/quotes
-# escpecially if they contain "#" chars...
-# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
-[client]
-port            = 3306
-socket          = /var/run/mysqld/mysqld.sock
-
-# Here is entries for some specific programs
-# The following values assume you have at least 32M ram
-
-# This was formally known as [safe_mysqld]. Both versions are currently parsed.
-[mysqld_safe]
-socket          = /var/run/mysqld/mysqld.sock
-nice            = 0
-
-[mysqld]
-#
-# * Basic Settings
-#
-user            = mysql
-pid-file        = /var/run/mysqld/mysqld.pid
-socket          = /var/run/mysqld/mysqld.sock
-port            = 3306
-basedir         = /usr
-datadir         = /var/lib/mysql
-tmpdir          = /tmp
-lc-messages-dir = /usr/share/mysql
-skip-external-locking
-#
-# Instead of skip-networking the default is now to listen only on
-# localhost which is more compatible and is not less secure.
-bind-address            = 0.0.0.0
-#
-# * Fine Tuning
-#
-key_buffer              = 16M
-max_allowed_packet      = 16M
-thread_stack            = 192K
-thread_cache_size       = 8
-# This replaces the startup script and checks MyISAM tables if needed
-# the first time they are touched
-myisam-recover         = BACKUP
-#max_connections        = 100
-#table_cache            = 64
-#thread_concurrency     = 10
-#
-# * Query Cache Configuration
-#
-query_cache_limit       = 1M
-query_cache_size        = 16M
-#
-# * Logging and Replication
-#
-# Both location gets rotated by the cronjob.
-# Be aware that this log type is a performance killer.
-# As of 5.1 you can enable the log at runtime!
-#general_log_file        = /var/log/mysql/mysql.log
-#general_log             = 1
-#
-# Error log - should be very few entries.
-#
-log_error = /var/log/mysql/error.log
-#
-# Here you can see queries with especially long duration
-#log_slow_queries       = /var/log/mysql/mysql-slow.log
-#long_query_time = 2
-#log-queries-not-using-indexes
-#
-# The following can be used as easy to replay backup logs or for replication.
-# note: if you are setting up a replication slave, see README.Debian about
-#       other settings you may need to change.
-#server-id              = 1
-#log_bin                        = /var/log/mysql/mysql-bin.log
-expire_logs_days        = 10
-max_binlog_size         = 100M
-#binlog_do_db           = include_database_name
-#binlog_ignore_db       = include_database_name
-#
-# * InnoDB
-#
-# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
-# Read the manual for more InnoDB related options. There are many!
-#
-# * Security Features
-#
-# Read the manual, too, if you want chroot!
-# chroot = /var/lib/mysql/
-#
-# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
-#
-# ssl-ca=/etc/mysql/cacert.pem
-# ssl-cert=/etc/mysql/server-cert.pem
-# ssl-key=/etc/mysql/server-key.pem
-
-
-
-[mysqldump]
-quick
-quote-names
-max_allowed_packet      = 16M
-
-[mysql]
-#no-auto-rehash # faster start of mysql but no tab completition
-
-[isamchk]
-key_buffer              = 16M
-
-#
-# * IMPORTANT: Additional settings that can override those from this file!
-#   The files must end with '.cnf', otherwise they'll be ignored.
-#
-!includedir /etc/mysql/conf.d/
diff --git a/etc/rc.local b/etc/rc.local
deleted file mode 100644
index db2b33a..0000000
--- a/etc/rc.local
+++ /dev/null
@@ -1,7 +0,0 @@
-ip netns add nonet
-ip link add veth0 type veth peer name veth1
-ifconfig veth0 172.16.0.1/24 up
-ip link set veth1 netns nonet
-ip netns exec nonet ifconfig veth1 172.16.0.2/24 up
-/sbin/iptables -A INPUT -p tcp --dport 3306 -i eth0 -j DROP
-/sbin/iptables -A INPUT -p tcp --dport 3306 -i eth1 -j DROP
diff --git a/etc/sudoers b/etc/sudoers
deleted file mode 100644
index 74e7a5c..0000000
--- a/etc/sudoers
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# This file MUST be edited with the 'visudo' command as root.
-#
-# Please consider adding local content in /etc/sudoers.d/ instead of
-# directly modifying this file.
-#
-# See the man page for details on how to write a sudoers file.
-#
-Defaults	env_reset
-Defaults	mail_badpass
-Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
-
-# Host alias specification
-
-# User alias specification
-
-# Cmnd alias specification
-
-# User privilege specification
-root	ALL=(ALL:ALL) ALL
-
-# Members of the admin group may gain root privileges
-%admin ALL=(ALL) ALL
-
-# Allow members of group sudo to execute any command
-%sudo	ALL=(ALL:ALL) ALL
-
-# Turbo Hipster
-th ALL=(root) NOPASSWD: /sbin/ip netns exec nonet *
-th ALL=(root) NOPASSWD: /usr/sbin/service mysql *
-
-# See sudoers(5) for more information on "#include" directives:
-
-#includedir /etc/sudoers.d
diff --git a/etc/turbo-hipster/config.yaml b/etc/turbo-hipster/config.yaml
deleted file mode 100644
index 9d57865..0000000
--- a/etc/turbo-hipster/config.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
-zuul_server:
-  gerrit_site: http://review.openstack.org
-  git_origin: https://git.openstack.org
-  gearman_host: 119.9.13.90
-  gearman_port: 4730
-
-debug_log: /var/log/turbo-hipster/debug.log
-jobs_working_dir: /var/lib/turbo-hipster/jobs
-git_working_dir: /var/lib/turbo-hipster/git
-pip_download_cache: /var/cache/pip
-
-plugins:
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_devstack_131007
-    function: build:real-db-upgrade_nova_mysql_devstack_131007
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_devstack_150
-    function: build:real-db-upgrade_nova_mysql_devstack_150
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_trivial_500
-    function: build:real-db-upgrade_nova_mysql_trivial_500
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_trivial_6000
-    function: build:real-db-upgrade_nova_mysql_trivial_6000
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_user_001
-    function: build:real-db-upgrade_nova_mysql_user_001
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_user_002
-    function: build:real-db-upgrade_nova_mysql_user_002
-
-publish_logs:
-  type: swift
-  authurl: https://identity.api.rackspacecloud.com/v2.0/
-  tenant: XXXX
-  user: XXXXXX
-  password: XXXXXX
-  container: XXXXXX
-  region: SYD
-  prepend_url: http://www.rcbops.com/turbo_hipster/results/
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 813008a..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-gear>=0.5.4,<1.0.0
-python-swiftclient
-python-keystoneclient
-
-lockfile
-python-daemon<2.0
-extras
-GitPython>=0.3.2.RC1
-# NOTE(tonyb) Pillow isn't directly needed but it's pulled in via
-# Collecting Pillow (from blockdiag>=1.5.0->sphinxcontrib-blockdiag>=0.5.5
-# So cap as per global-requirements until https://launchpad.net/bugs/1501995
-# is properly fixed
-Pillow>=2.4.0,<3.0.0 # MIT
-sphinxcontrib-programoutput
-sphinxcontrib-seqdiag
-
-mysql-python
-
-requests
-PyYAML>=3.1.0,<4.0.0
-
-jenkins-job-builder
-xmltodict
-python-magic
diff --git a/setup.cfg b/setup.cfg
deleted file mode 100644
index 906906c..0000000
--- a/setup.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-[metadata]
-name = turbo-hipster
-summary = A set of CI tools for openstack
-description-file = README.md
-author = Rackspace Australia
-author-email = joshua.hesketh@rackspace.com
-url = https://github.com/rcbau/turbo-hipster
-classifier =
-    Intended Audience :: Information Technology
-    Intended Audience :: System Administrators
-    License :: OSI Approved :: Apache Software License
-    Operating System :: POSIX :: Linux
-    Programming Language :: Python
-    Programming Language :: Python :: 2
-    Programming Language :: Python :: 2.7
-
-[files]
-packages =
-    turbo_hipster
-
-[pbr]
-warnerrors = True
-
-[entry_points]
-console_scripts =
-    turbo-hipster = turbo_hipster.cmd.server:main
-    turbo-hipster-analyse = turbo_hipster.cmd.analyse_historical:main
-    turbo-hipster-report = turbo_hipster.cmd.report_historical:main
-    turbo-hipster-queue-logger = turbo_hipster.cmd.queue_logger:main
-
-[build_sphinx]
-source-dir = doc/source
-build-dir = doc/build
-all_files = 1
diff --git a/setup.py b/setup.py
deleted file mode 100755
index 536855f..0000000
--- a/setup.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import setuptools
-
-setuptools.setup(setup_requires=['pbr'], pbr=True)
diff --git a/test-requirements.txt b/test-requirements.txt
deleted file mode 100644
index 1943ed8..0000000
--- a/test-requirements.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-hacking>=0.9.2,<0.10
-coverage>=3.6
-
-sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
-discover
-mock
-six
-unittest2
-python-subunit
-testrepository>=0.0.13
-testtools>=0.9.27
-test
diff --git a/tests/__init__.py b/tests/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tests/__init__.py
+++ /dev/null
diff --git a/tests/assets/20131007_devstack_export.log b/tests/assets/20131007_devstack_export.log
deleted file mode 100644
index 0d9790a..0000000
--- a/tests/assets/20131007_devstack_export.log
+++ /dev/null
@@ -1,867 +0,0 @@
-2013-11-21 22:22:00,378 [output] To execute this script manually, run this:
-2013-11-21 22:22:00,379 [output] /usr/local/lib/python2.7/dist-packages/turbo_hipster/task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh e0a387e790954342b8d410ac8f062164 /var/lib/turbo-hipster/jobs/56/56287/10/check/gate-real-db-upgrade_nova_mysql_devstack_20131007/e0a387e /var/lib/turbo-hipster/git/gate_real_db_upgrade-turbo-hipster-worker-0/openstack/nova nova tester nova_dataset_20131007_devstack /var/lib/turbo-hipster/datasets_devstack_20131007/20131007_devstack_export/nova.sql /var/lib/turbo-hipster/datasets_devstack_20131007/20131007_devstack_export/logging.conf /var/cache/pip
-2013-11-21 22:22:00,379 [output] Restoring test database nova_dataset_20131007_devstack
-2013-11-21 22:22:00,380 [output] + mysql -u nova --password=tester -e 'drop database nova_dataset_20131007_devstack'
-2013-11-21 22:22:01,562 [output] + mysql -u nova --password=tester -e 'create database nova_dataset_20131007_devstack'
-2013-11-21 22:22:01,596 [output] + mysql -u nova --password=tester nova_dataset_20131007_devstack
-2013-11-21 22:22:01,659 [output] /usr/local/lib/python2.7/dist-packages/turbo_hipster/task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh: line 89: //var/lib/turbo-hipster/datasets_devstack_20131007/20131007_devstack_export/nova.sql: Permission denied
-2013-11-21 22:22:01,660 [output] + set +x
-2013-11-21 22:22:01,660 [output] Build test environment
-2013-11-21 22:22:01,660 [output] Setting up virtual env
-2013-11-21 22:22:03,529 [output] New python executable in e0a387e790954342b8d410ac8f062164/bin/python
-2013-11-21 22:22:08,190 [output] Installing distribute...........................................................................................................................................................................................................................done.
-2013-11-21 22:22:10,446 [output] Installing pip................done.
-2013-11-21 22:22:10,984 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/bin/predeactivate
-2013-11-21 22:22:10,985 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/bin/postdeactivate
-2013-11-21 22:22:11,014 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/bin/preactivate
-2013-11-21 22:22:11,014 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/bin/postactivate
-2013-11-21 22:22:11,014 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/bin/get_env_details
-2013-11-21 22:22:13,614 [output] Enabled global site-packages
-2013-11-21 22:22:13,688 [output] ERROR 1146 (42S02) at line 1: Table 'nova_dataset_20131007_devstack.migrate_version' doesn't exist
-2013-11-21 22:22:13,690 [output] Schema version is 
-2013-11-21 22:22:13,725 [output] error: branch 'working' not found.
-2013-11-21 22:22:14,006 [output] Switched to a new branch 'working'
-2013-11-21 22:22:14,202 [output] Update database to current state of trunk
-2013-11-21 22:22:14,490 [output] Switched to branch 'master'
-2013-11-21 22:22:27,225 [output] Install pip requirements from requirements.txt
-2013-11-21 22:22:30,334 [heartbeat]
-2013-11-21 22:23:00,338 [heartbeat]
-2013-11-21 22:23:30,350 [heartbeat]
-2013-11-21 22:24:00,374 [heartbeat]
-2013-11-21 22:24:30,374 [heartbeat]
-2013-11-21 22:25:00,378 [heartbeat]
-2013-11-21 22:25:30,386 [heartbeat]
-2013-11-21 22:26:00,390 [heartbeat]
-2013-11-21 22:26:30,414 [heartbeat]
-2013-11-21 22:27:00,434 [heartbeat]
-2013-11-21 22:27:30,438 [heartbeat]
-2013-11-21 22:28:00,438 [heartbeat]
-2013-11-21 22:28:30,454 [heartbeat]
-2013-11-21 22:29:00,458 [heartbeat]
-2013-11-21 22:29:30,458 [heartbeat]
-2013-11-21 22:30:00,465 [heartbeat]
-2013-11-21 22:30:21,943 [output] Requirements installed
-2013-11-21 22:30:22,318 [output] ***** Start DB upgrade to state of trunk *****
-2013-11-21 22:30:27,278 [output] warning: no files found matching 'AUTHORS'
-2013-11-21 22:30:27,284 [output] warning: no files found matching 'ChangeLog'
-2013-11-21 22:30:27,430 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-11-21 22:30:27,477 [output] warning: no files found matching 'AUTHORS'
-2013-11-21 22:30:27,484 [output] warning: no files found matching 'ChangeLog'
-2013-11-21 22:30:27,502 [output] warning: no previously-included files found matching '.gitignore'
-2013-11-21 22:30:27,526 [output] warning: no previously-included files found matching '.gitreview'
-2013-11-21 22:30:27,554 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-11-21 22:30:29,394 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,394 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,395 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,396 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,397 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.4,!=0.1.5,!=0.1.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,397 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,397 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,397 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,406 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,406 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,422 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:30:29,430 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,430 [output] Requirement already satisfied (use --upgrade to upgrade): websockify>=0.5.1,<0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,430 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:30:29,430 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (from pbr>=0.5.21,<1.0)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Babel>=1.3)
-2013-11-21 22:30:29,431 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:30:29,432 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-11-21 22:30:29,433 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:30:29,433 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:30:29,433 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:30:29,433 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:30:29,433 [output] Cleaning up...
-2013-11-21 22:30:30,476 [heartbeat]
-2013-11-21 22:31:00,476 [heartbeat]
-2013-11-21 22:31:06,456 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/56/56287/10/check/gate-real-db-upgrade_nova_mysql_devstack_20131007/e0a387e/nova-trunk.conf db sync
-2013-11-21 22:31:17,190 [output] 132 -> 133... 
-2013-11-21 22:31:22,933 [output] done
-2013-11-21 22:31:22,933 [output] 133 -> 134... 
-2013-11-21 22:31:23,081 [output] done
-2013-11-21 22:31:23,081 [output] 134 -> 135... 
-2013-11-21 22:31:23,356 [output] done
-2013-11-21 22:31:23,356 [output] 135 -> 136... 
-2013-11-21 22:31:23,539 [output] done
-2013-11-21 22:31:23,539 [output] 136 -> 137... 
-2013-11-21 22:31:23,675 [output] done
-2013-11-21 22:31:23,675 [output] 137 -> 138... 
-2013-11-21 22:31:23,726 [output] done
-2013-11-21 22:31:23,726 [output] 138 -> 139... 
-2013-11-21 22:31:23,773 [output] done
-2013-11-21 22:31:23,773 [output] 139 -> 140... 
-2013-11-21 22:31:23,812 [output] done
-2013-11-21 22:31:23,812 [output] 140 -> 141... 
-2013-11-21 22:31:23,849 [output] done
-2013-11-21 22:31:23,849 [output] 141 -> 142... 
-2013-11-21 22:31:23,958 [output] done
-2013-11-21 22:31:23,958 [output] 142 -> 143... 
-2013-11-21 22:31:24,070 [output] done
-2013-11-21 22:31:24,070 [output] 143 -> 144... 
-2013-11-21 22:31:24,230 [output] done
-2013-11-21 22:31:24,231 [output] 144 -> 145... 
-2013-11-21 22:31:24,298 [output] done
-2013-11-21 22:31:24,298 [output] 145 -> 146... 
-2013-11-21 22:31:24,361 [output] done
-2013-11-21 22:31:24,361 [output] 146 -> 147... 
-2013-11-21 22:31:24,462 [output] done
-2013-11-21 22:31:24,462 [output] 147 -> 148... 
-2013-11-21 22:31:24,658 [output] done
-2013-11-21 22:31:24,658 [output] 148 -> 149... 
-2013-11-21 22:31:25,562 [output] done
-2013-11-21 22:31:25,562 [output] 149 -> 150... 
-2013-11-21 22:31:25,706 [output] done
-2013-11-21 22:31:25,706 [output] 150 -> 151... 
-2013-11-21 22:31:25,811 [output] done
-2013-11-21 22:31:25,811 [output] 151 -> 152... 
-2013-11-21 22:31:30,477 [heartbeat]
-2013-11-21 22:31:31,142 [output] done
-2013-11-21 22:31:31,142 [output] 152 -> 153... 
-2013-11-21 22:31:31,190 [output] done
-2013-11-21 22:31:31,190 [output] 153 -> 154... 
-2013-11-21 22:31:32,916 [output] done
-2013-11-21 22:31:32,916 [output] 154 -> 155... 
-2013-11-21 22:31:33,051 [output] done
-2013-11-21 22:31:33,051 [output] 155 -> 156... 
-2013-11-21 22:31:33,157 [output] done
-2013-11-21 22:31:33,157 [output] 156 -> 157... 
-2013-11-21 22:31:33,226 [output] done
-2013-11-21 22:31:33,226 [output] 157 -> 158... 
-2013-11-21 22:31:33,318 [output] done
-2013-11-21 22:31:33,326 [output] 158 -> 159... 
-2013-11-21 22:31:33,975 [output] done
-2013-11-21 22:31:33,975 [output] 159 -> 160... 
-2013-11-21 22:31:34,002 [output] done
-2013-11-21 22:31:34,002 [output] 160 -> 161... 
-2013-11-21 22:31:34,034 [output] done
-2013-11-21 22:31:34,034 [output] 161 -> 162... 
-2013-11-21 22:31:34,070 [output] done
-2013-11-21 22:31:34,070 [output] 162 -> 163... 
-2013-11-21 22:31:34,072 [output] done
-2013-11-21 22:31:34,072 [output] 163 -> 164... 
-2013-11-21 22:31:34,077 [output] done
-2013-11-21 22:31:34,077 [output] 164 -> 165... 
-2013-11-21 22:31:34,085 [output] done
-2013-11-21 22:31:34,085 [output] 165 -> 166... 
-2013-11-21 22:31:34,091 [output] done
-2013-11-21 22:31:34,091 [output] 166 -> 167... 
-2013-11-21 22:31:34,094 [output] done
-2013-11-21 22:31:34,094 [output] 167 -> 168... 
-2013-11-21 22:31:34,120 [output] done
-2013-11-21 22:31:34,143 [output] 168 -> 169... 
-2013-11-21 22:31:34,143 [output] done
-2013-11-21 22:31:34,143 [output] 169 -> 170... 
-2013-11-21 22:31:34,144 [output] done
-2013-11-21 22:31:34,144 [output] 170 -> 171... 
-2013-11-21 22:31:34,162 [output] done
-2013-11-21 22:31:34,163 [output] 171 -> 172... 
-2013-11-21 22:31:34,329 [output] done
-2013-11-21 22:31:34,329 [output] 172 -> 173... 
-2013-11-21 22:31:34,411 [output] done
-2013-11-21 22:31:34,412 [output] 173 -> 174... 
-2013-11-21 22:31:34,530 [output] done
-2013-11-21 22:31:34,530 [output] 174 -> 175... 
-2013-11-21 22:31:34,693 [output] done
-2013-11-21 22:31:34,694 [output] 175 -> 176... 
-2013-11-21 22:31:34,733 [output] done
-2013-11-21 22:31:34,734 [output] 176 -> 177... 
-2013-11-21 22:31:34,822 [output] done
-2013-11-21 22:31:34,823 [output] 177 -> 178... 
-2013-11-21 22:31:34,915 [output] done
-2013-11-21 22:31:34,916 [output] 178 -> 179... 
-2013-11-21 22:31:35,116 [output] done
-2013-11-21 22:31:35,116 [output] 179 -> 180... 
-2013-11-21 22:31:35,278 [output] done
-2013-11-21 22:31:35,278 [output] 180 -> 181... 
-2013-11-21 22:31:35,403 [output] done
-2013-11-21 22:31:35,404 [output] 181 -> 182... 
-2013-11-21 22:31:35,514 [output] done
-2013-11-21 22:31:35,514 [output] 182 -> 183... 
-2013-11-21 22:31:35,596 [output] done
-2013-11-21 22:31:35,596 [output] 183 -> 184... 
-2013-11-21 22:31:36,314 [output] done
-2013-11-21 22:31:36,314 [output] 184 -> 185... 
-2013-11-21 22:31:37,422 [output] done
-2013-11-21 22:31:37,423 [output] 185 -> 186... 
-2013-11-21 22:31:38,346 [output] done
-2013-11-21 22:31:38,346 [output] 186 -> 187... 
-2013-11-21 22:31:38,786 [output] done
-2013-11-21 22:31:38,786 [output] 187 -> 188... 
-2013-11-21 22:31:38,857 [output] done
-2013-11-21 22:31:38,858 [output] 188 -> 189... 
-2013-11-21 22:31:38,995 [output] done
-2013-11-21 22:31:38,995 [output] 189 -> 190... 
-2013-11-21 22:31:39,062 [output] done
-2013-11-21 22:31:39,062 [output] 190 -> 191... 
-2013-11-21 22:31:39,151 [output] done
-2013-11-21 22:31:39,151 [output] 191 -> 192... 
-2013-11-21 22:31:39,366 [output] done
-2013-11-21 22:31:39,367 [output] 192 -> 193... 
-2013-11-21 22:31:39,616 [output] done
-2013-11-21 22:31:39,617 [output] 193 -> 194... 
-2013-11-21 22:31:40,814 [output] done
-2013-11-21 22:31:40,814 [output] 194 -> 195... 
-2013-11-21 22:31:40,946 [output] done
-2013-11-21 22:31:40,946 [output] 195 -> 196... 
-2013-11-21 22:31:41,050 [output] done
-2013-11-21 22:31:41,051 [output] 196 -> 197... 
-2013-11-21 22:31:41,143 [output] done
-2013-11-21 22:31:41,144 [output] 197 -> 198... 
-2013-11-21 22:31:41,239 [output] done
-2013-11-21 22:31:41,240 [output] 198 -> 199... 
-2013-11-21 22:31:41,314 [output] done
-2013-11-21 22:31:41,314 [output] 199 -> 200... 
-2013-11-21 22:31:41,728 [output] done
-2013-11-21 22:31:41,728 [output] 200 -> 201... 
-2013-11-21 22:31:41,742 [output] done
-2013-11-21 22:31:41,742 [output] 201 -> 202... 
-2013-11-21 22:31:41,823 [output] done
-2013-11-21 22:31:41,823 [output] 202 -> 203... 
-2013-11-21 22:31:42,202 [output] done
-2013-11-21 22:31:42,202 [output] 203 -> 204... 
-2013-11-21 22:31:42,294 [output] done
-2013-11-21 22:31:42,310 [output] 204 -> 205... 
-2013-11-21 22:31:42,393 [output] done
-2013-11-21 22:31:42,394 [output] 205 -> 206... 
-2013-11-21 22:31:42,574 [output] done
-2013-11-21 22:31:42,574 [output] 206 -> 207... 
-2013-11-21 22:31:42,756 [output] done
-2013-11-21 22:31:42,757 [output] 207 -> 208... 
-2013-11-21 22:31:42,934 [output] done
-2013-11-21 22:31:42,934 [output] 208 -> 209... 
-2013-11-21 22:31:43,514 [output] done
-2013-11-21 22:31:43,515 [output] 209 -> 210... 
-2013-11-21 22:31:43,624 [output] done
-2013-11-21 22:31:43,624 [output] 210 -> 211... 
-2013-11-21 22:31:43,717 [output] done
-2013-11-21 22:31:43,717 [output] 211 -> 212... 
-2013-11-21 22:31:43,832 [output] done
-2013-11-21 22:31:43,832 [output] 212 -> 213... 
-2013-11-21 22:31:44,066 [output] done
-2013-11-21 22:31:44,066 [output] 213 -> 214... 
-2013-11-21 22:31:44,242 [output] done
-2013-11-21 22:31:44,242 [output] 214 -> 215... 
-2013-11-21 22:31:44,244 [output] done
-2013-11-21 22:31:44,245 [output] 215 -> 216... 
-2013-11-21 22:31:44,321 [output] done
-2013-11-21 22:31:44,321 [output] 216 -> 217... 
-2013-11-21 22:31:44,333 [output] done
-2013-11-21 22:31:44,333 [output] 217 -> 218... 
-2013-11-21 22:31:44,341 [output] done
-2013-11-21 22:31:44,342 [output] 218 -> 219... 
-2013-11-21 22:31:44,350 [output] done
-2013-11-21 22:31:44,350 [output] 219 -> 220... 
-2013-11-21 22:31:44,367 [output] done
-2013-11-21 22:31:44,367 [output] 220 -> 221... 
-2013-11-21 22:31:44,390 [output] done
-2013-11-21 22:31:44,390 [output] 221 -> 222... 
-2013-11-21 22:31:44,410 [output] done
-2013-11-21 22:31:44,410 [output] 222 -> 223... 
-2013-11-21 22:31:44,416 [output] done
-2013-11-21 22:31:44,416 [output] 223 -> 224... 
-2013-11-21 22:31:44,429 [output] done
-2013-11-21 22:31:44,429 [output] 224 -> 225... 
-2013-11-21 22:31:44,474 [output] done
-2013-11-21 22:31:44,474 [output] 225 -> 226... 
-2013-11-21 22:31:44,530 [output] done
-2013-11-21 22:31:44,531 [output] 226 -> 227... 
-2013-11-21 22:31:44,533 [output] done
-2013-11-21 22:31:44,533 [output] 227 -> 228... 
-2013-11-21 22:31:44,631 [output] done
-2013-11-21 22:31:45,743 [output] + set +x
-2013-11-21 22:31:45,745 [output] ***** Finished DB upgrade to state of trunk *****
-2013-11-21 22:31:48,002 [output] Switched to branch 'working'
-2013-11-21 22:31:48,023 [output] Now test the patchset
-2013-11-21 22:31:48,854 [output] Install pip requirements from requirements.txt
-2013-11-21 22:31:49,174 [output] Requirements installed
-2013-11-21 22:31:50,658 [output] ***** Start DB upgrade to state of patchset *****
-2013-11-21 22:31:54,659 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,659 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,659 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,659 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,659 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,660 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,690 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,690 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,690 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,690 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.4,!=0.1.5,!=0.1.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,691 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): websockify>=0.5.1,<0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,692 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (from pbr>=0.5.21,<1.0)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:31:54,693 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Babel>=1.3)
-2013-11-21 22:31:54,694 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:31:54,694 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:31:54,699 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-11-21 22:31:54,700 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:31:54,700 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:31:54,700 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:31:54,700 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:31:54,700 [output] Cleaning up...
-2013-11-21 22:31:55,743 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/56/56287/10/check/gate-real-db-upgrade_nova_mysql_devstack_20131007/e0a387e/nova-patchset.conf db sync
-2013-11-21 22:31:58,186 [output] + set +x
-2013-11-21 22:31:58,186 [output] ***** Finished DB upgrade to state of patchset *****
-2013-11-21 22:31:58,974 [output] Schema version is 228
-2013-11-21 22:31:58,974 [output] Now downgrade all the way back to Folsom
-2013-11-21 22:31:59,906 [output] ***** Start DB upgrade to state of patchset *****
-2013-11-21 22:32:00,483 [heartbeat]
-2013-11-21 22:32:03,111 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,111 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,112 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,113 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,114 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,114 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.4,!=0.1.5,!=0.1.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,114 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,114 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,114 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,117 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): websockify>=0.5.1,<0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (from pbr>=0.5.21,<1.0)
-2013-11-21 22:32:03,118 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Babel>=1.3)
-2013-11-21 22:32:03,119 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:32:03,120 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-11-21 22:32:03,149 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:03,149 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:03,149 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:32:03,149 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:32:03,149 [output] Cleaning up...
-2013-11-21 22:32:04,541 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/56/56287/10/check/gate-real-db-upgrade_nova_mysql_devstack_20131007/e0a387e/nova-patchset.conf db sync --version 133
-2013-11-21 22:32:07,648 [output] 228 -> 227... 
-2013-11-21 22:32:07,798 [output] done
-2013-11-21 22:32:07,798 [output] 227 -> 226... 
-2013-11-21 22:32:07,799 [output] done
-2013-11-21 22:32:07,799 [output] 226 -> 225... 
-2013-11-21 22:32:07,799 [output] done
-2013-11-21 22:32:07,799 [output] 225 -> 224... 
-2013-11-21 22:32:07,799 [output] done
-2013-11-21 22:32:07,799 [output] 224 -> 223... 
-2013-11-21 22:32:07,802 [output] done
-2013-11-21 22:32:07,802 [output] 223 -> 222... 
-2013-11-21 22:32:07,807 [output] done
-2013-11-21 22:32:07,807 [output] 222 -> 221... 
-2013-11-21 22:32:07,841 [output] done
-2013-11-21 22:32:07,841 [output] 221 -> 220... 
-2013-11-21 22:32:07,841 [output] done
-2013-11-21 22:32:07,841 [output] 220 -> 219... 
-2013-11-21 22:32:07,841 [output] done
-2013-11-21 22:32:07,842 [output] 219 -> 218... 
-2013-11-21 22:32:07,842 [output] done
-2013-11-21 22:32:07,842 [output] 218 -> 217... 
-2013-11-21 22:32:07,842 [output] done
-2013-11-21 22:32:07,842 [output] 217 -> 216... 
-2013-11-21 22:32:07,843 [output] done
-2013-11-21 22:32:07,843 [output] 216 -> 215... 
-2013-11-21 22:32:07,852 [output] done
-2013-11-21 22:32:07,852 [output] 215 -> 214... 
-2013-11-21 22:32:07,878 [output] done
-2013-11-21 22:32:07,878 [output] 214 -> 213... 
-2013-11-21 22:32:08,487 [output] done
-2013-11-21 22:32:08,487 [output] 213 -> 212... 
-2013-11-21 22:32:08,607 [output] done
-2013-11-21 22:32:08,607 [output] 212 -> 211... 
-2013-11-21 22:32:08,743 [output] done
-2013-11-21 22:32:08,744 [output] 211 -> 210... 
-2013-11-21 22:32:08,838 [output] done
-2013-11-21 22:32:08,838 [output] 210 -> 209... 
-2013-11-21 22:32:08,994 [output] done
-2013-11-21 22:32:08,995 [output] 209 -> 208... 
-2013-11-21 22:32:09,322 [output] done
-2013-11-21 22:32:09,323 [output] 208 -> 207... 
-2013-11-21 22:32:09,510 [output] done
-2013-11-21 22:32:09,510 [output] 207 -> 206... 
-2013-11-21 22:32:09,603 [output] done
-2013-11-21 22:32:09,603 [output] 206 -> 205... 
-2013-11-21 22:32:09,830 [output] done
-2013-11-21 22:32:09,831 [output] 205 -> 204... 
-2013-11-21 22:32:09,930 [output] done
-2013-11-21 22:32:09,930 [output] 204 -> 203... 
-2013-11-21 22:32:09,990 [output] done
-2013-11-21 22:32:09,990 [output] 203 -> 202... 
-2013-11-21 22:32:10,199 [output] done
-2013-11-21 22:32:10,200 [output] 202 -> 201... 
-2013-11-21 22:32:10,282 [output] done
-2013-11-21 22:32:10,282 [output] 201 -> 200... 
-2013-11-21 22:32:10,302 [output] done
-2013-11-21 22:32:10,303 [output] 200 -> 199... 
-2013-11-21 22:32:10,630 [output] done
-2013-11-21 22:32:10,631 [output] 199 -> 198... 
-2013-11-21 22:32:10,734 [output] done
-2013-11-21 22:32:10,734 [output] 198 -> 197... 
-2013-11-21 22:32:10,845 [output] done
-2013-11-21 22:32:10,845 [output] 197 -> 196... 
-2013-11-21 22:32:10,905 [output] done
-2013-11-21 22:32:10,905 [output] 196 -> 195... 
-2013-11-21 22:32:10,982 [output] done
-2013-11-21 22:32:10,982 [output] 195 -> 194... 
-2013-11-21 22:32:11,127 [output] done
-2013-11-21 22:32:11,128 [output] 194 -> 193... 
-2013-11-21 22:32:12,270 [output] done
-2013-11-21 22:32:12,270 [output] 193 -> 192... 
-2013-11-21 22:32:12,803 [output] done
-2013-11-21 22:32:12,804 [output] 192 -> 191... 
-2013-11-21 22:32:13,358 [output] done
-2013-11-21 22:32:13,358 [output] 191 -> 190... 
-2013-11-21 22:32:13,406 [output] done
-2013-11-21 22:32:13,406 [output] 190 -> 189... 
-2013-11-21 22:32:13,478 [output] done
-2013-11-21 22:32:13,478 [output] 189 -> 188... 
-2013-11-21 22:32:13,550 [output] done
-2013-11-21 22:32:13,550 [output] 188 -> 187... 
-2013-11-21 22:32:13,722 [output] done
-2013-11-21 22:32:13,723 [output] 187 -> 186... 
-2013-11-21 22:32:13,918 [output] done
-2013-11-21 22:32:13,918 [output] 186 -> 185... 
-2013-11-21 22:32:14,754 [output] done
-2013-11-21 22:32:14,755 [output] 185 -> 184... 
-2013-11-21 22:32:16,059 [output] done
-2013-11-21 22:32:16,059 [output] 184 -> 183... 
-2013-11-21 22:32:17,230 [output] done
-2013-11-21 22:32:17,230 [output] 183 -> 182... 
-2013-11-21 22:32:17,274 [output] done
-2013-11-21 22:32:17,274 [output] 182 -> 181... 
-2013-11-21 22:32:17,495 [output] done
-2013-11-21 22:32:17,495 [output] 181 -> 180... 
-2013-11-21 22:32:17,687 [output] done
-2013-11-21 22:32:17,687 [output] 180 -> 179... 
-2013-11-21 22:32:17,814 [output] done
-2013-11-21 22:32:17,814 [output] 179 -> 178... 
-2013-11-21 22:32:17,910 [output] done
-2013-11-21 22:32:17,910 [output] 178 -> 177... 
-2013-11-21 22:32:17,989 [output] done
-2013-11-21 22:32:17,990 [output] 177 -> 176... 
-2013-11-21 22:32:18,094 [output] done
-2013-11-21 22:32:18,094 [output] 176 -> 175... 
-2013-11-21 22:32:18,178 [output] done
-2013-11-21 22:32:18,179 [output] 175 -> 174... 
-2013-11-21 22:32:18,322 [output] done
-2013-11-21 22:32:18,323 [output] 174 -> 173... 
-2013-11-21 22:32:18,398 [output] done
-2013-11-21 22:32:18,398 [output] 173 -> 172... 
-2013-11-21 22:32:18,551 [output] done
-2013-11-21 22:32:18,551 [output] 172 -> 171... 
-2013-11-21 22:32:18,689 [output] done
-2013-11-21 22:32:18,689 [output] 171 -> 170... 
-2013-11-21 22:32:18,718 [output] done
-2013-11-21 22:32:18,719 [output] 170 -> 169... 
-2013-11-21 22:32:18,778 [output] done
-2013-11-21 22:32:18,778 [output] 169 -> 168... 
-2013-11-21 22:32:18,814 [output] done
-2013-11-21 22:32:18,814 [output] 168 -> 167... 
-2013-11-21 22:32:18,821 [output] done
-2013-11-21 22:32:18,821 [output] 167 -> 166... 
-2013-11-21 22:32:18,838 [output] done
-2013-11-21 22:32:18,838 [output] 166 -> 165... 
-2013-11-21 22:32:18,855 [output] done
-2013-11-21 22:32:18,855 [output] 165 -> 164... 
-2013-11-21 22:32:18,890 [output] done
-2013-11-21 22:32:18,891 [output] 164 -> 163... 
-2013-11-21 22:32:18,895 [output] done
-2013-11-21 22:32:18,896 [output] 163 -> 162... 
-2013-11-21 22:32:18,934 [output] done
-2013-11-21 22:32:18,934 [output] 162 -> 161... 
-2013-11-21 22:32:18,954 [output] done
-2013-11-21 22:32:18,955 [output] 161 -> 160... 
-2013-11-21 22:32:19,008 [output] done
-2013-11-21 22:32:19,009 [output] 160 -> 159... 
-2013-11-21 22:32:19,062 [output] done
-2013-11-21 22:32:19,062 [output] 159 -> 158... 
-2013-11-21 22:32:19,984 [output] done
-2013-11-21 22:32:19,984 [output] 158 -> 157... 
-2013-11-21 22:32:20,157 [output] done
-2013-11-21 22:32:20,158 [output] 157 -> 156... 
-2013-11-21 22:32:20,186 [output] done
-2013-11-21 22:32:20,188 [output] 156 -> 155... 
-2013-11-21 22:32:20,350 [output] done
-2013-11-21 22:32:20,350 [output] 155 -> 154... 
-2013-11-21 22:32:20,395 [output] done
-2013-11-21 22:32:20,396 [output] 154 -> 153... 
-2013-11-21 22:32:21,790 [output] done
-2013-11-21 22:32:21,790 [output] 153 -> 152... 
-2013-11-21 22:32:21,792 [output] done
-2013-11-21 22:32:21,792 [output] 152 -> 151... 
-2013-11-21 22:32:30,486 [heartbeat]
-2013-11-21 22:32:32,628 [output] done
-2013-11-21 22:32:32,629 [output] 151 -> 150... 
-2013-11-21 22:32:32,867 [output] done
-2013-11-21 22:32:32,868 [output] 150 -> 149... 
-2013-11-21 22:32:32,912 [output] done
-2013-11-21 22:32:32,912 [output] 149 -> 148... 
-2013-11-21 22:32:34,030 [output] done
-2013-11-21 22:32:34,031 [output] 148 -> 147... 
-2013-11-21 22:32:34,114 [output] done
-2013-11-21 22:32:34,114 [output] 147 -> 146... 
-2013-11-21 22:32:34,207 [output] done
-2013-11-21 22:32:34,207 [output] 146 -> 145... 
-2013-11-21 22:32:34,281 [output] done
-2013-11-21 22:32:34,281 [output] 145 -> 144... 
-2013-11-21 22:32:34,303 [output] done
-2013-11-21 22:32:34,303 [output] 144 -> 143... 
-2013-11-21 22:32:34,516 [output] done
-2013-11-21 22:32:34,516 [output] 143 -> 142... 
-2013-11-21 22:32:34,671 [output] done
-2013-11-21 22:32:34,671 [output] 142 -> 141... 
-2013-11-21 22:32:34,738 [output] done
-2013-11-21 22:32:34,739 [output] 141 -> 140... 
-2013-11-21 22:32:34,767 [output] done
-2013-11-21 22:32:34,767 [output] 140 -> 139... 
-2013-11-21 22:32:34,772 [output] done
-2013-11-21 22:32:34,772 [output] 139 -> 138... 
-2013-11-21 22:32:34,886 [output] done
-2013-11-21 22:32:34,886 [output] 138 -> 137... 
-2013-11-21 22:32:34,928 [output] done
-2013-11-21 22:32:34,928 [output] 137 -> 136... 
-2013-11-21 22:32:34,965 [output] done
-2013-11-21 22:32:34,965 [output] 136 -> 135... 
-2013-11-21 22:32:34,998 [output] done
-2013-11-21 22:32:34,998 [output] 135 -> 134... 
-2013-11-21 22:32:35,102 [output] done
-2013-11-21 22:32:35,102 [output] 134 -> 133... 
-2013-11-21 22:32:35,222 [output] done
-2013-11-21 22:32:35,870 [output] + set +x
-2013-11-21 22:32:35,870 [output] ***** Finished DB upgrade to state of patchset *****
-2013-11-21 22:32:35,910 [output] Schema version is 133
-2013-11-21 22:32:35,910 [output] And now back up to head from Folsom
-2013-11-21 22:32:36,942 [output] ***** Start DB upgrade to state of patchset *****
-2013-11-21 22:32:41,040 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,041 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,041 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,042 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,042 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,042 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,042 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,043 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.4,!=0.1.5,!=0.1.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,044 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,045 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,045 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,045 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,045 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,045 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-11-21 22:32:41,046 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,046 [output] Requirement already satisfied (use --upgrade to upgrade): websockify>=0.5.1,<0.6 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,046 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages
-2013-11-21 22:32:41,070 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (from pbr>=0.5.21,<1.0)
-2013-11-21 22:32:41,070 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-11-21 22:32:41,070 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from Babel>=1.3)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:41,071 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-11-21 22:32:41,072 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:41,072 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:41,072 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:32:41,072 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-11-21 22:32:41,072 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-11-21 22:32:41,073 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:41,073 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-11-21 22:32:41,073 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:32:41,073 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/e0a387e790954342b8d410ac8f062164/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-11-21 22:32:41,073 [output] Cleaning up...
-2013-11-21 22:32:42,123 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/56/56287/10/check/gate-real-db-upgrade_nova_mysql_devstack_20131007/e0a387e/nova-patchset.conf db sync
-2013-11-21 22:32:43,902 [output] 133 -> 134... 
-2013-11-21 22:32:44,039 [output] done
-2013-11-21 22:32:44,039 [output] 134 -> 135... 
-2013-11-21 22:32:44,146 [output] done
-2013-11-21 22:32:44,146 [output] 135 -> 136... 
-2013-11-21 22:32:44,239 [output] done
-2013-11-21 22:32:44,240 [output] 136 -> 137... 
-2013-11-21 22:32:44,298 [output] done
-2013-11-21 22:32:44,298 [output] 137 -> 138... 
-2013-11-21 22:32:44,378 [output] done
-2013-11-21 22:32:44,378 [output] 138 -> 139... 
-2013-11-21 22:32:44,478 [output] done
-2013-11-21 22:32:44,479 [output] 139 -> 140... 
-2013-11-21 22:32:44,499 [output] done
-2013-11-21 22:32:44,499 [output] 140 -> 141... 
-2013-11-21 22:32:44,566 [output] done
-2013-11-21 22:32:44,566 [output] 141 -> 142... 
-2013-11-21 22:32:44,623 [output] done
-2013-11-21 22:32:44,624 [output] 142 -> 143... 
-2013-11-21 22:32:44,731 [output] done
-2013-11-21 22:32:44,731 [output] 143 -> 144... 
-2013-11-21 22:32:44,888 [output] done
-2013-11-21 22:32:44,889 [output] 144 -> 145... 
-2013-11-21 22:32:44,946 [output] done
-2013-11-21 22:32:44,947 [output] 145 -> 146... 
-2013-11-21 22:32:45,006 [output] done
-2013-11-21 22:32:45,006 [output] 146 -> 147... 
-2013-11-21 22:32:45,070 [output] done
-2013-11-21 22:32:45,070 [output] 147 -> 148... 
-2013-11-21 22:32:45,245 [output] done
-2013-11-21 22:32:45,245 [output] 148 -> 149... 
-2013-11-21 22:32:45,909 [output] done
-2013-11-21 22:32:45,909 [output] 149 -> 150... 
-2013-11-21 22:32:46,046 [output] done
-2013-11-21 22:32:46,046 [output] 150 -> 151... 
-2013-11-21 22:32:46,129 [output] done
-2013-11-21 22:32:46,129 [output] 151 -> 152... 
-2013-11-21 22:32:51,484 [output] done
-2013-11-21 22:32:51,484 [output] 152 -> 153... 
-2013-11-21 22:32:51,526 [output] done
-2013-11-21 22:32:51,526 [output] 153 -> 154... 
-2013-11-21 22:32:53,696 [output] done
-2013-11-21 22:32:53,697 [output] 154 -> 155... 
-2013-11-21 22:32:53,838 [output] done
-2013-11-21 22:32:53,838 [output] 155 -> 156... 
-2013-11-21 22:32:54,053 [output] done
-2013-11-21 22:32:54,053 [output] 156 -> 157... 
-2013-11-21 22:32:54,175 [output] done
-2013-11-21 22:32:54,176 [output] 157 -> 158... 
-2013-11-21 22:32:54,280 [output] done
-2013-11-21 22:32:54,280 [output] 158 -> 159... 
-2013-11-21 22:32:54,780 [output] done
-2013-11-21 22:32:54,781 [output] 159 -> 160... 
-2013-11-21 22:32:54,806 [output] done
-2013-11-21 22:32:54,807 [output] 160 -> 161... 
-2013-11-21 22:32:54,815 [output] done
-2013-11-21 22:32:54,815 [output] 161 -> 162... 
-2013-11-21 22:32:54,840 [output] done
-2013-11-21 22:32:54,840 [output] 162 -> 163... 
-2013-11-21 22:32:54,840 [output] done
-2013-11-21 22:32:54,840 [output] 163 -> 164... 
-2013-11-21 22:32:54,840 [output] done
-2013-11-21 22:32:54,840 [output] 164 -> 165... 
-2013-11-21 22:32:54,841 [output] done
-2013-11-21 22:32:54,841 [output] 165 -> 166... 
-2013-11-21 22:32:54,841 [output] done
-2013-11-21 22:32:54,841 [output] 166 -> 167... 
-2013-11-21 22:32:54,858 [output] done
-2013-11-21 22:32:54,858 [output] 167 -> 168... 
-2013-11-21 22:32:54,858 [output] done
-2013-11-21 22:32:54,859 [output] 168 -> 169... 
-2013-11-21 22:32:54,863 [output] done
-2013-11-21 22:32:54,863 [output] 169 -> 170... 
-2013-11-21 22:32:54,885 [output] done
-2013-11-21 22:32:54,885 [output] 170 -> 171... 
-2013-11-21 22:32:54,890 [output] done
-2013-11-21 22:32:54,890 [output] 171 -> 172... 
-2013-11-21 22:32:55,062 [output] done
-2013-11-21 22:32:55,062 [output] 172 -> 173... 
-2013-11-21 22:32:55,151 [output] done
-2013-11-21 22:32:55,151 [output] 173 -> 174... 
-2013-11-21 22:32:55,214 [output] done
-2013-11-21 22:32:55,214 [output] 174 -> 175... 
-2013-11-21 22:32:55,374 [output] done
-2013-11-21 22:32:55,375 [output] 175 -> 176... 
-2013-11-21 22:32:55,410 [output] done
-2013-11-21 22:32:55,410 [output] 176 -> 177... 
-2013-11-21 22:32:55,478 [output] done
-2013-11-21 22:32:55,478 [output] 177 -> 178... 
-2013-11-21 22:32:55,552 [output] done
-2013-11-21 22:32:55,552 [output] 178 -> 179... 
-2013-11-21 22:32:55,676 [output] done
-2013-11-21 22:32:55,677 [output] 179 -> 180... 
-2013-11-21 22:32:55,775 [output] done
-2013-11-21 22:32:55,775 [output] 180 -> 181... 
-2013-11-21 22:32:55,922 [output] done
-2013-11-21 22:32:55,922 [output] 181 -> 182... 
-2013-11-21 22:32:56,065 [output] done
-2013-11-21 22:32:56,065 [output] 182 -> 183... 
-2013-11-21 22:32:56,090 [output] done
-2013-11-21 22:32:56,091 [output] 183 -> 184... 
-2013-11-21 22:32:56,586 [output] done
-2013-11-21 22:32:56,586 [output] 184 -> 185... 
-2013-11-21 22:32:57,642 [output] done
-2013-11-21 22:32:57,643 [output] 185 -> 186... 
-2013-11-21 22:32:58,165 [output] done
-2013-11-21 22:32:58,165 [output] 186 -> 187... 
-2013-11-21 22:32:58,642 [output] done
-2013-11-21 22:32:58,642 [output] 187 -> 188... 
-2013-11-21 22:32:58,750 [output] done
-2013-11-21 22:32:58,751 [output] 188 -> 189... 
-2013-11-21 22:32:58,826 [output] done
-2013-11-21 22:32:58,827 [output] 189 -> 190... 
-2013-11-21 22:32:58,870 [output] done
-2013-11-21 22:32:58,871 [output] 190 -> 191... 
-2013-11-21 22:32:58,905 [output] done
-2013-11-21 22:32:58,905 [output] 191 -> 192... 
-2013-11-21 22:32:59,057 [output] done
-2013-11-21 22:32:59,057 [output] 192 -> 193... 
-2013-11-21 22:32:59,470 [output] done
-2013-11-21 22:32:59,470 [output] 193 -> 194... 
-2013-11-21 22:33:00,490 [heartbeat]
-2013-11-21 22:33:01,050 [output] done
-2013-11-21 22:33:01,051 [output] 194 -> 195... 
-2013-11-21 22:33:01,162 [output] done
-2013-11-21 22:33:01,162 [output] 195 -> 196... 
-2013-11-21 22:33:01,300 [output] done
-2013-11-21 22:33:01,300 [output] 196 -> 197... 
-2013-11-21 22:33:01,385 [output] done
-2013-11-21 22:33:01,385 [output] 197 -> 198... 
-2013-11-21 22:33:01,486 [output] done
-2013-11-21 22:33:01,486 [output] 198 -> 199... 
-2013-11-21 22:33:01,558 [output] done
-2013-11-21 22:33:01,558 [output] 199 -> 200... 
-2013-11-21 22:33:02,049 [output] done
-2013-11-21 22:33:02,049 [output] 200 -> 201... 
-2013-11-21 22:33:02,073 [output] done
-2013-11-21 22:33:02,074 [output] 201 -> 202... 
-2013-11-21 22:33:02,208 [output] done
-2013-11-21 22:33:02,208 [output] 202 -> 203... 
-2013-11-21 22:33:02,641 [output] done
-2013-11-21 22:33:02,642 [output] 203 -> 204... 
-2013-11-21 22:33:02,726 [output] done
-2013-11-21 22:33:02,726 [output] 204 -> 205... 
-2013-11-21 22:33:02,886 [output] done
-2013-11-21 22:33:02,886 [output] 205 -> 206... 
-2013-11-21 22:33:03,142 [output] done
-2013-11-21 22:33:03,143 [output] 206 -> 207... 
-2013-11-21 22:33:03,320 [output] done
-2013-11-21 22:33:03,320 [output] 207 -> 208... 
-2013-11-21 22:33:03,602 [output] done
-2013-11-21 22:33:03,602 [output] 208 -> 209... 
-2013-11-21 22:33:04,392 [output] done
-2013-11-21 22:33:04,392 [output] 209 -> 210... 
-2013-11-21 22:33:04,622 [output] done
-2013-11-21 22:33:04,622 [output] 210 -> 211... 
-2013-11-21 22:33:04,761 [output] done
-2013-11-21 22:33:04,769 [output] 211 -> 212... 
-2013-11-21 22:33:04,872 [output] done
-2013-11-21 22:33:04,872 [output] 212 -> 213... 
-2013-11-21 22:33:05,180 [output] done
-2013-11-21 22:33:05,180 [output] 213 -> 214... 
-2013-11-21 22:33:05,722 [output] done
-2013-11-21 22:33:05,723 [output] 214 -> 215... 
-2013-11-21 22:33:05,754 [output] done
-2013-11-21 22:33:05,754 [output] 215 -> 216... 
-2013-11-21 22:33:05,854 [output] done
-2013-11-21 22:33:05,856 [output] 216 -> 217... 
-2013-11-21 22:33:05,879 [output] done
-2013-11-21 22:33:05,879 [output] 217 -> 218... 
-2013-11-21 22:33:05,884 [output] done
-2013-11-21 22:33:05,884 [output] 218 -> 219... 
-2013-11-21 22:33:05,934 [output] done
-2013-11-21 22:33:05,935 [output] 219 -> 220... 
-2013-11-21 22:33:05,937 [output] done
-2013-11-21 22:33:05,937 [output] 220 -> 221... 
-2013-11-21 22:33:05,942 [output] done
-2013-11-21 22:33:05,942 [output] 221 -> 222... 
-2013-11-21 22:33:05,951 [output] done
-2013-11-21 22:33:05,951 [output] 222 -> 223... 
-2013-11-21 22:33:05,952 [output] done
-2013-11-21 22:33:05,952 [output] 223 -> 224... 
-2013-11-21 22:33:05,967 [output] done
-2013-11-21 22:33:05,974 [output] 224 -> 225... 
-2013-11-21 22:33:06,002 [output] done
-2013-11-21 22:33:06,002 [output] 225 -> 226... 
-2013-11-21 22:33:06,002 [output] done
-2013-11-21 22:33:06,003 [output] 226 -> 227... 
-2013-11-21 22:33:06,023 [output] done
-2013-11-21 22:33:06,023 [output] 227 -> 228... 
-2013-11-21 22:33:06,286 [output] done
-2013-11-21 22:33:06,666 [output] + set +x
-2013-11-21 22:33:06,667 [output] ***** Finished DB upgrade to state of patchset *****
-2013-11-21 22:33:06,686 [output] Final schema version is 228
-2013-11-21 22:33:06,829 [output] Switched to branch 'master'
-2013-11-21 22:33:06,905 [output] Deleted branch working (was d9deb04).
-2013-11-21 22:33:06,905 [output] Cleaning up virtual env
-2013-11-21 22:33:09,362 [output] Removing e0a387e790954342b8d410ac8f062164...
-2013-11-21 22:33:14,787 [script exit code = 0]
diff --git a/tests/assets/logcontent b/tests/assets/logcontent
deleted file mode 100644
index 3f2c334..0000000
--- a/tests/assets/logcontent
+++ /dev/null
@@ -1,1490 +0,0 @@
-2013-12-24 05:14:28,492 [output] Test running on thw09-percona.rcbops.com
-2013-12-24 05:14:28,493 [output] To execute this script manually, run this:
-2013-12-24 05:14:28,493 [output] /usr/local/lib/python2.7/dist-packages/turbo_hipster/task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh d6a119ba740447589c347a83e5bd4d48 /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova nova tester nova_datasets_user_001 /var/lib/turbo-hipster/datasets_user_001/user_001/nova_user_001.sql /var/lib/turbo-hipster/datasets_user_001/user_001/logging.conf /var/cache/pip
-2013-12-24 05:14:28,494 [output] Restoring test database nova_datasets_user_001
-2013-12-24 05:14:28,494 [output] + mysql -u nova --password=tester -e 'drop database nova_datasets_user_001'
-2013-12-24 05:14:32,395 [output] + mysql -u nova --password=tester -e 'create database nova_datasets_user_001'
-2013-12-24 05:14:32,407 [output] + mysql -u nova --password=tester nova_datasets_user_001
-2013-12-24 05:14:58,482 [heartbeat]
-2013-12-24 05:15:28,482 [heartbeat]
-2013-12-24 05:15:58,483 [heartbeat]
-2013-12-24 05:16:28,483 [heartbeat]
-2013-12-24 05:16:58,484 [heartbeat]
-2013-12-24 05:17:01,211 [syslog] Dec 24 05:17:01 thw09-percona CRON[23920]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
-2013-12-24 05:17:11,291 [output] + set +x
-2013-12-24 05:17:11,291 [output] Build test environment
-2013-12-24 05:17:11,291 [output] Setting up virtual env
-2013-12-24 05:17:15,805 [output] New python executable in d6a119ba740447589c347a83e5bd4d48/bin/python
-2013-12-24 05:17:17,040 [output] Installing Setuptools..............................................................................................................................................................................................................................done.
-2013-12-24 05:17:17,840 [output] Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
-2013-12-24 05:17:17,997 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/predeactivate
-2013-12-24 05:17:17,997 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/postdeactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/preactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/postactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/get_env_details
-2013-12-24 05:17:19,312 [output] Enabled global site-packages
-2013-12-24 05:17:19,701 [output] Deleted branch working (was 18241f2).
-2013-12-24 05:17:19,806 [output] Switched to a new branch 'working'
-2013-12-24 05:17:19,832 [output] Schema version is 133
-2013-12-24 05:17:19,832 [output] Database is from Folsom! Upgrade via Grizzly
-2013-12-24 05:17:25,270 [output] Switched to branch 'stable/grizzly'
-2013-12-24 05:17:28,484 [heartbeat]
-2013-12-24 05:17:35,955 [output] Install pip requirements from tools/pip-requires
-2013-12-24 05:17:58,587 [heartbeat]
-2013-12-24 05:18:28,588 [heartbeat]
-2013-12-24 05:18:58,588 [heartbeat]
-2013-12-24 05:19:28,588 [heartbeat]
-2013-12-24 05:19:58,589 [heartbeat]
-2013-12-24 05:20:28,589 [heartbeat]
-2013-12-24 05:20:58,590 [heartbeat]
-2013-12-24 05:21:28,590 [heartbeat]
-2013-12-24 05:21:50,494 [output] Requirements installed
-2013-12-24 05:21:58,590 [heartbeat]
-2013-12-24 05:22:06,611 [output] ***** Start DB upgrade to state of grizzly *****
-2013-12-24 05:22:06,612 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:22:06,612 [output] Setting up the nova-manage entry point
-2013-12-24 05:22:24,796 [output] warning: no files found matching 'AUTHORS'
-2013-12-24 05:22:24,802 [output] warning: no files found matching 'ChangeLog'
-2013-12-24 05:22:24,828 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-12-24 05:22:28,302 [output] warning: no files found matching 'AUTHORS'
-2013-12-24 05:22:28,308 [output] warning: no files found matching 'ChangeLog'
-2013-12-24 05:22:28,334 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-12-24 05:22:28,591 [heartbeat]
-2013-12-24 05:22:41,589 [output] zip_safe flag not set; analyzing archive contents...
-2013-12-24 05:22:41,590 [output] nova.crypto: module references __file__
-2013-12-24 05:22:41,592 [output] nova.utils: module references __file__
-2013-12-24 05:22:41,592 [output] nova.service: module MAY be using inspect.stack
-2013-12-24 05:22:41,595 [output] nova.loadables: module references __path__
-2013-12-24 05:22:41,595 [output] nova.paths: module references __file__
-2013-12-24 05:22:41,652 [output] nova.virt.baremetal.db.sqlalchemy.migration: module references __file__
-2013-12-24 05:22:41,665 [output] nova.openstack.common.log: module MAY be using inspect.stack
-2013-12-24 05:22:41,666 [output] nova.openstack.common.setup: module references __file__
-2013-12-24 05:22:41,671 [output] nova.openstack.common.rpc.__init__: module MAY be using inspect.stack
-2013-12-24 05:22:41,676 [output] nova.openstack.common.db.sqlalchemy.session: module references __file__
-2013-12-24 05:22:41,685 [output] nova.tests.test_migrations: module references __file__
-2013-12-24 05:22:41,701 [output] nova.tests.test_misc: module references __file__
-2013-12-24 05:22:41,720 [output] nova.tests.test_xenapi: module references __file__
-2013-12-24 05:22:41,733 [output] nova.tests.test_nova_manage: module references __file__
-2013-12-24 05:22:41,735 [output] nova.tests.test_wsgi: module references __file__
-2013-12-24 05:22:41,756 [output] nova.tests.integrated.test_api_samples: module references __file__
-2013-12-24 05:22:41,772 [output] nova.tests.baremetal.test_nova_baremetal_deploy_helper: module references __file__
-2013-12-24 05:22:41,774 [output] nova.tests.baremetal.test_nova_baremetal_manage: module references __file__
-2013-12-24 05:22:41,829 [output] nova.tests.api.ec2.test_cloud: module references __file__
-2013-12-24 05:22:41,849 [output] nova.tests.image.test_s3: module references __file__
-2013-12-24 05:22:41,885 [output] nova.api.openstack.compute.contrib.__init__: module references __path__
-2013-12-24 05:22:41,911 [output] nova.db.sqlalchemy.migration: module references __file__
-2013-12-24 05:22:41,924 [output] nova.network.linux_net: module MAY be using inspect.stack
-2013-12-24 05:22:48,097 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-grizzly.conf --verbose db sync
-2013-12-24 05:22:50,034 [output] 133 -> 134... 
-2013-12-24 05:22:50,609 [output] done
-2013-12-24 05:22:50,610 [output] 134 -> 135... 
-2013-12-24 05:22:58,591 [heartbeat]
-2013-12-24 05:23:28,592 [heartbeat]
-2013-12-24 05:23:58,592 [heartbeat]
-2013-12-24 05:24:28,592 [heartbeat]
-2013-12-24 05:24:38,787 [output] done
-2013-12-24 05:24:38,787 [output] 135 -> 136... 
-2013-12-24 05:24:40,777 [output] done
-2013-12-24 05:24:40,777 [output] 136 -> 137... 
-2013-12-24 05:24:41,557 [output] done
-2013-12-24 05:24:41,557 [output] 137 -> 138... 
-2013-12-24 05:24:58,593 [heartbeat]
-2013-12-24 05:25:28,593 [heartbeat]
-2013-12-24 05:25:58,593 [heartbeat]
-2013-12-24 05:26:28,594 [heartbeat]
-2013-12-24 05:26:40,643 [output] done
-2013-12-24 05:26:40,644 [output] 138 -> 139... 
-2013-12-24 05:26:40,826 [output] done
-2013-12-24 05:26:40,826 [output] 139 -> 140... 
-2013-12-24 05:26:40,876 [output] done
-2013-12-24 05:26:40,876 [output] 140 -> 141... 
-2013-12-24 05:26:41,028 [output] done
-2013-12-24 05:26:41,028 [output] 141 -> 142... 
-2013-12-24 05:26:41,118 [output] done
-2013-12-24 05:26:41,119 [output] 142 -> 143... 
-2013-12-24 05:26:45,094 [output] done
-2013-12-24 05:26:45,095 [output] 143 -> 144... 
-2013-12-24 05:26:45,662 [output] done
-2013-12-24 05:26:45,662 [output] 144 -> 145... 
-2013-12-24 05:26:45,692 [output] done
-2013-12-24 05:26:45,692 [output] 145 -> 146... 
-2013-12-24 05:26:45,745 [output] done
-2013-12-24 05:26:45,745 [output] 146 -> 147... 
-2013-12-24 05:26:45,787 [output] done
-2013-12-24 05:26:45,788 [output] 147 -> 148... 
-2013-12-24 05:26:45,872 [output] done
-2013-12-24 05:26:45,872 [output] 148 -> 149... 
-2013-12-24 05:26:58,594 [heartbeat]
-2013-12-24 05:27:28,594 [heartbeat]
-2013-12-24 05:27:58,595 [heartbeat]
-2013-12-24 05:28:28,595 [heartbeat]
-2013-12-24 05:28:58,596 [heartbeat]
-2013-12-24 05:29:28,596 [heartbeat]
-2013-12-24 05:29:52,184 [output] done
-2013-12-24 05:29:52,184 [output] 149 -> 150... 
-2013-12-24 05:29:53,377 [output] done
-2013-12-24 05:29:53,377 [output] 150 -> 151... 
-2013-12-24 05:29:53,410 [output] done
-2013-12-24 05:29:53,411 [output] 151 -> 152... 
-2013-12-24 05:29:58,596 [heartbeat]
-2013-12-24 05:30:28,597 [heartbeat]
-2013-12-24 05:30:58,597 [heartbeat]
-2013-12-24 05:31:28,597 [heartbeat]
-2013-12-24 05:31:58,598 [heartbeat]
-2013-12-24 05:32:28,598 [heartbeat]
-2013-12-24 05:32:58,599 [heartbeat]
-2013-12-24 05:33:28,599 [heartbeat]
-2013-12-24 05:33:58,599 [heartbeat]
-2013-12-24 05:34:09,330 [output] done
-2013-12-24 05:34:09,331 [output] 152 -> 153... 
-2013-12-24 05:34:15,709 [output] done
-2013-12-24 05:34:15,709 [output] 153 -> 154... 
-2013-12-24 05:34:16,547 [output] done
-2013-12-24 05:34:16,547 [output] 154 -> 155... 
-2013-12-24 05:34:16,616 [output] done
-2013-12-24 05:34:16,617 [output] 155 -> 156... 
-2013-12-24 05:34:16,643 [output] done
-2013-12-24 05:34:16,643 [output] 156 -> 157... 
-2013-12-24 05:34:16,653 [output] done
-2013-12-24 05:34:16,653 [output] 157 -> 158... 
-2013-12-24 05:34:16,682 [output] done
-2013-12-24 05:34:16,682 [output] 158 -> 159... 
-2013-12-24 05:34:28,600 [heartbeat]
-2013-12-24 05:34:58,600 [heartbeat]
-2013-12-24 05:35:06,350 [output] done
-2013-12-24 05:35:06,350 [output] 159 -> 160... 
-2013-12-24 05:35:07,306 [output] done
-2013-12-24 05:35:07,306 [output] 160 -> 161... 
-2013-12-24 05:35:08,313 [output] done
-2013-12-24 05:35:08,695 [output] + manage_exit=0
-2013-12-24 05:35:08,695 [output] + set +x
-2013-12-24 05:35:08,696 [output] nova-manage returned exit code 0
-2013-12-24 05:35:08,696 [output] ***** Finished DB upgrade to state of grizzly *****
-2013-12-24 05:35:09,062 [output] Schema version is 161
-2013-12-24 05:35:09,063 [output] Database is from Grizzly! Upgrade via Havana
-2013-12-24 05:35:12,068 [output] Switched to branch 'stable/havana'
-2013-12-24 05:35:13,934 [output] Install pip requirements from requirements.txt
-2013-12-24 05:35:17,065 [output] Requirements installed
-2013-12-24 05:35:17,179 [output] ***** Start DB upgrade to state of havana *****
-2013-12-24 05:35:17,180 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:35:17,180 [output] Setting up the nova-manage entry point
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr in /usr/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.3.2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:21,325 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:35:21,326 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:35:21,326 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:35:21,326 [output]     
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,724 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,724 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,724 [output] Installing collected packages: websockify
-2013-12-24 05:35:21,724 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:35:21,725 [output]     Uninstalling websockify:
-2013-12-24 05:35:21,725 [output]       Successfully uninstalled websockify
-2013-12-24 05:35:21,725 [output]   Running setup.py install for websockify
-2013-12-24 05:35:21,725 [output]     
-2013-12-24 05:35:21,725 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:35:21,725 [output] Successfully installed websockify
-2013-12-24 05:35:21,725 [output] Cleaning up...
-2013-12-24 05:35:27,446 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-havana.conf --verbose db sync
-2013-12-24 05:35:28,601 [heartbeat]
-2013-12-24 05:35:31,817 [output] 161 -> 162... 
-2013-12-24 05:35:31,822 [output] done
-2013-12-24 05:35:31,822 [output] 162 -> 163... 
-2013-12-24 05:35:31,826 [output] done
-2013-12-24 05:35:31,826 [output] 163 -> 164... 
-2013-12-24 05:35:31,831 [output] done
-2013-12-24 05:35:31,831 [output] 164 -> 165... 
-2013-12-24 05:35:31,836 [output] done
-2013-12-24 05:35:31,836 [output] 165 -> 166... 
-2013-12-24 05:35:31,840 [output] done
-2013-12-24 05:35:31,840 [output] 166 -> 167... 
-2013-12-24 05:35:31,844 [output] done
-2013-12-24 05:35:31,844 [output] 167 -> 168... 
-2013-12-24 05:35:31,849 [output] done
-2013-12-24 05:35:31,849 [output] 168 -> 169... 
-2013-12-24 05:35:31,853 [output] done
-2013-12-24 05:35:31,853 [output] 169 -> 170... 
-2013-12-24 05:35:31,858 [output] done
-2013-12-24 05:35:31,858 [output] 170 -> 171... 
-2013-12-24 05:35:31,862 [output] done
-2013-12-24 05:35:31,862 [output] 171 -> 172... 
-2013-12-24 05:35:32,305 [output] done
-2013-12-24 05:35:32,306 [output] 172 -> 173... 
-2013-12-24 05:35:32,397 [output] Deleted duplicated row with id: 2086 from table: key_pairs
-2013-12-24 05:35:32,398 [output] Deleted duplicated row with id: 2086 from table: key_pairs
-2013-12-24 05:35:32,399 [output] Deleted duplicated row with id: 1161 from table: key_pairs
-2013-12-24 05:35:32,399 [output] Deleted duplicated row with id: 1161 from table: key_pairs
-2013-12-24 05:35:32,407 [output] Deleted duplicated row with id: 1107 from table: key_pairs
-2013-12-24 05:35:32,407 [output] Deleted duplicated row with id: 1107 from table: key_pairs
-2013-12-24 05:35:32,738 [output] done
-2013-12-24 05:35:32,739 [output] 173 -> 174... 
-2013-12-24 05:35:32,786 [output] done
-2013-12-24 05:35:32,786 [output] 174 -> 175... 
-2013-12-24 05:35:32,820 [output] done
-2013-12-24 05:35:32,820 [output] 175 -> 176... 
-2013-12-24 05:35:32,837 [output] done
-2013-12-24 05:35:32,837 [output] 176 -> 177... 
-2013-12-24 05:35:32,904 [output] done
-2013-12-24 05:35:32,904 [output] 177 -> 178... 
-2013-12-24 05:35:32,927 [output] done
-2013-12-24 05:35:32,927 [output] 178 -> 179... 
-2013-12-24 05:35:32,974 [output] done
-2013-12-24 05:35:32,975 [output] 179 -> 180... 
-2013-12-24 05:35:33,021 [output] done
-2013-12-24 05:35:33,021 [output] 180 -> 181... 
-2013-12-24 05:35:33,059 [output] done
-2013-12-24 05:35:33,059 [output] 181 -> 182... 
-2013-12-24 05:35:33,091 [output] done
-2013-12-24 05:35:33,091 [output] 182 -> 183... 
-2013-12-24 05:35:33,106 [output] done
-2013-12-24 05:35:33,106 [output] 183 -> 184... 
-2013-12-24 05:35:33,244 [output] done
-2013-12-24 05:35:33,244 [output] 184 -> 185... 
-2013-12-24 05:35:40,277 [output] done
-2013-12-24 05:35:40,278 [output] 185 -> 186... 
-2013-12-24 05:35:40,517 [output] done
-2013-12-24 05:35:40,517 [output] 186 -> 187... 
-2013-12-24 05:35:40,620 [output] done
-2013-12-24 05:35:40,621 [output] 187 -> 188... 
-2013-12-24 05:35:40,643 [output] done
-2013-12-24 05:35:40,644 [output] 188 -> 189... 
-2013-12-24 05:35:40,672 [output] done
-2013-12-24 05:35:40,672 [output] 189 -> 190... 
-2013-12-24 05:35:41,873 [output] done
-2013-12-24 05:35:41,873 [output] 190 -> 191... 
-2013-12-24 05:35:41,926 [output] done
-2013-12-24 05:35:41,926 [output] 191 -> 192... 
-2013-12-24 05:35:42,011 [output] done
-2013-12-24 05:35:42,011 [output] 192 -> 193... 
-2013-12-24 05:35:42,354 [output] done
-2013-12-24 05:35:42,354 [output] 193 -> 194... 
-2013-12-24 05:35:44,595 [output] done
-2013-12-24 05:35:44,596 [output] 194 -> 195... 
-2013-12-24 05:35:44,730 [output] done
-2013-12-24 05:35:44,731 [output] 195 -> 196... 
-2013-12-24 05:35:44,782 [output] done
-2013-12-24 05:35:44,782 [output] 196 -> 197... 
-2013-12-24 05:35:44,810 [output] done
-2013-12-24 05:35:44,811 [output] 197 -> 198... 
-2013-12-24 05:35:44,839 [output] done
-2013-12-24 05:35:44,840 [output] 198 -> 199... 
-2013-12-24 05:35:44,869 [output] done
-2013-12-24 05:35:44,870 [output] 199 -> 200... 
-2013-12-24 05:35:45,003 [output] done
-2013-12-24 05:35:45,003 [output] 200 -> 201... 
-2013-12-24 05:35:45,011 [output] done
-2013-12-24 05:35:45,011 [output] 201 -> 202... 
-2013-12-24 05:35:45,044 [output] done
-2013-12-24 05:35:45,044 [output] 202 -> 203... 
-2013-12-24 05:35:52,958 [output] done
-2013-12-24 05:35:52,958 [output] 203 -> 204... 
-2013-12-24 05:35:58,601 [heartbeat]
-2013-12-24 05:35:59,629 [output] done
-2013-12-24 05:35:59,629 [output] 204 -> 205... 
-2013-12-24 05:36:27,289 [output] done
-2013-12-24 05:36:27,289 [output] 205 -> 206... 
-2013-12-24 05:36:28,601 [heartbeat]
-2013-12-24 05:36:58,602 [heartbeat]
-2013-12-24 05:37:03,760 [output] done
-2013-12-24 05:37:03,760 [output] 206 -> 207... 
-2013-12-24 05:37:03,872 [output] done
-2013-12-24 05:37:03,872 [output] 207 -> 208... 
-2013-12-24 05:37:03,923 [output] done
-2013-12-24 05:37:03,923 [output] 208 -> 209... 
-2013-12-24 05:37:05,003 [output] done
-2013-12-24 05:37:05,004 [output] 209 -> 210... 
-2013-12-24 05:37:05,083 [output] done
-2013-12-24 05:37:05,083 [output] 210 -> 211... 
-2013-12-24 05:37:05,160 [output] done
-2013-12-24 05:37:05,161 [output] 211 -> 212... 
-2013-12-24 05:37:05,232 [output] done
-2013-12-24 05:37:05,233 [output] 212 -> 213... 
-2013-12-24 05:37:05,349 [output] done
-2013-12-24 05:37:05,349 [output] 213 -> 214... 
-2013-12-24 05:37:05,508 [output] done
-2013-12-24 05:37:05,508 [output] 214 -> 215... 
-2013-12-24 05:37:05,580 [output] done
-2013-12-24 05:37:05,580 [output] 215 -> 216... 
-2013-12-24 05:37:28,602 [heartbeat]
-2013-12-24 05:37:46,436 [output] done
-2013-12-24 05:37:46,820 [output] + manage_exit=0
-2013-12-24 05:37:46,820 [output] + set +x
-2013-12-24 05:37:46,820 [output] nova-manage returned exit code 0
-2013-12-24 05:37:46,821 [output] ***** Finished DB upgrade to state of havana *****
-2013-12-24 05:37:46,988 [output] Schema after stable_release_db_sync version is 216
-2013-12-24 05:37:47,101 [output] Update database to current state of trunk
-2013-12-24 05:37:50,276 [output] Switched to branch 'master'
-2013-12-24 05:37:50,933 [output] Install pip requirements from requirements.txt
-2013-12-24 05:37:56,962 [output] Requirements installed
-2013-12-24 05:37:57,685 [output] ***** Start DB upgrade to state of trunk *****
-2013-12-24 05:37:57,686 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:37:57,686 [output] Setting up the nova-manage entry point
-2013-12-24 05:37:58,602 [heartbeat]
-2013-12-24 05:38:00,849 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,110 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,534 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:02,534 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:02,535 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:02,535 [output]     
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,912 [output] Installing collected packages: websockify
-2013-12-24 05:38:02,912 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:02,913 [output]     Uninstalling websockify:
-2013-12-24 05:38:02,913 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:02,913 [output]   Running setup.py install for websockify
-2013-12-24 05:38:02,913 [output]     
-2013-12-24 05:38:02,913 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:02,913 [output] Successfully installed websockify
-2013-12-24 05:38:02,913 [output] Cleaning up...
-2013-12-24 05:38:06,814 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-trunk.conf --verbose db sync
-2013-12-24 05:38:08,338 [output] 216 -> 217... 
-2013-12-24 05:38:08,451 [output] done
-2013-12-24 05:38:08,451 [output] 217 -> 218... 
-2013-12-24 05:38:08,455 [output] done
-2013-12-24 05:38:08,455 [output] 218 -> 219... 
-2013-12-24 05:38:08,460 [output] done
-2013-12-24 05:38:08,460 [output] 219 -> 220... 
-2013-12-24 05:38:08,464 [output] done
-2013-12-24 05:38:08,464 [output] 220 -> 221... 
-2013-12-24 05:38:08,469 [output] done
-2013-12-24 05:38:08,469 [output] 221 -> 222... 
-2013-12-24 05:38:08,473 [output] done
-2013-12-24 05:38:08,473 [output] 222 -> 223... 
-2013-12-24 05:38:08,477 [output] done
-2013-12-24 05:38:08,478 [output] 223 -> 224... 
-2013-12-24 05:38:08,482 [output] done
-2013-12-24 05:38:08,482 [output] 224 -> 225... 
-2013-12-24 05:38:08,486 [output] done
-2013-12-24 05:38:08,486 [output] 225 -> 226... 
-2013-12-24 05:38:08,491 [output] done
-2013-12-24 05:38:08,491 [output] 226 -> 227... 
-2013-12-24 05:38:08,512 [output] done
-2013-12-24 05:38:08,513 [output] 227 -> 228... 
-2013-12-24 05:38:08,550 [output] done
-2013-12-24 05:38:08,550 [output] 228 -> 229... 
-2013-12-24 05:38:08,579 [output] done
-2013-12-24 05:38:08,797 [output] + manage_exit=0
-2013-12-24 05:38:08,797 [output] + set +x
-2013-12-24 05:38:08,798 [output] nova-manage returned exit code 0
-2013-12-24 05:38:08,798 [output] ***** Finished DB upgrade to state of trunk *****
-2013-12-24 05:38:08,873 [output] Switched to branch 'working'
-2013-12-24 05:38:08,876 [output] Now test the patchset
-2013-12-24 05:38:09,510 [output] Install pip requirements from requirements.txt
-2013-12-24 05:38:11,885 [output] Requirements installed
-2013-12-24 05:38:12,398 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:12,398 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:12,398 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:15,066 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,714 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,714 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,715 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:16,715 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:16,715 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:16,715 [output]     
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:17,101 [output] Installing collected packages: websockify
-2013-12-24 05:38:17,101 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:17,101 [output]     Uninstalling websockify:
-2013-12-24 05:38:17,102 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:17,102 [output]   Running setup.py install for websockify
-2013-12-24 05:38:17,102 [output]     
-2013-12-24 05:38:17,102 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:17,102 [output] Successfully installed websockify
-2013-12-24 05:38:17,102 [output] Cleaning up...
-2013-12-24 05:38:17,665 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync
-2013-12-24 05:38:19,169 [output] + manage_exit=0
-2013-12-24 05:38:19,169 [output] + set +x
-2013-12-24 05:38:19,169 [output] nova-manage returned exit code 0
-2013-12-24 05:38:19,170 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:19,187 [output] Schema version is 229
-2013-12-24 05:38:19,187 [output] Now downgrade all the way back to the last stable version (v216)
-2013-12-24 05:38:19,674 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:19,674 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:19,674 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,383 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,383 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,027 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,211 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,212 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:24,212 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:24,212 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:24,212 [output]     
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:24,223 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,410 [output] Installing collected packages: websockify
-2013-12-24 05:38:24,410 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:24,410 [output]     Uninstalling websockify:
-2013-12-24 05:38:24,411 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:24,411 [output]   Running setup.py install for websockify
-2013-12-24 05:38:24,411 [output]     
-2013-12-24 05:38:24,411 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:24,411 [output] Successfully installed websockify
-2013-12-24 05:38:24,411 [output] Cleaning up...
-2013-12-24 05:38:24,965 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync --version 216
-2013-12-24 05:38:26,228 [output] 229 -> 228... 
-2013-12-24 05:38:26,427 [output] done
-2013-12-24 05:38:26,428 [output] 228 -> 227... 
-2013-12-24 05:38:26,455 [output] done
-2013-12-24 05:38:26,455 [output] 227 -> 226... 
-2013-12-24 05:38:26,460 [output] done
-2013-12-24 05:38:26,460 [output] 226 -> 225... 
-2013-12-24 05:38:26,464 [output] done
-2013-12-24 05:38:26,464 [output] 225 -> 224... 
-2013-12-24 05:38:26,468 [output] done
-2013-12-24 05:38:26,468 [output] 224 -> 223... 
-2013-12-24 05:38:26,473 [output] done
-2013-12-24 05:38:26,473 [output] 223 -> 222... 
-2013-12-24 05:38:26,477 [output] done
-2013-12-24 05:38:26,477 [output] 222 -> 221... 
-2013-12-24 05:38:26,481 [output] done
-2013-12-24 05:38:26,482 [output] 221 -> 220... 
-2013-12-24 05:38:26,486 [output] done
-2013-12-24 05:38:26,486 [output] 220 -> 219... 
-2013-12-24 05:38:26,490 [output] done
-2013-12-24 05:38:26,491 [output] 219 -> 218... 
-2013-12-24 05:38:26,495 [output] done
-2013-12-24 05:38:26,495 [output] 218 -> 217... 
-2013-12-24 05:38:26,499 [output] done
-2013-12-24 05:38:26,499 [output] 217 -> 216... 
-2013-12-24 05:38:26,504 [output] done
-2013-12-24 05:38:26,722 [output] + manage_exit=0
-2013-12-24 05:38:26,723 [output] + set +x
-2013-12-24 05:38:26,723 [output] nova-manage returned exit code 0
-2013-12-24 05:38:26,723 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:26,746 [output] Schema version is 216
-2013-12-24 05:38:26,747 [output] And now back up to head from the start of trunk
-2013-12-24 05:38:26,816 [output] Already on 'working'
-2013-12-24 05:38:27,378 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:27,378 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:27,379 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:28,603 [heartbeat]
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,691 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,692 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:31,692 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:31,692 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:31,692 [output]     
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:32,078 [output] Installing collected packages: websockify
-2013-12-24 05:38:32,078 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:32,078 [output]     Uninstalling websockify:
-2013-12-24 05:38:32,078 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:32,078 [output]   Running setup.py install for websockify
-2013-12-24 05:38:32,078 [output]     
-2013-12-24 05:38:32,078 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:32,078 [output] Successfully installed websockify
-2013-12-24 05:38:32,078 [output] Cleaning up...
-2013-12-24 05:38:32,639 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync
-2013-12-24 05:38:33,973 [output] 216 -> 217... 
-2013-12-24 05:38:34,016 [output] done
-2013-12-24 05:38:34,017 [output] 217 -> 218... 
-2013-12-24 05:38:34,022 [output] done
-2013-12-24 05:38:34,022 [output] 218 -> 219... 
-2013-12-24 05:38:34,026 [output] done
-2013-12-24 05:38:34,026 [output] 219 -> 220... 
-2013-12-24 05:38:34,030 [output] done
-2013-12-24 05:38:34,031 [output] 220 -> 221... 
-2013-12-24 05:38:34,035 [output] done
-2013-12-24 05:38:34,035 [output] 221 -> 222... 
-2013-12-24 05:38:34,039 [output] done
-2013-12-24 05:38:34,039 [output] 222 -> 223... 
-2013-12-24 05:38:34,043 [output] done
-2013-12-24 05:38:34,043 [output] 223 -> 224... 
-2013-12-24 05:38:34,048 [output] done
-2013-12-24 05:38:34,048 [output] 224 -> 225... 
-2013-12-24 05:38:34,052 [output] done
-2013-12-24 05:38:34,052 [output] 225 -> 226... 
-2013-12-24 05:38:34,056 [output] done
-2013-12-24 05:38:34,056 [output] 226 -> 227... 
-2013-12-24 05:38:34,066 [output] done
-2013-12-24 05:38:34,066 [output] 227 -> 228... 
-2013-12-24 05:38:34,099 [output] done
-2013-12-24 05:38:34,099 [output] 228 -> 229... 
-2013-12-24 05:38:34,126 [output] done
-2013-12-24 05:38:34,339 [output] + manage_exit=0
-2013-12-24 05:38:34,339 [output] + set +x
-2013-12-24 05:38:34,340 [output] nova-manage returned exit code 0
-2013-12-24 05:38:34,340 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:34,362 [output] Final schema version is 229
-2013-12-24 05:38:34,362 [output] Cleaning up virtual env
-2013-12-24 05:38:35,354 [output] Removing d6a119ba740447589c347a83e5bd4d48...
-2013-12-24 05:38:37,955 [script exit code = 0]
- 2013-12-24 05:14:28,492 [output] Test running on thw09-percona.rcbops.com
-2013-12-24 05:14:28,493 [output] To execute this script manually, run this:
-2013-12-24 05:14:28,493 [output] /usr/local/lib/python2.7/dist-packages/turbo_hipster/task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh d6a119ba740447589c347a83e5bd4d48 /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova nova tester nova_datasets_user_001 /var/lib/turbo-hipster/datasets_user_001/user_001/nova_user_001.sql /var/lib/turbo-hipster/datasets_user_001/user_001/logging.conf /var/cache/pip
-2013-12-24 05:14:28,494 [output] Restoring test database nova_datasets_user_001
-2013-12-24 05:14:28,494 [output] + mysql -u nova --password=tester -e 'drop database nova_datasets_user_001'
-2013-12-24 05:14:32,395 [output] + mysql -u nova --password=tester -e 'create database nova_datasets_user_001'
-2013-12-24 05:14:32,407 [output] + mysql -u nova --password=tester nova_datasets_user_001
-2013-12-24 05:14:58,482 [heartbeat]
-2013-12-24 05:15:28,482 [heartbeat]
-2013-12-24 05:15:58,483 [heartbeat]
-2013-12-24 05:16:28,483 [heartbeat]
-2013-12-24 05:16:58,484 [heartbeat]
-2013-12-24 05:17:01,211 [syslog] Dec 24 05:17:01 thw09-percona CRON[23920]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
-2013-12-24 05:17:11,291 [output] + set +x
-2013-12-24 05:17:11,291 [output] Build test environment
-2013-12-24 05:17:11,291 [output] Setting up virtual env
-2013-12-24 05:17:15,805 [output] New python executable in d6a119ba740447589c347a83e5bd4d48/bin/python
-2013-12-24 05:17:17,040 [output] Installing Setuptools..............................................................................................................................................................................................................................done.
-2013-12-24 05:17:17,840 [output] Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
-2013-12-24 05:17:17,997 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/predeactivate
-2013-12-24 05:17:17,997 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/postdeactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/preactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/postactivate
-2013-12-24 05:17:17,998 [output] virtualenvwrapper.user_scripts creating /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin/get_env_details
-2013-12-24 05:17:19,312 [output] Enabled global site-packages
-2013-12-24 05:17:19,701 [output] Deleted branch working (was 18241f2).
-2013-12-24 05:17:19,806 [output] Switched to a new branch 'working'
-2013-12-24 05:17:19,832 [output] Schema version is 133
-2013-12-24 05:17:19,832 [output] Database is from Folsom! Upgrade via Grizzly
-2013-12-24 05:17:25,270 [output] Switched to branch 'stable/grizzly'
-2013-12-24 05:17:28,484 [heartbeat]
-2013-12-24 05:17:35,955 [output] Install pip requirements from tools/pip-requires
-2013-12-24 05:17:58,587 [heartbeat]
-2013-12-24 05:18:28,588 [heartbeat]
-2013-12-24 05:18:58,588 [heartbeat]
-2013-12-24 05:19:28,588 [heartbeat]
-2013-12-24 05:19:58,589 [heartbeat]
-2013-12-24 05:20:28,589 [heartbeat]
-2013-12-24 05:20:58,590 [heartbeat]
-2013-12-24 05:21:28,590 [heartbeat]
-2013-12-24 05:21:50,494 [output] Requirements installed
-2013-12-24 05:21:58,590 [heartbeat]
-2013-12-24 05:22:06,611 [output] ***** Start DB upgrade to state of grizzly *****
-2013-12-24 05:22:06,612 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:22:06,612 [output] Setting up the nova-manage entry point
-2013-12-24 05:22:24,796 [output] warning: no files found matching 'AUTHORS'
-2013-12-24 05:22:24,802 [output] warning: no files found matching 'ChangeLog'
-2013-12-24 05:22:24,828 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-12-24 05:22:28,302 [output] warning: no files found matching 'AUTHORS'
-2013-12-24 05:22:28,308 [output] warning: no files found matching 'ChangeLog'
-2013-12-24 05:22:28,334 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2013-12-24 05:22:28,591 [heartbeat]
-2013-12-24 05:22:41,589 [output] zip_safe flag not set; analyzing archive contents...
-2013-12-24 05:22:41,590 [output] nova.crypto: module references __file__
-2013-12-24 05:22:41,592 [output] nova.utils: module references __file__
-2013-12-24 05:22:41,592 [output] nova.service: module MAY be using inspect.stack
-2013-12-24 05:22:41,595 [output] nova.loadables: module references __path__
-2013-12-24 05:22:41,595 [output] nova.paths: module references __file__
-2013-12-24 05:22:41,652 [output] nova.virt.baremetal.db.sqlalchemy.migration: module references __file__
-2013-12-24 05:22:41,665 [output] nova.openstack.common.log: module MAY be using inspect.stack
-2013-12-24 05:22:41,666 [output] nova.openstack.common.setup: module references __file__
-2013-12-24 05:22:41,671 [output] nova.openstack.common.rpc.__init__: module MAY be using inspect.stack
-2013-12-24 05:22:41,676 [output] nova.openstack.common.db.sqlalchemy.session: module references __file__
-2013-12-24 05:22:41,685 [output] nova.tests.test_migrations: module references __file__
-2013-12-24 05:22:41,701 [output] nova.tests.test_misc: module references __file__
-2013-12-24 05:22:41,720 [output] nova.tests.test_xenapi: module references __file__
-2013-12-24 05:22:41,733 [output] nova.tests.test_nova_manage: module references __file__
-2013-12-24 05:22:41,735 [output] nova.tests.test_wsgi: module references __file__
-2013-12-24 05:22:41,756 [output] nova.tests.integrated.test_api_samples: module references __file__
-2013-12-24 05:22:41,772 [output] nova.tests.baremetal.test_nova_baremetal_deploy_helper: module references __file__
-2013-12-24 05:22:41,774 [output] nova.tests.baremetal.test_nova_baremetal_manage: module references __file__
-2013-12-24 05:22:41,829 [output] nova.tests.api.ec2.test_cloud: module references __file__
-2013-12-24 05:22:41,849 [output] nova.tests.image.test_s3: module references __file__
-2013-12-24 05:22:41,885 [output] nova.api.openstack.compute.contrib.__init__: module references __path__
-2013-12-24 05:22:41,911 [output] nova.db.sqlalchemy.migration: module references __file__
-2013-12-24 05:22:41,924 [output] nova.network.linux_net: module MAY be using inspect.stack
-2013-12-24 05:22:48,097 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-grizzly.conf --verbose db sync
-2013-12-24 05:22:50,034 [output] 133 -> 134... 
-2013-12-24 05:22:50,609 [output] done
-2013-12-24 05:22:50,610 [output] 134 -> 135... 
-2013-12-24 05:22:58,591 [heartbeat]
-2013-12-24 05:23:28,592 [heartbeat]
-2013-12-24 05:23:58,592 [heartbeat]
-2013-12-24 05:24:28,592 [heartbeat]
-2013-12-24 05:24:38,787 [output] done
-2013-12-24 05:24:38,787 [output] 135 -> 136... 
-2013-12-24 05:24:40,777 [output] done
-2013-12-24 05:24:40,777 [output] 136 -> 137... 
-2013-12-24 05:24:41,557 [output] done
-2013-12-24 05:24:41,557 [output] 137 -> 138... 
-2013-12-24 05:24:58,593 [heartbeat]
-2013-12-24 05:25:28,593 [heartbeat]
-2013-12-24 05:25:58,593 [heartbeat]
-2013-12-24 05:26:28,594 [heartbeat]
-2013-12-24 05:26:40,643 [output] done
-2013-12-24 05:26:40,644 [output] 138 -> 139... 
-2013-12-24 05:26:40,826 [output] done
-2013-12-24 05:26:40,826 [output] 139 -> 140... 
-2013-12-24 05:26:40,876 [output] done
-2013-12-24 05:26:40,876 [output] 140 -> 141... 
-2013-12-24 05:26:41,028 [output] done
-2013-12-24 05:26:41,028 [output] 141 -> 142... 
-2013-12-24 05:26:41,118 [output] done
-2013-12-24 05:26:41,119 [output] 142 -> 143... 
-2013-12-24 05:26:45,094 [output] done
-2013-12-24 05:26:45,095 [output] 143 -> 144... 
-2013-12-24 05:26:45,662 [output] done
-2013-12-24 05:26:45,662 [output] 144 -> 145... 
-2013-12-24 05:26:45,692 [output] done
-2013-12-24 05:26:45,692 [output] 145 -> 146... 
-2013-12-24 05:26:45,745 [output] done
-2013-12-24 05:26:45,745 [output] 146 -> 147... 
-2013-12-24 05:26:45,787 [output] done
-2013-12-24 05:26:45,788 [output] 147 -> 148... 
-2013-12-24 05:26:45,872 [output] done
-2013-12-24 05:26:45,872 [output] 148 -> 149... 
-2013-12-24 05:26:58,594 [heartbeat]
-2013-12-24 05:27:28,594 [heartbeat]
-2013-12-24 05:27:58,595 [heartbeat]
-2013-12-24 05:28:28,595 [heartbeat]
-2013-12-24 05:28:58,596 [heartbeat]
-2013-12-24 05:29:28,596 [heartbeat]
-2013-12-24 05:29:52,184 [output] done
-2013-12-24 05:29:52,184 [output] 149 -> 150... 
-2013-12-24 05:29:53,377 [output] done
-2013-12-24 05:29:53,377 [output] 150 -> 151... 
-2013-12-24 05:29:53,410 [output] done
-2013-12-24 05:29:53,411 [output] 151 -> 152... 
-2013-12-24 05:29:58,596 [heartbeat]
-2013-12-24 05:30:28,597 [heartbeat]
-2013-12-24 05:30:58,597 [heartbeat]
-2013-12-24 05:31:28,597 [heartbeat]
-2013-12-24 05:31:58,598 [heartbeat]
-2013-12-24 05:32:28,598 [heartbeat]
-2013-12-24 05:32:58,599 [heartbeat]
-2013-12-24 05:33:28,599 [heartbeat]
-2013-12-24 05:33:58,599 [heartbeat]
-2013-12-24 05:34:09,330 [output] done
-2013-12-24 05:34:09,331 [output] 152 -> 153... 
-2013-12-24 05:34:15,709 [output] done
-2013-12-24 05:34:15,709 [output] 153 -> 154... 
-2013-12-24 05:34:16,547 [output] done
-2013-12-24 05:34:16,547 [output] 154 -> 155... 
-2013-12-24 05:34:16,616 [output] done
-2013-12-24 05:34:16,617 [output] 155 -> 156... 
-2013-12-24 05:34:16,643 [output] done
-2013-12-24 05:34:16,643 [output] 156 -> 157... 
-2013-12-24 05:34:16,653 [output] done
-2013-12-24 05:34:16,653 [output] 157 -> 158... 
-2013-12-24 05:34:16,682 [output] done
-2013-12-24 05:34:16,682 [output] 158 -> 159... 
-2013-12-24 05:34:28,600 [heartbeat]
-2013-12-24 05:34:58,600 [heartbeat]
-2013-12-24 05:35:06,350 [output] done
-2013-12-24 05:35:06,350 [output] 159 -> 160... 
-2013-12-24 05:35:07,306 [output] done
-2013-12-24 05:35:07,306 [output] 160 -> 161... 
-2013-12-24 05:35:08,313 [output] done
-2013-12-24 05:35:08,695 [output] + manage_exit=0
-2013-12-24 05:35:08,695 [output] + set +x
-2013-12-24 05:35:08,696 [output] nova-manage returned exit code 0
-2013-12-24 05:35:08,696 [output] ***** Finished DB upgrade to state of grizzly *****
-2013-12-24 05:35:09,062 [output] Schema version is 161
-2013-12-24 05:35:09,063 [output] Database is from Grizzly! Upgrade via Havana
-2013-12-24 05:35:12,068 [output] Switched to branch 'stable/havana'
-2013-12-24 05:35:13,934 [output] Install pip requirements from requirements.txt
-2013-12-24 05:35:17,065 [output] Requirements installed
-2013-12-24 05:35:17,179 [output] ***** Start DB upgrade to state of havana *****
-2013-12-24 05:35:17,180 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:35:17,180 [output] Setting up the nova-manage entry point
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.4.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,591 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.7.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,592 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr in /usr/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:19,593 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.3.2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,325 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.10 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:35:21,325 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:35:21,326 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:35:21,326 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:35:21,326 [output]     
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:35:21,326 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.7.2)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,327 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,328 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:35:21,724 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,724 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:35:21,724 [output] Installing collected packages: websockify
-2013-12-24 05:35:21,724 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:35:21,725 [output]     Uninstalling websockify:
-2013-12-24 05:35:21,725 [output]       Successfully uninstalled websockify
-2013-12-24 05:35:21,725 [output]   Running setup.py install for websockify
-2013-12-24 05:35:21,725 [output]     
-2013-12-24 05:35:21,725 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:35:21,725 [output] Successfully installed websockify
-2013-12-24 05:35:21,725 [output] Cleaning up...
-2013-12-24 05:35:27,446 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-havana.conf --verbose db sync
-2013-12-24 05:35:28,601 [heartbeat]
-2013-12-24 05:35:31,817 [output] 161 -> 162... 
-2013-12-24 05:35:31,822 [output] done
-2013-12-24 05:35:31,822 [output] 162 -> 163... 
-2013-12-24 05:35:31,826 [output] done
-2013-12-24 05:35:31,826 [output] 163 -> 164... 
-2013-12-24 05:35:31,831 [output] done
-2013-12-24 05:35:31,831 [output] 164 -> 165... 
-2013-12-24 05:35:31,836 [output] done
-2013-12-24 05:35:31,836 [output] 165 -> 166... 
-2013-12-24 05:35:31,840 [output] done
-2013-12-24 05:35:31,840 [output] 166 -> 167... 
-2013-12-24 05:35:31,844 [output] done
-2013-12-24 05:35:31,844 [output] 167 -> 168... 
-2013-12-24 05:35:31,849 [output] done
-2013-12-24 05:35:31,849 [output] 168 -> 169... 
-2013-12-24 05:35:31,853 [output] done
-2013-12-24 05:35:31,853 [output] 169 -> 170... 
-2013-12-24 05:35:31,858 [output] done
-2013-12-24 05:35:31,858 [output] 170 -> 171... 
-2013-12-24 05:35:31,862 [output] done
-2013-12-24 05:35:31,862 [output] 171 -> 172... 
-2013-12-24 05:35:32,305 [output] done
-2013-12-24 05:35:32,306 [output] 172 -> 173... 
-2013-12-24 05:35:32,397 [output] Deleted duplicated row with id: 2086 from table: key_pairs
-2013-12-24 05:35:32,398 [output] Deleted duplicated row with id: 2086 from table: key_pairs
-2013-12-24 05:35:32,399 [output] Deleted duplicated row with id: 1161 from table: key_pairs
-2013-12-24 05:35:32,399 [output] Deleted duplicated row with id: 1161 from table: key_pairs
-2013-12-24 05:35:32,407 [output] Deleted duplicated row with id: 1107 from table: key_pairs
-2013-12-24 05:35:32,407 [output] Deleted duplicated row with id: 1107 from table: key_pairs
-2013-12-24 05:35:32,738 [output] done
-2013-12-24 05:35:32,739 [output] 173 -> 174... 
-2013-12-24 05:35:32,786 [output] done
-2013-12-24 05:35:32,786 [output] 174 -> 175... 
-2013-12-24 05:35:32,820 [output] done
-2013-12-24 05:35:32,820 [output] 175 -> 176... 
-2013-12-24 05:35:32,837 [output] done
-2013-12-24 05:35:32,837 [output] 176 -> 177... 
-2013-12-24 05:35:32,904 [output] done
-2013-12-24 05:35:32,904 [output] 177 -> 178... 
-2013-12-24 05:35:32,927 [output] done
-2013-12-24 05:35:32,927 [output] 178 -> 179... 
-2013-12-24 05:35:32,974 [output] done
-2013-12-24 05:35:32,975 [output] 179 -> 180... 
-2013-12-24 05:35:33,021 [output] done
-2013-12-24 05:35:33,021 [output] 180 -> 181... 
-2013-12-24 05:35:33,059 [output] done
-2013-12-24 05:35:33,059 [output] 181 -> 182... 
-2013-12-24 05:35:33,091 [output] done
-2013-12-24 05:35:33,091 [output] 182 -> 183... 
-2013-12-24 05:35:33,106 [output] done
-2013-12-24 05:35:33,106 [output] 183 -> 184... 
-2013-12-24 05:35:33,244 [output] done
-2013-12-24 05:35:33,244 [output] 184 -> 185... 
-2013-12-24 05:35:40,277 [output] done
-2013-12-24 05:35:40,278 [output] 185 -> 186... 
-2013-12-24 05:35:40,517 [output] done
-2013-12-24 05:35:40,517 [output] 186 -> 187... 
-2013-12-24 05:35:40,620 [output] done
-2013-12-24 05:35:40,621 [output] 187 -> 188... 
-2013-12-24 05:35:40,643 [output] done
-2013-12-24 05:35:40,644 [output] 188 -> 189... 
-2013-12-24 05:35:40,672 [output] done
-2013-12-24 05:35:40,672 [output] 189 -> 190... 
-2013-12-24 05:35:41,873 [output] done
-2013-12-24 05:35:41,873 [output] 190 -> 191... 
-2013-12-24 05:35:41,926 [output] done
-2013-12-24 05:35:41,926 [output] 191 -> 192... 
-2013-12-24 05:35:42,011 [output] done
-2013-12-24 05:35:42,011 [output] 192 -> 193... 
-2013-12-24 05:35:42,354 [output] done
-2013-12-24 05:35:42,354 [output] 193 -> 194... 
-2013-12-24 05:35:44,595 [output] done
-2013-12-24 05:35:44,596 [output] 194 -> 195... 
-2013-12-24 05:35:44,730 [output] done
-2013-12-24 05:35:44,731 [output] 195 -> 196... 
-2013-12-24 05:35:44,782 [output] done
-2013-12-24 05:35:44,782 [output] 196 -> 197... 
-2013-12-24 05:35:44,810 [output] done
-2013-12-24 05:35:44,811 [output] 197 -> 198... 
-2013-12-24 05:35:44,839 [output] done
-2013-12-24 05:35:44,840 [output] 198 -> 199... 
-2013-12-24 05:35:44,869 [output] done
-2013-12-24 05:35:44,870 [output] 199 -> 200... 
-2013-12-24 05:35:45,003 [output] done
-2013-12-24 05:35:45,003 [output] 200 -> 201... 
-2013-12-24 05:35:45,011 [output] done
-2013-12-24 05:35:45,011 [output] 201 -> 202... 
-2013-12-24 05:35:45,044 [output] done
-2013-12-24 05:35:45,044 [output] 202 -> 203... 
-2013-12-24 05:35:52,958 [output] done
-2013-12-24 05:35:52,958 [output] 203 -> 204... 
-2013-12-24 05:35:58,601 [heartbeat]
-2013-12-24 05:35:59,629 [output] done
-2013-12-24 05:35:59,629 [output] 204 -> 205... 
-2013-12-24 05:36:27,289 [output] done
-2013-12-24 05:36:27,289 [output] 205 -> 206... 
-2013-12-24 05:36:28,601 [heartbeat]
-2013-12-24 05:36:58,602 [heartbeat]
-2013-12-24 05:37:03,760 [output] done
-2013-12-24 05:37:03,760 [output] 206 -> 207... 
-2013-12-24 05:37:03,872 [output] done
-2013-12-24 05:37:03,872 [output] 207 -> 208... 
-2013-12-24 05:37:03,923 [output] done
-2013-12-24 05:37:03,923 [output] 208 -> 209... 
-2013-12-24 05:37:05,003 [output] done
-2013-12-24 05:37:05,004 [output] 209 -> 210... 
-2013-12-24 05:37:05,083 [output] done
-2013-12-24 05:37:05,083 [output] 210 -> 211... 
-2013-12-24 05:37:05,160 [output] done
-2013-12-24 05:37:05,161 [output] 211 -> 212... 
-2013-12-24 05:37:05,232 [output] done
-2013-12-24 05:37:05,233 [output] 212 -> 213... 
-2013-12-24 05:37:05,349 [output] done
-2013-12-24 05:37:05,349 [output] 213 -> 214... 
-2013-12-24 05:37:05,508 [output] done
-2013-12-24 05:37:05,508 [output] 214 -> 215... 
-2013-12-24 05:37:05,580 [output] done
-2013-12-24 05:37:05,580 [output] 215 -> 216... 
-2013-12-24 05:37:28,602 [heartbeat]
-2013-12-24 05:37:46,436 [output] done
-2013-12-24 05:37:46,820 [output] + manage_exit=0
-2013-12-24 05:37:46,820 [output] + set +x
-2013-12-24 05:37:46,820 [output] nova-manage returned exit code 0
-2013-12-24 05:37:46,821 [output] ***** Finished DB upgrade to state of havana *****
-2013-12-24 05:37:46,988 [output] Schema after stable_release_db_sync version is 216
-2013-12-24 05:37:47,101 [output] Update database to current state of trunk
-2013-12-24 05:37:50,276 [output] Switched to branch 'master'
-2013-12-24 05:37:50,933 [output] Install pip requirements from requirements.txt
-2013-12-24 05:37:56,962 [output] Requirements installed
-2013-12-24 05:37:57,685 [output] ***** Start DB upgrade to state of trunk *****
-2013-12-24 05:37:57,686 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:37:57,686 [output] Setting up the nova-manage entry point
-2013-12-24 05:37:58,602 [heartbeat]
-2013-12-24 05:38:00,849 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,094 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,095 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,108 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,109 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:01,110 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,534 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,534 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:02,534 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:02,535 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:02,535 [output]     
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:02,535 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,536 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:02,537 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,912 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:02,912 [output] Installing collected packages: websockify
-2013-12-24 05:38:02,912 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:02,913 [output]     Uninstalling websockify:
-2013-12-24 05:38:02,913 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:02,913 [output]   Running setup.py install for websockify
-2013-12-24 05:38:02,913 [output]     
-2013-12-24 05:38:02,913 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:02,913 [output] Successfully installed websockify
-2013-12-24 05:38:02,913 [output] Cleaning up...
-2013-12-24 05:38:06,814 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-trunk.conf --verbose db sync
-2013-12-24 05:38:08,338 [output] 216 -> 217... 
-2013-12-24 05:38:08,451 [output] done
-2013-12-24 05:38:08,451 [output] 217 -> 218... 
-2013-12-24 05:38:08,455 [output] done
-2013-12-24 05:38:08,455 [output] 218 -> 219... 
-2013-12-24 05:38:08,460 [output] done
-2013-12-24 05:38:08,460 [output] 219 -> 220... 
-2013-12-24 05:38:08,464 [output] done
-2013-12-24 05:38:08,464 [output] 220 -> 221... 
-2013-12-24 05:38:08,469 [output] done
-2013-12-24 05:38:08,469 [output] 221 -> 222... 
-2013-12-24 05:38:08,473 [output] done
-2013-12-24 05:38:08,473 [output] 222 -> 223... 
-2013-12-24 05:38:08,477 [output] done
-2013-12-24 05:38:08,478 [output] 223 -> 224... 
-2013-12-24 05:38:08,482 [output] done
-2013-12-24 05:38:08,482 [output] 224 -> 225... 
-2013-12-24 05:38:08,486 [output] done
-2013-12-24 05:38:08,486 [output] 225 -> 226... 
-2013-12-24 05:38:08,491 [output] done
-2013-12-24 05:38:08,491 [output] 226 -> 227... 
-2013-12-24 05:38:08,512 [output] done
-2013-12-24 05:38:08,513 [output] 227 -> 228... 
-2013-12-24 05:38:08,550 [output] done
-2013-12-24 05:38:08,550 [output] 228 -> 229... 
-2013-12-24 05:38:08,579 [output] done
-2013-12-24 05:38:08,797 [output] + manage_exit=0
-2013-12-24 05:38:08,797 [output] + set +x
-2013-12-24 05:38:08,798 [output] nova-manage returned exit code 0
-2013-12-24 05:38:08,798 [output] ***** Finished DB upgrade to state of trunk *****
-2013-12-24 05:38:08,873 [output] Switched to branch 'working'
-2013-12-24 05:38:08,876 [output] Now test the patchset
-2013-12-24 05:38:09,510 [output] Install pip requirements from requirements.txt
-2013-12-24 05:38:11,885 [output] Requirements installed
-2013-12-24 05:38:12,398 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:12,398 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:12,398 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:15,066 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,114 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,115 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:15,116 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,714 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,714 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,715 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:16,715 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:16,715 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:16,715 [output]     
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:16,715 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,716 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:16,717 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:17,101 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:17,101 [output] Installing collected packages: websockify
-2013-12-24 05:38:17,101 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:17,101 [output]     Uninstalling websockify:
-2013-12-24 05:38:17,102 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:17,102 [output]   Running setup.py install for websockify
-2013-12-24 05:38:17,102 [output]     
-2013-12-24 05:38:17,102 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:17,102 [output] Successfully installed websockify
-2013-12-24 05:38:17,102 [output] Cleaning up...
-2013-12-24 05:38:17,665 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync
-2013-12-24 05:38:19,169 [output] + manage_exit=0
-2013-12-24 05:38:19,169 [output] + set +x
-2013-12-24 05:38:19,169 [output] nova-manage returned exit code 0
-2013-12-24 05:38:19,170 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:19,187 [output] Schema version is 229
-2013-12-24 05:38:19,187 [output] Now downgrade all the way back to the last stable version (v216)
-2013-12-24 05:38:19,674 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:19,674 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:19,674 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,380 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,381 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,382 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,383 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:22,383 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,027 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,211 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,212 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:24,212 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:24,212 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:24,212 [output]     
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:24,212 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:24,214 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:24,223 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,224 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:24,225 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,410 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:24,410 [output] Installing collected packages: websockify
-2013-12-24 05:38:24,410 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:24,410 [output]     Uninstalling websockify:
-2013-12-24 05:38:24,411 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:24,411 [output]   Running setup.py install for websockify
-2013-12-24 05:38:24,411 [output]     
-2013-12-24 05:38:24,411 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:24,411 [output] Successfully installed websockify
-2013-12-24 05:38:24,411 [output] Cleaning up...
-2013-12-24 05:38:24,965 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync --version 216
-2013-12-24 05:38:26,228 [output] 229 -> 228... 
-2013-12-24 05:38:26,427 [output] done
-2013-12-24 05:38:26,428 [output] 228 -> 227... 
-2013-12-24 05:38:26,455 [output] done
-2013-12-24 05:38:26,455 [output] 227 -> 226... 
-2013-12-24 05:38:26,460 [output] done
-2013-12-24 05:38:26,460 [output] 226 -> 225... 
-2013-12-24 05:38:26,464 [output] done
-2013-12-24 05:38:26,464 [output] 225 -> 224... 
-2013-12-24 05:38:26,468 [output] done
-2013-12-24 05:38:26,468 [output] 224 -> 223... 
-2013-12-24 05:38:26,473 [output] done
-2013-12-24 05:38:26,473 [output] 223 -> 222... 
-2013-12-24 05:38:26,477 [output] done
-2013-12-24 05:38:26,477 [output] 222 -> 221... 
-2013-12-24 05:38:26,481 [output] done
-2013-12-24 05:38:26,482 [output] 221 -> 220... 
-2013-12-24 05:38:26,486 [output] done
-2013-12-24 05:38:26,486 [output] 220 -> 219... 
-2013-12-24 05:38:26,490 [output] done
-2013-12-24 05:38:26,491 [output] 219 -> 218... 
-2013-12-24 05:38:26,495 [output] done
-2013-12-24 05:38:26,495 [output] 218 -> 217... 
-2013-12-24 05:38:26,499 [output] done
-2013-12-24 05:38:26,499 [output] 217 -> 216... 
-2013-12-24 05:38:26,504 [output] done
-2013-12-24 05:38:26,722 [output] + manage_exit=0
-2013-12-24 05:38:26,723 [output] + set +x
-2013-12-24 05:38:26,723 [output] nova-manage returned exit code 0
-2013-12-24 05:38:26,723 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:26,746 [output] Schema version is 216
-2013-12-24 05:38:26,747 [output] And now back up to head from the start of trunk
-2013-12-24 05:38:26,816 [output] Already on 'working'
-2013-12-24 05:38:27,378 [output] ***** Start DB upgrade to state of patchset *****
-2013-12-24 05:38:27,378 [output] No such file: /var/lib/turbo-hipster/git/gate_real_db_upgrade-thw09-percona.rcbops.com-4/openstack/nova/nova/bin/nova-manage
-2013-12-24 05:38:27,379 [output] Setting up the nova-manage entry point
-2013-12-24 05:38:28,603 [heartbeat]
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): pbr>=0.5.21,<1.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy>=0.7.8,<=0.7.99 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): amqplib>=0.6.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,066 [output] Requirement already satisfied (use --upgrade to upgrade): anyjson>=0.3.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): boto>=2.12.0,!=2.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): eventlet>=0.13.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): Jinja2 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): kombu>=2.4.8 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): lxml>=2.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): Routes>=1.12.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2.3,<1.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,067 [output] Requirement already satisfied (use --upgrade to upgrade): PasteDeploy>=1.5.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): Paste in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): sqlalchemy-migrate>=0.8.2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): netaddr>=0.7.6 in /usr/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): suds>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.8.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): Babel>=1.3 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): iso8601>=0.1.8 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:30,068 [output] Requirement already satisfied (use --upgrade to upgrade): jsonschema>=1.3.0,!=1.4.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-cinderclient>=1.0.6 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-neutronclient>=2.3.0,<3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:30,069 [output] Requirement already satisfied (use --upgrade to upgrade): python-glanceclient>=0.9.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,691 [output] Requirement already satisfied (use --upgrade to upgrade): python-keystoneclient>=0.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): stevedore>=0.12 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,692 [output] Downloading/unpacking websockify>=0.5.1,<0.6
-2013-12-24 05:38:31,692 [output]   Using download cache from /var/cache/pip/http%3A%2F%2Fwww.rcbops.com%2Fpypi%2Fmirror%2Fwebsockify%2Fwebsockify-0.5.1.tar.gz
-2013-12-24 05:38:31,692 [output]   Running setup.py egg_info for package websockify
-2013-12-24 05:38:31,692 [output]     
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): oslo.config>=1.2.0 in /usr/local/lib/python2.7/dist-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): pycadf>=0.1.9 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages
-2013-12-24 05:38:31,692 [output] Requirement already satisfied (use --upgrade to upgrade): pip>=1.0 in /usr/lib/python2.7/dist-packages (from pbr>=0.5.21,<1.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/local/lib/python2.7/dist-packages (from Jinja2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): amqp>=1.3.3,<2.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from kombu>=2.4.8)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): repoze.lru>=0.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from Routes>=1.12.3)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): decorator in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): Tempita>=0.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from sqlalchemy-migrate>=0.8.2)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): ecdsa in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from paramiko>=1.8.0)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): pytz>=0a in /usr/local/lib/python2.7/dist-packages (from Babel>=1.3)
-2013-12-24 05:38:31,693 [output] Requirement already satisfied (use --upgrade to upgrade): PrettyTable>=0.6,<0.8 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): requests>=1.1 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/local/lib/python2.7/dist-packages (from python-cinderclient>=1.0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): cliff>=1.4.3 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages (from python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): warlock>=1.0.1,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from python-glanceclient>=0.9.0)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages (from websockify>=0.5.1,<0.6)
-2013-12-24 05:38:31,694 [output] Requirement already satisfied (use --upgrade to upgrade): pyparsing>=2.0.1 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): cmd2>=0.6.7 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from cliff>=1.4.3->python-neutronclient>=2.3.0,<3)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpatch>=0.10,<2 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:32,077 [output] Requirement already satisfied (use --upgrade to upgrade): jsonpointer>=1.0 in /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/lib/python2.7/site-packages (from jsonpatch>=0.10,<2->warlock>=1.0.1,<2->python-glanceclient>=0.9.0)
-2013-12-24 05:38:32,078 [output] Installing collected packages: websockify
-2013-12-24 05:38:32,078 [output]   Found existing installation: websockify 0.3.0
-2013-12-24 05:38:32,078 [output]     Uninstalling websockify:
-2013-12-24 05:38:32,078 [output]       Successfully uninstalled websockify
-2013-12-24 05:38:32,078 [output]   Running setup.py install for websockify
-2013-12-24 05:38:32,078 [output]     
-2013-12-24 05:38:32,078 [output]     Installing websockify script to /home/turbo-hipster/.virtualenvs/d6a119ba740447589c347a83e5bd4d48/bin
-2013-12-24 05:38:32,078 [output] Successfully installed websockify
-2013-12-24 05:38:32,078 [output] Cleaning up...
-2013-12-24 05:38:32,639 [output] + nova-manage --config-file /var/lib/turbo-hipster/jobs/63/63610/1/check/gate-real-db-upgrade_nova_percona_user_001/d6a119b/nova-patchset.conf --verbose db sync
-2013-12-24 05:38:33,973 [output] 216 -> 217... 
-2013-12-24 05:38:34,016 [output] done
-2013-12-24 05:38:34,017 [output] 217 -> 218... 
-2013-12-24 05:38:34,022 [output] done
-2013-12-24 05:38:34,022 [output] 218 -> 219... 
-2013-12-24 05:38:34,026 [output] done
-2013-12-24 05:38:34,026 [output] 219 -> 220... 
-2013-12-24 05:38:34,030 [output] done
-2013-12-24 05:38:34,031 [output] 220 -> 221... 
-2013-12-24 05:38:34,035 [output] done
-2013-12-24 05:38:34,035 [output] 221 -> 222... 
-2013-12-24 05:38:34,039 [output] done
-2013-12-24 05:38:34,039 [output] 222 -> 223... 
-2013-12-24 05:38:34,043 [output] done
-2013-12-24 05:38:34,043 [output] 223 -> 224... 
-2013-12-24 05:38:34,048 [output] done
-2013-12-24 05:38:34,048 [output] 224 -> 225... 
-2013-12-24 05:38:34,052 [output] done
-2013-12-24 05:38:34,052 [output] 225 -> 226... 
-2013-12-24 05:38:34,056 [output] done
-2013-12-24 05:38:34,056 [output] 226 -> 227... 
-2013-12-24 05:38:34,066 [output] done
-2013-12-24 05:38:34,066 [output] 227 -> 228... 
-2013-12-24 05:38:34,099 [output] done
-2013-12-24 05:38:34,099 [output] 228 -> 229... 
-2013-12-24 05:38:34,126 [output] done
-2013-12-24 05:38:34,339 [output] + manage_exit=0
-2013-12-24 05:38:34,339 [output] + set +x
-2013-12-24 05:38:34,340 [output] nova-manage returned exit code 0
-2013-12-24 05:38:34,340 [output] ***** Finished DB upgrade to state of patchset *****
-2013-12-24 05:38:34,362 [output] Final schema version is 229
-2013-12-24 05:38:34,362 [output] Cleaning up virtual env
-2013-12-24 05:38:35,354 [output] Removing d6a119ba740447589c347a83e5bd4d48...
-2013-12-24 05:38:37,955 [script exit code = 0]
diff --git a/tests/assets/user_001.log b/tests/assets/user_001.log
deleted file mode 100644
index adc4e14..0000000
--- a/tests/assets/user_001.log
+++ /dev/null
@@ -1,743 +0,0 @@
-2014-01-16 06:57:33,961 [output] Triggered by: https://review.openstack.org/65615
-2014-01-16 06:57:33,961 [output] + [[ ! -e .git ]]
-2014-01-16 06:57:33,961 [output] + git checkout master
-2014-01-16 06:57:36,767 [output] Switched to branch 'master'
-2014-01-16 06:57:36,794 [output] + git pull
-2014-01-16 06:57:45,964 [output] Already up-to-date.
-2014-01-16 06:57:45,965 [output] + git remote set-url origin https://review.openstack.org/p/openstack/nova
-2014-01-16 06:57:45,970 [output] + git remote update
-2014-01-16 06:57:45,983 [output] Fetching origin
-2014-01-16 06:57:54,415 [output] + git reset --hard
-2014-01-16 06:57:54,478 [output] HEAD is now at b77282d Merge "baremetal: stop deployment if block devices are not available"
-2014-01-16 06:57:54,480 [output] + git clean -x -f -d -q
-2014-01-16 06:57:55,081 [output] + '[' -z '' ']'
-2014-01-16 06:57:55,082 [output] + git fetch http://zuul.rcbops.com/p/openstack/nova refs/zuul/master/Zfa8228d022314ccd967a79ca3f853198
-2014-01-16 06:58:03,651 [output] From http://zuul.rcbops.com/p/openstack/nova
-2014-01-16 06:58:03,652 [output]  * branch            refs/zuul/master/Zfa8228d022314ccd967a79ca3f853198 -> FETCH_HEAD
-2014-01-16 06:58:03,660 [output] + git checkout FETCH_HEAD
-2014-01-16 06:58:03,825 [output] Note: checking out 'FETCH_HEAD'.
-2014-01-16 06:58:03,826 [output] You are in 'detached HEAD' state. You can look around, make experimental
-2014-01-16 06:58:03,826 [output] changes and commit them, and you can discard any commits you make in this
-2014-01-16 06:58:03,826 [output] state without impacting any branches by performing another checkout.
-2014-01-16 06:58:03,826 [output] If you want to create a new branch to retain commits you create, you may
-2014-01-16 06:58:03,826 [output] do so (now or later) by using -b with the checkout command again. Example:
-2014-01-16 06:58:03,826 [output]   git checkout -b new_branch_name
-2014-01-16 06:58:03,826 [output] HEAD is now at b1856cf... Merge commit 'refs/changes/15/65615/7' of ssh://review.openstack.org:29418/openstack/nova
-2014-01-16 06:58:03,828 [output] + git reset --hard FETCH_HEAD
-2014-01-16 06:58:03,891 [output] HEAD is now at b1856cf Merge commit 'refs/changes/15/65615/7' of ssh://review.openstack.org:29418/openstack/nova
-2014-01-16 06:58:03,893 [output] + git clean -x -f -d -q
-2014-01-16 06:58:03,918 [output] + git branch -D working
-2014-01-16 06:58:03,924 [output] Deleted branch working (was 888c8c4).
-2014-01-16 06:58:03,924 [output] + git checkout -b working
-2014-01-16 06:58:03,955 [heartbeat]
-2014-01-16 06:58:03,996 [output] Switched to a new branch 'working'
-2014-01-16 06:58:03,999 [output] + '[' -f .gitmodules ']'
-2014-01-16 06:58:04,000 [script exit code = 0]
-2014-01-16 06:58:04,022 [output] Instance flavor: rackspace_standard_2cpu_2gb
-2014-01-16 06:58:04,023 [output] IO test starts
-2014-01-16 06:58:12,972 [output] 1024+0 records in
-2014-01-16 06:58:13,049 [output] 1024+0 records out
-2014-01-16 06:58:13,054 [output] 1048576000 bytes (1.0 GB) copied, 9.02551 s, 116 MB/s
-2014-01-16 06:58:13,055 [output] real	0m9.033s
-2014-01-16 06:58:13,055 [output] user	0m0.000s
-2014-01-16 06:58:13,055 [output] sys	0m2.398s
-2014-01-16 06:58:14,069 [output] IO test ends
-2014-01-16 06:58:14,070 [script exit code = 0]
-2014-01-16 06:58:14,529 [output] Test running on thw-percona-007 as th (/home/th, /home/th), using log processing profile full
-2014-01-16 06:58:14,530 [output] To execute this script manually, run this:
-2014-01-16 06:58:14,530 [output] .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh bc1198bacf884c0295037e8e32c0ec17 .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b .../git/gate_real_db_upgrade-thw-percona-007-4/openstack/nova nova tester nova_datasets_user_001 .../datasets_user_001/user_001/nova_user_001.sql .../datasets_user_001/user_001/logging.conf /var/cache/pip
-2014-01-16 06:58:14,530 [output] Restoring test database nova_datasets_user_001
-2014-01-16 06:58:14,530 [output] + mysql -u nova --password=... -e 'drop database nova_datasets_user_001'
-2014-01-16 06:58:17,395 [output] + mysql -u nova --password=... -e 'create database nova_datasets_user_001'
-2014-01-16 06:58:17,410 [output] + mysql -u nova --password=... nova_datasets_user_001
-2014-01-16 06:58:44,133 [heartbeat]
-2014-01-16 06:59:14,134 [heartbeat]
-2014-01-16 06:59:42,044 [output] + set +x
-2014-01-16 06:59:42,044 [output] Build test environment
-2014-01-16 06:59:42,044 [output] Setting up virtual env
-2014-01-16 06:59:44,134 [heartbeat]
-2014-01-16 06:59:44,204 [output] New python executable in bc1198bacf884c0295037e8e32c0ec17/bin/python
-2014-01-16 06:59:44,914 [output] Installing Setuptools..............................................................................................................................................................................................................................done.
-2014-01-16 06:59:45,678 [output] Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
-2014-01-16 06:59:45,840 [output] virtualenvwrapper.user_scripts creating .../envs/bc1198bacf884c0295037e8e32c0ec17/bin/predeactivate
-2014-01-16 06:59:45,841 [output] virtualenvwrapper.user_scripts creating .../envs/bc1198bacf884c0295037e8e32c0ec17/bin/postdeactivate
-2014-01-16 06:59:45,841 [output] virtualenvwrapper.user_scripts creating .../envs/bc1198bacf884c0295037e8e32c0ec17/bin/preactivate
-2014-01-16 06:59:45,841 [output] virtualenvwrapper.user_scripts creating .../envs/bc1198bacf884c0295037e8e32c0ec17/bin/postactivate
-2014-01-16 06:59:45,842 [output] virtualenvwrapper.user_scripts creating .../envs/bc1198bacf884c0295037e8e32c0ec17/bin/get_env_details
-2014-01-16 06:59:46,608 [output] Enabled global site-packages
-2014-01-16 06:59:46,831 [output] Schema version is 133
-2014-01-16 06:59:46,833 [output] Database is from Folsom! Upgrade via Grizzly
-2014-01-16 06:59:46,949 [output] Deleted branch stable/grizzly (was 3e451f1).
-2014-01-16 06:59:47,123 [output] Fetching origin
-2014-01-16 07:00:01,867 [output] Switched to a new branch 'stable/grizzly'
-2014-01-16 07:00:03,409 [output] HEAD is now at 3e451f1 use 'os_type' in ephemeral filename only if mkfs defined
-2014-01-16 07:00:04,297 [output] Install pip requirements from tools/pip-requires
-2014-01-16 07:00:14,135 [heartbeat]
-2014-01-16 07:00:44,135 [heartbeat]
-2014-01-16 07:01:14,135 [heartbeat]
-2014-01-16 07:01:44,136 [heartbeat]
-2014-01-16 07:02:14,136 [heartbeat]
-2014-01-16 07:02:44,136 [heartbeat]
-2014-01-16 07:03:14,137 [heartbeat]
-2014-01-16 07:03:26,278 [output] Requirements installed
-2014-01-16 07:03:26,303 [output] ***** Start DB upgrade to state of grizzly *****
-2014-01-16 07:03:26,303 [output] HEAD of branch under test is:
-2014-01-16 07:03:26,312 [output] commit 3e451f1bac57d24e47171cffb3ad59bb1610d836
-2014-01-16 07:03:26,312 [output] Author: Ryan Moore <ryan.moore@hp.com>
-2014-01-16 07:03:26,312 [output] Date:   Fri Nov 29 14:21:19 2013 +0000
-2014-01-16 07:03:26,312 [output]     use 'os_type' in ephemeral filename only if mkfs defined
-2014-01-16 07:03:26,313 [output]
-2014-01-16 07:03:26,313 [output]     Currently for undefined os-types it will use the default mkfs
-2014-01-16 07:03:26,313 [output]     command, but use the meta 'os_type' in the name of the
-2014-01-16 07:03:26,313 [output]     ephemeral file (e.g. ephemeral_20_abcdef). Which can result
-2014-01-16 07:03:26,313 [output]     in a lot of files (DoS?)
-2014-01-16 07:03:26,313 [output]     This change will only use 'os_type' in the ephemeral filename
-2014-01-16 07:03:26,313 [output]     if there is a specific mkfs command defined, otherwise it will
-2014-01-16 07:03:26,313 [output]     use 'default' (e.g. ephemeral_20_default)
-2014-01-16 07:03:26,313 [output]
-2014-01-16 07:03:26,314 [output]     Modifed the tests to test for:
-2014-01-16 07:03:26,314 [output]       os_type=''
-2014-01-16 07:03:26,314 [output]       os_type=None
-2014-01-16 07:03:26,314 [output]       os_type='test' - with no mkfs command specified
-2014-01-16 07:03:26,314 [output]       os_type='test' - with a mkfs command specified
-2014-01-16 07:03:26,314 [output]
-2014-01-16 07:03:26,314 [output]     Closes-Bug: 1253980
-2014-01-16 07:03:26,315 [output]
-2014-01-16 07:03:26,315 [output]     Backport of Original Change-Id: Ie4c10f99ce690c5e4ef181624bd688c38923855c
-2014-01-16 07:03:26,315 [output]     to stable/grizzly
-2014-01-16 07:03:26,315 [output]
-2014-01-16 07:03:26,315 [output]     Change-Id: Ia040910e90861a2987eff345ad1c01863655b124
-2014-01-16 07:03:26,315 [output] Setting up the nova-manage entry point
-2014-01-16 07:03:30,974 [output] warning: no files found matching 'AUTHORS'
-2014-01-16 07:03:30,982 [output] warning: no files found matching 'ChangeLog'
-2014-01-16 07:03:31,009 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2014-01-16 07:03:32,636 [output] warning: no files found matching 'AUTHORS'
-2014-01-16 07:03:32,644 [output] warning: no files found matching 'ChangeLog'
-2014-01-16 07:03:32,671 [output] warning: no previously-included files matching '*.pyc' found anywhere in distribution
-2014-01-16 07:03:37,629 [output] zip_safe flag not set; analyzing archive contents...
-2014-01-16 07:03:37,634 [output] nova.crypto: module references __file__
-2014-01-16 07:03:37,636 [output] nova.loadables: module references __path__
-2014-01-16 07:03:37,637 [output] nova.service: module MAY be using inspect.stack
-2014-01-16 07:03:37,639 [output] nova.utils: module references __file__
-2014-01-16 07:03:37,639 [output] nova.paths: module references __file__
-2014-01-16 07:03:37,648 [output] nova.db.sqlalchemy.migration: module references __file__
-2014-01-16 07:03:37,682 [output] nova.api.openstack.compute.contrib.__init__: module references __path__
-2014-01-16 07:03:37,692 [output] nova.openstack.common.setup: module references __file__
-2014-01-16 07:03:37,693 [output] nova.openstack.common.log: module MAY be using inspect.stack
-2014-01-16 07:03:37,694 [output] nova.openstack.common.db.sqlalchemy.session: module references __file__
-2014-01-16 07:03:37,700 [output] nova.openstack.common.rpc.__init__: module MAY be using inspect.stack
-2014-01-16 07:03:37,711 [output] nova.network.linux_net: module MAY be using inspect.stack
-2014-01-16 07:03:37,735 [output] nova.tests.test_nova_manage: module references __file__
-2014-01-16 07:03:37,738 [output] nova.tests.test_misc: module references __file__
-2014-01-16 07:03:37,747 [output] nova.tests.test_wsgi: module references __file__
-2014-01-16 07:03:37,768 [output] nova.tests.test_xenapi: module references __file__
-2014-01-16 07:03:37,776 [output] nova.tests.test_migrations: module references __file__
-2014-01-16 07:03:37,787 [output] nova.tests.api.ec2.test_cloud: module references __file__
-2014-01-16 07:03:37,844 [output] nova.tests.integrated.test_api_samples: module references __file__
-2014-01-16 07:03:37,889 [output] nova.tests.image.test_s3: module references __file__
-2014-01-16 07:03:37,900 [output] nova.tests.baremetal.test_nova_baremetal_deploy_helper: module references __file__
-2014-01-16 07:03:37,900 [output] nova.tests.baremetal.test_nova_baremetal_manage: module references __file__
-2014-01-16 07:03:37,962 [output] nova.virt.baremetal.db.sqlalchemy.migration: module references __file__
-2014-01-16 07:03:43,411 [output] Migrations present:
-2014-01-16 07:03:43,424 [output] 133_folsom.py
-2014-01-16 07:03:43,424 [output] 134_add_counters_to_bw_usage_cache.py
-2014-01-16 07:03:43,425 [output] 135_add_node_to_instances.py
-2014-01-16 07:03:43,425 [output] 136_add_index_to_instances.py
-2014-01-16 07:03:43,425 [output] 137_add_indexes_to_migrations.py
-2014-01-16 07:03:43,425 [output] 138_drop_server_name_from_instances.py
-2014-01-16 07:03:43,425 [output] 139_add_indexes_to_fixed_ips.py
-2014-01-16 07:03:43,425 [output] 140_drop_unused_postgresql_volume_sequences.py
-2014-01-16 07:03:43,425 [output] 141_update_migrations_instance_uuid.py
-2014-01-16 07:03:43,425 [output] 142_add_migrations_instance_status_index.py
-2014-01-16 07:03:43,425 [output] 143_rename_instance_info_cache_sequence.py
-2014-01-16 07:03:43,426 [output] 144_add_node_to_migrations.py
-2014-01-16 07:03:43,426 [output] 145_add_volume_usage_cache.py
-2014-01-16 07:03:43,426 [output] 146_aggregate_zones.py
-2014-01-16 07:03:43,426 [output] 147_no_service_zones.py
-2014-01-16 07:03:43,426 [output] 148_add_instance_actions.py
-2014-01-16 07:03:43,426 [output] 149_inet_datatype_for_postgres.py
-2014-01-16 07:03:43,426 [output] 150_add_host_to_instance_faults.py
-2014-01-16 07:03:43,426 [output] 151_change_task_log_column_type.py
-2014-01-16 07:03:43,427 [output] 152_change_type_of_deleted_column.py
-2014-01-16 07:03:43,427 [output] 153_instance_type_in_system_metadata.py
-2014-01-16 07:03:43,427 [output] 154_add_shadow_tables.py
-2014-01-16 07:03:43,427 [output] 155_add_task_log_uc.py
-2014-01-16 07:03:43,427 [output] 156_cidr_column_length.py
-2014-01-16 07:03:43,427 [output] 157_add_security_group_default_rules.py
-2014-01-16 07:03:43,427 [output] 158_add_networks_uc.py
-2014-01-16 07:03:43,427 [output] 159_revert_ip_column_length.py
-2014-01-16 07:03:43,427 [output] 160_fix_system_metadata_deleted.py
-2014-01-16 07:03:43,428 [output] 161_fix_system_metadata_none_strings.py
-2014-01-16 07:03:43,428 [output] Restarting mysql
-2014-01-16 07:03:44,137 [heartbeat]
-2014-01-16 07:03:44,307 [sqlerr] 140116  7:03:44 [Note] /usr/sbin/mysqld: Normal shutdown
-2014-01-16 07:03:44,308 [sqlerr] 140116  7:03:44 [Note] Event Scheduler: Purging the queue. 0 events
-2014-01-16 07:03:44,440 [sqlerr] 140116  7:03:44  InnoDB: Starting shutdown...
-2014-01-16 07:03:46,242 [sqlerr] 140116  7:03:46  InnoDB: Shutdown completed; log sequence number 727562614175
-2014-01-16 07:03:46,244 [sqlerr] 140116  7:03:46 [Note] /usr/sbin/mysqld: Shutdown complete
-2014-01-16 07:03:46,260 [output] mysql stop/waiting
-2014-01-16 07:03:46,435 [syslog] Jan 16 07:03:46 thw-percona-007 kernel: [1470247.788188] type=1400 audit(1389855826.428:528): apparmor="STATUS" operation="profile_replace" parent=10171 profile="unconfined" name="/usr/sbin/mysqld" pid=10175 comm="apparmor_parser"
-2014-01-16 07:03:46,941 [sqlerr] 140116  7:03:46 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
-2014-01-16 07:03:46,941 [sqlerr] 140116  7:03:46 [Note] Plugin 'FEDERATED' is disabled.
-2014-01-16 07:03:46,942 [sqlerr] 140116  7:03:46 InnoDB: The InnoDB memory heap is disabled
-2014-01-16 07:03:46,942 [sqlerr] 140116  7:03:46 InnoDB: Mutexes and rw_locks use GCC atomic builtins
-2014-01-16 07:03:46,942 [sqlerr] 140116  7:03:46 InnoDB: Compressed tables use zlib 1.2.3
-2014-01-16 07:03:46,943 [sqlerr] 140116  7:03:46 InnoDB: Using Linux native AIO
-2014-01-16 07:03:46,960 [sqlerr] 140116  7:03:46 InnoDB: Initializing buffer pool, size = 128.0M
-2014-01-16 07:03:46,983 [sqlerr] 140116  7:03:46 InnoDB: Completed initialization of buffer pool
-2014-01-16 07:03:47,001 [sqlerr] 140116  7:03:46 InnoDB: highest supported file format is Barracuda.
-2014-01-16 07:03:47,107 [sqlerr] 140116  7:03:47  InnoDB: Waiting for the background threads to start
-2014-01-16 07:03:48,108 [sqlerr] 140116  7:03:48 Percona XtraDB (http://www.percona.com) 5.5.35-rel33.0 started; log sequence number 727562614175
-2014-01-16 07:03:48,113 [sqlerr] 140116  7:03:48 [Note] Event Scheduler: Loaded 0 events
-2014-01-16 07:03:48,114 [sqlerr] 140116  7:03:48 [Note] /usr/sbin/mysqld: ready for connections.
-2014-01-16 07:03:48,114 [sqlerr] Version: '5.5.35-33.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Percona Server (GPL), Release 33.0
-2014-01-16 07:03:48,867 [output] mysql start/running, process 10179
-2014-01-16 07:03:48,870 [output] MySQL counters before upgrade:
-2014-01-16 07:03:48,881 [syslog] Jan 16 07:03:48 thw-percona-007 /etc/mysql/debian-start[10268]: Upgrading MySQL tables if necessary.
-2014-01-16 07:03:48,899 [output] Variable_name	Value
-2014-01-16 07:03:48,900 [output] Innodb_adaptive_hash_cells	276671
-2014-01-16 07:03:48,900 [output] Innodb_adaptive_hash_heap_buffers	0
-2014-01-16 07:03:48,900 [output] Innodb_adaptive_hash_hash_searches	0
-2014-01-16 07:03:48,900 [output] Innodb_adaptive_hash_non_hash_searches	6949
-2014-01-16 07:03:48,900 [output] Innodb_background_log_sync	1
-2014-01-16 07:03:48,900 [output] Innodb_buffer_pool_pages_data	366
-2014-01-16 07:03:48,900 [output] Innodb_buffer_pool_bytes_data	5996544
-2014-01-16 07:03:48,900 [output] Innodb_buffer_pool_pages_dirty	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_bytes_dirty	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_flushed	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_LRU_flushed	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_free	7824
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_made_not_young	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_made_young	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_misc	1
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_old	0
-2014-01-16 07:03:48,901 [output] Innodb_buffer_pool_pages_total	8191
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_read_ahead_rnd	0
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_read_ahead	0
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_read_ahead_evicted	0
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_read_requests	27689
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_reads	367
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_wait_free	0
-2014-01-16 07:03:48,902 [output] Innodb_buffer_pool_write_requests	0
-2014-01-16 07:03:48,902 [output] Innodb_checkpoint_age	0
-2014-01-16 07:03:48,906 [output] Innodb_checkpoint_max_age	7782360
-2014-01-16 07:03:48,906 [output] Innodb_checkpoint_target_age	7539162
-2014-01-16 07:03:48,906 [output] Innodb_data_fsyncs	3
-2014-01-16 07:03:48,906 [output] Innodb_data_pending_fsyncs	0
-2014-01-16 07:03:48,907 [output] Innodb_data_pending_reads	0
-2014-01-16 07:03:48,907 [output] Innodb_data_pending_writes	0
-2014-01-16 07:03:48,907 [output] Innodb_data_read	8196096
-2014-01-16 07:03:48,907 [output] Innodb_data_reads	377
-2014-01-16 07:03:48,907 [output] Innodb_data_writes	3
-2014-01-16 07:03:48,907 [output] Innodb_data_written	1536
-2014-01-16 07:03:48,907 [output] Innodb_dblwr_pages_written	0
-2014-01-16 07:03:48,907 [output] Innodb_dblwr_writes	0
-2014-01-16 07:03:48,907 [output] Innodb_deadlocks	0
-2014-01-16 07:03:48,908 [output] Innodb_dict_tables	10
-2014-01-16 07:03:48,908 [output] Innodb_have_atomic_builtins	ON
-2014-01-16 07:03:48,908 [output] Innodb_history_list_length	871
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_discarded_delete_marks	0
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_discarded_deletes	0
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_discarded_inserts	0
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_free_list	5
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_merged_delete_marks	0
-2014-01-16 07:03:48,908 [output] Innodb_ibuf_merged_deletes	0
-2014-01-16 07:03:48,909 [output] Innodb_ibuf_merged_inserts	0
-2014-01-16 07:03:48,909 [output] Innodb_ibuf_merges	0
-2014-01-16 07:03:48,909 [output] Innodb_ibuf_segment_size	7
-2014-01-16 07:03:48,909 [output] Innodb_ibuf_size	1
-2014-01-16 07:03:48,909 [output] Innodb_log_waits	0
-2014-01-16 07:03:48,909 [output] Innodb_log_write_requests	0
-2014-01-16 07:03:48,909 [output] Innodb_log_writes	1
-2014-01-16 07:03:48,909 [output] Innodb_lsn_current	727562614175
-2014-01-16 07:03:48,909 [output] Innodb_lsn_flushed	727562614175
-2014-01-16 07:03:48,909 [output] Innodb_lsn_last_checkpoint	727562614175
-2014-01-16 07:03:48,910 [output] Innodb_master_thread_1_second_loops	1
-2014-01-16 07:03:48,910 [output] Innodb_master_thread_10_second_loops	0
-2014-01-16 07:03:48,910 [output] Innodb_master_thread_background_loops	1
-2014-01-16 07:03:48,910 [output] Innodb_master_thread_main_flush_loops	1
-2014-01-16 07:03:48,910 [output] Innodb_master_thread_sleeps	1
-2014-01-16 07:03:48,910 [output] Innodb_max_trx_id	1636096
-2014-01-16 07:03:48,910 [output] Innodb_mem_adaptive_hash	2233968
-2014-01-16 07:03:48,910 [output] Innodb_mem_dictionary	614330
-2014-01-16 07:03:48,910 [output] Innodb_mem_total	137756672
-2014-01-16 07:03:48,911 [output] Innodb_mutex_os_waits	0
-2014-01-16 07:03:48,911 [output] Innodb_mutex_spin_rounds	0
-2014-01-16 07:03:48,911 [output] Innodb_mutex_spin_waits	0
-2014-01-16 07:03:48,911 [output] Innodb_oldest_view_low_limit_trx_id	1636096
-2014-01-16 07:03:48,911 [output] Innodb_os_log_fsyncs	3
-2014-01-16 07:03:48,911 [output] Innodb_os_log_pending_fsyncs	0
-2014-01-16 07:03:48,911 [output] Innodb_os_log_pending_writes	0
-2014-01-16 07:03:48,911 [output] Innodb_os_log_written	512
-2014-01-16 07:03:48,912 [output] Innodb_page_size	16384
-2014-01-16 07:03:48,912 [output] Innodb_pages_created	0
-2014-01-16 07:03:48,912 [output] Innodb_pages_read	366
-2014-01-16 07:03:48,912 [output] Innodb_pages_written	0
-2014-01-16 07:03:48,912 [output] Innodb_purge_trx_id	1635160
-2014-01-16 07:03:48,912 [output] Innodb_purge_undo_no	0
-2014-01-16 07:03:48,912 [output] Innodb_row_lock_current_waits	0
-2014-01-16 07:03:48,912 [output] Innodb_current_row_locks	0
-2014-01-16 07:03:48,913 [output] Innodb_row_lock_time	0
-2014-01-16 07:03:48,913 [output] Innodb_row_lock_time_avg	0
-2014-01-16 07:03:48,913 [output] Innodb_row_lock_time_max	0
-2014-01-16 07:03:48,913 [output] Innodb_row_lock_waits	0
-2014-01-16 07:03:48,913 [output] Innodb_rows_deleted	0
-2014-01-16 07:03:48,913 [output] Innodb_rows_inserted	0
-2014-01-16 07:03:48,913 [output] Innodb_rows_read	0
-2014-01-16 07:03:48,913 [output] Innodb_rows_updated	0
-2014-01-16 07:03:48,913 [output] Innodb_read_views_memory	88
-2014-01-16 07:03:48,913 [output] Innodb_descriptors_memory	8000
-2014-01-16 07:03:48,914 [output] Innodb_s_lock_os_waits	2
-2014-01-16 07:03:48,914 [output] Innodb_s_lock_spin_rounds	60
-2014-01-16 07:03:48,914 [output] Innodb_s_lock_spin_waits	2
-2014-01-16 07:03:48,914 [output] Innodb_truncated_status_writes	0
-2014-01-16 07:03:48,914 [output] Innodb_x_lock_os_waits	0
-2014-01-16 07:03:48,914 [output] Innodb_x_lock_spin_rounds	0
-2014-01-16 07:03:48,914 [output] Innodb_x_lock_spin_waits	0
-2014-01-16 07:03:48,950 [output] Test will migrate from 133 to 161
-2014-01-16 07:03:48,956 [output] ++ dirname .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh
-2014-01-16 07:03:48,961 [output] + sudo /sbin/ip netns exec nonet .../task_plugins/gate_real_db_upgrade/nova-manage-wrapper .../envs/bc1198bacf884c0295037e8e32c0ec17 --config-file .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b/nova-grizzly.conf --verbose db sync --version 134
-2014-01-16 07:03:49,076 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10272]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
-2014-01-16 07:03:49,076 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10272]: Looking for 'mysql' as: /usr/bin/mysql
-2014-01-16 07:03:49,076 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10272]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
-2014-01-16 07:03:49,076 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10272]: This installation of MySQL is already upgraded to 5.5.35, use --force if you still need to run mysql_upgrade
-2014-01-16 07:03:49,079 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10299]: Checking for insecure root accounts.
-2014-01-16 07:03:49,102 [syslog] Jan 16 07:03:49 thw-percona-007 /etc/mysql/debian-start[10305]: Triggering myisam-recover for all MyISAM tables
-2014-01-16 07:03:50,665 [sqlerr] 140116  7:03:50 [Warning] IP address '172.16.0.2' could not be resolved: Name or service not known
-2014-01-16 07:03:50,708 [output] 133 -> 134...
-2014-01-16 07:03:50,879 [output] done
-2014-01-16 07:03:51,225 [output] + manage_exit=0
-2014-01-16 07:03:51,225 [output] + set +x
-2014-01-16 07:03:51,226 [output] MySQL counters after upgrade:
-2014-01-16 07:03:51,238 [output] Variable_name	Value
-2014-01-16 07:03:51,238 [output] Innodb_adaptive_hash_cells	276671
-2014-01-16 07:03:51,238 [output] Innodb_adaptive_hash_heap_buffers	2
-2014-01-16 07:03:51,238 [output] Innodb_adaptive_hash_hash_searches	951
-2014-01-16 07:03:51,238 [output] Innodb_adaptive_hash_non_hash_searches	8727
-2014-01-16 07:03:51,238 [output] Innodb_background_log_sync	4
-2014-01-16 07:03:51,238 [output] Innodb_buffer_pool_pages_data	1143
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_bytes_data	18726912
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_dirty	56
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_bytes_dirty	917504
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_flushed	0
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_LRU_flushed	0
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_free	7045
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_made_not_young	0
-2014-01-16 07:03:51,239 [output] Innodb_buffer_pool_pages_made_young	0
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_pages_misc	3
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_pages_old	441
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_pages_total	8191
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_read_ahead_rnd	0
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_read_ahead	0
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_read_ahead_evicted	0
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_read_requests	47329
-2014-01-16 07:03:51,240 [output] Innodb_buffer_pool_reads	1134
-2014-01-16 07:03:51,241 [output] Innodb_buffer_pool_wait_free	0
-2014-01-16 07:03:51,241 [output] Innodb_buffer_pool_write_requests	498
-2014-01-16 07:03:51,241 [output] Innodb_checkpoint_age	22103
-2014-01-16 07:03:51,241 [output] Innodb_checkpoint_max_age	7782360
-2014-01-16 07:03:51,241 [output] Innodb_checkpoint_target_age	7539162
-2014-01-16 07:03:51,241 [output] Innodb_data_fsyncs	14
-2014-01-16 07:03:51,241 [output] Innodb_data_pending_fsyncs	0
-2014-01-16 07:03:51,241 [output] Innodb_data_pending_reads	1
-2014-01-16 07:03:51,241 [output] Innodb_data_pending_writes	0
-2014-01-16 07:03:51,242 [output] Innodb_data_read	20779008
-2014-01-16 07:03:51,242 [output] Innodb_data_reads	1145
-2014-01-16 07:03:51,242 [output] Innodb_data_writes	14
-2014-01-16 07:03:51,242 [output] Innodb_data_written	29184
-2014-01-16 07:03:51,242 [output] Innodb_dblwr_pages_written	0
-2014-01-16 07:03:51,242 [output] Innodb_dblwr_writes	0
-2014-01-16 07:03:51,242 [output] Innodb_deadlocks	0
-2014-01-16 07:03:51,242 [output] Innodb_dict_tables	311
-2014-01-16 07:03:51,243 [output] Innodb_have_atomic_builtins	ON
-2014-01-16 07:03:51,243 [output] Innodb_history_list_length	879
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_discarded_delete_marks	0
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_discarded_deletes	0
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_discarded_inserts	0
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_free_list	5
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_merged_delete_marks	0
-2014-01-16 07:03:51,243 [output] Innodb_ibuf_merged_deletes	0
-2014-01-16 07:03:51,244 [output] Innodb_ibuf_merged_inserts	0
-2014-01-16 07:03:51,244 [output] Innodb_ibuf_merges	0
-2014-01-16 07:03:51,244 [output] Innodb_ibuf_segment_size	7
-2014-01-16 07:03:51,244 [output] Innodb_ibuf_size	1
-2014-01-16 07:03:51,244 [output] Innodb_log_waits	0
-2014-01-16 07:03:51,244 [output] Innodb_log_write_requests	54
-2014-01-16 07:03:51,244 [output] Innodb_log_writes	12
-2014-01-16 07:03:51,244 [output] Innodb_lsn_current	727562636278
-2014-01-16 07:03:51,244 [output] Innodb_lsn_flushed	727562636278
-2014-01-16 07:03:51,245 [output] Innodb_lsn_last_checkpoint	727562614175
-2014-01-16 07:03:51,245 [output] Innodb_master_thread_1_second_loops	4
-2014-01-16 07:03:51,245 [output] Innodb_master_thread_10_second_loops	0
-2014-01-16 07:03:51,245 [output] Innodb_master_thread_background_loops	1
-2014-01-16 07:03:51,245 [output] Innodb_master_thread_main_flush_loops	1
-2014-01-16 07:03:51,245 [output] Innodb_master_thread_sleeps	3
-2014-01-16 07:03:51,245 [output] Innodb_max_trx_id	1636119
-2014-01-16 07:03:51,245 [output] Innodb_mem_adaptive_hash	2266736
-2014-01-16 07:03:51,245 [output] Innodb_mem_dictionary	2568175
-2014-01-16 07:03:51,246 [output] Innodb_mem_total	137756672
-2014-01-16 07:03:51,246 [output] Innodb_mutex_os_waits	1
-2014-01-16 07:03:51,246 [output] Innodb_mutex_spin_rounds	30
-2014-01-16 07:03:51,246 [output] Innodb_mutex_spin_waits	1
-2014-01-16 07:03:51,246 [output] Innodb_oldest_view_low_limit_trx_id	1636119
-2014-01-16 07:03:51,246 [output] Innodb_os_log_fsyncs	14
-2014-01-16 07:03:51,246 [output] Innodb_os_log_pending_fsyncs	0
-2014-01-16 07:03:51,246 [output] Innodb_os_log_pending_writes	0
-2014-01-16 07:03:51,246 [output] Innodb_os_log_written	28160
-2014-01-16 07:03:51,247 [output] Innodb_page_size	16384
-2014-01-16 07:03:51,247 [output] Innodb_pages_created	9
-2014-01-16 07:03:51,247 [output] Innodb_pages_read	1133
-2014-01-16 07:03:51,247 [output] Innodb_pages_written	0
-2014-01-16 07:03:51,247 [output] Innodb_purge_trx_id	1636118
-2014-01-16 07:03:51,247 [output] Innodb_purge_undo_no	0
-2014-01-16 07:03:51,247 [output] Innodb_row_lock_current_waits	0
-2014-01-16 07:03:51,247 [output] Innodb_current_row_locks	0
-2014-01-16 07:03:51,247 [output] Innodb_row_lock_time	0
-2014-01-16 07:03:51,248 [output] Innodb_row_lock_time_avg	0
-2014-01-16 07:03:51,248 [output] Innodb_row_lock_time_max	0
-2014-01-16 07:03:51,248 [output] Innodb_row_lock_waits	0
-2014-01-16 07:03:51,248 [output] Innodb_rows_deleted	0
-2014-01-16 07:03:51,248 [output] Innodb_rows_inserted	0
-2014-01-16 07:03:51,248 [output] Innodb_rows_read	5
-2014-01-16 07:03:51,248 [output] Innodb_rows_updated	1
-2014-01-16 07:03:51,248 [output] Innodb_read_views_memory	88
-2014-01-16 07:03:51,248 [output] Innodb_descriptors_memory	8000
-2014-01-16 07:03:51,249 [output] Innodb_s_lock_os_waits	2
-2014-01-16 07:03:51,249 [output] Innodb_s_lock_spin_rounds	60
-2014-01-16 07:03:51,249 [output] Innodb_s_lock_spin_waits	2
-2014-01-16 07:03:51,249 [output] Innodb_truncated_status_writes	0
-2014-01-16 07:03:51,249 [output] Innodb_x_lock_os_waits	1
-2014-01-16 07:03:51,249 [output] Innodb_x_lock_spin_rounds	30
-2014-01-16 07:03:51,249 [output] Innodb_x_lock_spin_waits	1
-2014-01-16 07:03:51,250 [output] nova-manage returned exit code 0
-2014-01-16 07:03:51,250 [output] ++ dirname .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh
-2014-01-16 07:03:51,250 [output] + sudo /sbin/ip netns exec nonet .../task_plugins/gate_real_db_upgrade/nova-manage-wrapper .../envs/bc1198bacf884c0295037e8e32c0ec17 --config-file .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b/nova-grizzly.conf --verbose db sync --version 135
-2014-01-16 07:03:52,241 [output] 134 -> 135...
-2014-01-16 07:04:14,138 [heartbeat]
-2014-01-16 07:04:44,138 [heartbeat]
-2014-01-16 07:04:52,187 [output] done
-2014-01-16 07:04:52,780 [output] + manage_exit=0
-2014-01-16 07:04:52,781 [output] + set +x
-2014-01-16 07:04:52,781 [output] MySQL counters after upgrade:
-2014-01-16 07:04:53,160 [output] Variable_name	Value
-2014-01-16 07:04:53,160 [output] Innodb_adaptive_hash_cells	276671
-2014-01-16 07:04:53,160 [output] Innodb_adaptive_hash_heap_buffers	2
-2014-01-16 07:04:53,160 [output] Innodb_adaptive_hash_hash_searches	106083
-2014-01-16 07:04:53,160 [output] Innodb_adaptive_hash_non_hash_searches	298400
-2014-01-16 07:04:53,161 [output] Innodb_background_log_sync	66
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_data	8188
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_bytes_data	134152192
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_dirty	7
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_bytes_dirty	114688
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_flushed	45520
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_LRU_flushed	0
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_free	0
-2014-01-16 07:04:53,161 [output] Innodb_buffer_pool_pages_made_not_young	0
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_pages_made_young	21156
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_pages_misc	3
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_pages_old	3003
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_pages_total	8191
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_read_ahead_rnd	0
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_read_ahead	384
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_read_ahead_evicted	74
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_read_requests	1298715
-2014-01-16 07:04:53,162 [output] Innodb_buffer_pool_reads	26174
-2014-01-16 07:04:53,163 [output] Innodb_buffer_pool_wait_free	0
-2014-01-16 07:04:53,163 [output] Innodb_buffer_pool_write_requests	614699
-2014-01-16 07:04:53,163 [output] Innodb_checkpoint_age	6587228
-2014-01-16 07:04:53,163 [output] Innodb_checkpoint_max_age	7782360
-2014-01-16 07:04:53,163 [output] Innodb_checkpoint_target_age	7539162
-2014-01-16 07:04:53,163 [output] Innodb_data_fsyncs	1413
-2014-01-16 07:04:53,163 [output] Innodb_data_pending_fsyncs	0
-2014-01-16 07:04:53,163 [output] Innodb_data_pending_reads	0
-2014-01-16 07:04:53,164 [output] Innodb_data_pending_writes	0
-2014-01-16 07:04:53,164 [output] Innodb_data_read	437538816
-2014-01-16 07:04:53,164 [output] Innodb_data_reads	26582
-2014-01-16 07:04:53,164 [output] Innodb_data_writes	46917
-2014-01-16 07:04:53,164 [output] Innodb_data_written	1826503168
-2014-01-16 07:04:53,164 [output] Innodb_dblwr_pages_written	45520
-2014-01-16 07:04:53,164 [output] Innodb_dblwr_writes	443
-2014-01-16 07:04:53,164 [output] Innodb_deadlocks	0
-2014-01-16 07:04:53,164 [output] Innodb_dict_tables	345
-2014-01-16 07:04:53,165 [output] Innodb_have_atomic_builtins	ON
-2014-01-16 07:04:53,165 [output] Innodb_history_list_length	883
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_discarded_delete_marks	0
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_discarded_deletes	0
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_discarded_inserts	0
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_free_list	5
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_merged_delete_marks	1
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_merged_deletes	0
-2014-01-16 07:04:53,165 [output] Innodb_ibuf_merged_inserts	143
-2014-01-16 07:04:53,166 [output] Innodb_ibuf_merges	18
-2014-01-16 07:04:53,166 [output] Innodb_ibuf_segment_size	7
-2014-01-16 07:04:53,166 [output] Innodb_ibuf_size	1
-2014-01-16 07:04:53,166 [output] Innodb_log_waits	0
-2014-01-16 07:04:53,166 [output] Innodb_log_write_requests	731094
-2014-01-16 07:04:53,166 [output] Innodb_log_writes	507
-2014-01-16 07:04:53,166 [output] Innodb_lsn_current	727897236746
-2014-01-16 07:04:53,166 [output] Innodb_lsn_flushed	727897236160
-2014-01-16 07:04:53,166 [output] Innodb_lsn_last_checkpoint	727890649518
-2014-01-16 07:04:53,167 [output] Innodb_master_thread_1_second_loops	64
-2014-01-16 07:04:53,167 [output] Innodb_master_thread_10_second_loops	6
-2014-01-16 07:04:53,167 [output] Innodb_master_thread_background_loops	1
-2014-01-16 07:04:53,167 [output] Innodb_master_thread_main_flush_loops	1
-2014-01-16 07:04:53,167 [output] Innodb_master_thread_sleeps	63
-2014-01-16 07:04:53,167 [output] Innodb_max_trx_id	1636137
-2014-01-16 07:04:53,167 [output] Innodb_mem_adaptive_hash	2266736
-2014-01-16 07:04:53,167 [output] Innodb_mem_dictionary	2812073
-2014-01-16 07:04:53,167 [output] Innodb_mem_total	137756672
-2014-01-16 07:04:53,168 [output] Innodb_mutex_os_waits	18
-2014-01-16 07:04:53,168 [output] Innodb_mutex_spin_rounds	630
-2014-01-16 07:04:53,168 [output] Innodb_mutex_spin_waits	21
-2014-01-16 07:04:53,168 [output] Innodb_oldest_view_low_limit_trx_id	1636137
-2014-01-16 07:04:53,168 [output] Innodb_os_log_fsyncs	516
-2014-01-16 07:04:53,168 [output] Innodb_os_log_pending_fsyncs	0
-2014-01-16 07:04:53,168 [output] Innodb_os_log_pending_writes	0
-2014-01-16 07:04:53,168 [output] Innodb_os_log_written	334849024
-2014-01-16 07:04:53,169 [output] Innodb_page_size	16384
-2014-01-16 07:04:53,169 [output] Innodb_pages_created	25512
-2014-01-16 07:04:53,169 [output] Innodb_pages_read	26571
-2014-01-16 07:04:53,169 [output] Innodb_pages_written	45520
-2014-01-16 07:04:53,169 [output] Innodb_purge_trx_id	1636136
-2014-01-16 07:04:53,169 [output] Innodb_purge_undo_no	0
-2014-01-16 07:04:53,169 [output] Innodb_row_lock_current_waits	0
-2014-01-16 07:04:53,169 [output] Innodb_current_row_locks	0
-2014-01-16 07:04:53,169 [output] Innodb_row_lock_time	0
-2014-01-16 07:04:53,170 [output] Innodb_row_lock_time_avg	0
-2014-01-16 07:04:53,170 [output] Innodb_row_lock_time_max	0
-2014-01-16 07:04:53,170 [output] Innodb_row_lock_waits	0
-2014-01-16 07:04:53,170 [output] Innodb_rows_deleted	0
-2014-01-16 07:04:53,170 [output] Innodb_rows_inserted	45463
-2014-01-16 07:04:53,170 [output] Innodb_rows_read	45472
-2014-01-16 07:04:53,170 [output] Innodb_rows_updated	2
-2014-01-16 07:04:53,170 [output] Innodb_read_views_memory	96
-2014-01-16 07:04:53,170 [output] Innodb_descriptors_memory	8000
-2014-01-16 07:04:53,171 [output] Innodb_s_lock_os_waits	14
-2014-01-16 07:04:53,171 [output] Innodb_s_lock_spin_rounds	420
-2014-01-16 07:04:53,171 [output] Innodb_s_lock_spin_waits	14
-2014-01-16 07:04:53,171 [output] Innodb_truncated_status_writes	0
-2014-01-16 07:04:53,171 [output] Innodb_x_lock_os_waits	408
-2014-01-16 07:04:53,171 [output] Innodb_x_lock_spin_rounds	12240
-2014-01-16 07:04:53,171 [output] Innodb_x_lock_spin_waits	2
-2014-01-16 07:04:53,172 [output] nova-manage returned exit code 0
-2014-01-16 07:04:53,172 [output] ++ dirname .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh
-2014-01-16 07:04:53,172 [output] + sudo /sbin/ip netns exec nonet .../task_plugins/gate_real_db_upgrade/nova-manage-wrapper .../envs/bc1198bacf884c0295037e8e32c0ec17 --config-file .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b/nova-grizzly.conf --verbose db sync --version 136
-2014-01-16 07:04:55,160 [output] 135 -> 136...
-2014-01-16 07:04:56,173 [output] done
-2014-01-16 07:04:56,453 [output] + manage_exit=0
-2014-01-16 07:04:56,454 [output] + set +x
-2014-01-16 07:04:56,454 [output] MySQL counters after upgrade:
-2014-01-16 07:04:56,466 [output] Variable_name	Value
-2014-01-16 07:04:56,466 [output] Innodb_adaptive_hash_cells	276671
-2014-01-16 07:04:56,466 [output] Innodb_adaptive_hash_heap_buffers	2
-2014-01-16 07:04:56,466 [output] Innodb_adaptive_hash_hash_searches	141986
-2014-01-16 07:04:56,466 [output] Innodb_adaptive_hash_non_hash_searches	308095
-2014-01-16 07:04:56,466 [output] Innodb_background_log_sync	69
-2014-01-16 07:04:56,466 [output] Innodb_buffer_pool_pages_data	8188
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_bytes_data	134152192
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_dirty	92
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_bytes_dirty	1507328
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_flushed	45520
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_LRU_flushed	0
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_free	0
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_made_not_young	0
-2014-01-16 07:04:56,467 [output] Innodb_buffer_pool_pages_made_young	25041
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_pages_misc	3
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_pages_old	3002
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_pages_total	8191
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_read_ahead_rnd	0
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_read_ahead	384
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_read_ahead_evicted	92
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_read_requests	1402370
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_reads	29629
-2014-01-16 07:04:56,468 [output] Innodb_buffer_pool_wait_free	0
-2014-01-16 07:04:56,469 [output] Innodb_buffer_pool_write_requests	661199
-2014-01-16 07:04:56,469 [output] Innodb_checkpoint_age	1026411
-2014-01-16 07:04:56,469 [output] Innodb_checkpoint_max_age	7782360
-2014-01-16 07:04:56,469 [output] Innodb_checkpoint_target_age	7539162
-2014-01-16 07:04:56,469 [output] Innodb_data_fsyncs	1418
-2014-01-16 07:04:56,469 [output] Innodb_data_pending_fsyncs	0
-2014-01-16 07:04:56,469 [output] Innodb_data_pending_reads	0
-2014-01-16 07:04:56,469 [output] Innodb_data_pending_writes	0
-2014-01-16 07:04:56,470 [output] Innodb_data_read	494145536
-2014-01-16 07:04:56,470 [output] Innodb_data_reads	30038
-2014-01-16 07:04:56,470 [output] Innodb_data_writes	46923
-2014-01-16 07:04:56,470 [output] Innodb_data_written	1827532288
-2014-01-16 07:04:56,470 [output] Innodb_dblwr_pages_written	45520
-2014-01-16 07:04:56,470 [output] Innodb_dblwr_writes	443
-2014-01-16 07:04:56,470 [output] Innodb_deadlocks	0
-2014-01-16 07:04:56,470 [output] Innodb_dict_tables	345
-2014-01-16 07:04:56,470 [output] Innodb_have_atomic_builtins	ON
-2014-01-16 07:04:56,471 [output] Innodb_history_list_length	885
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_discarded_delete_marks	0
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_discarded_deletes	0
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_discarded_inserts	0
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_free_list	5
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_merged_delete_marks	1
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_merged_deletes	0
-2014-01-16 07:04:56,471 [output] Innodb_ibuf_merged_inserts	143
-2014-01-16 07:04:56,472 [output] Innodb_ibuf_merges	18
-2014-01-16 07:04:56,472 [output] Innodb_ibuf_segment_size	7
-2014-01-16 07:04:56,472 [output] Innodb_ibuf_size	1
-2014-01-16 07:04:56,472 [output] Innodb_log_waits	0
-2014-01-16 07:04:56,472 [output] Innodb_log_write_requests	733125
-2014-01-16 07:04:56,472 [output] Innodb_log_writes	511
-2014-01-16 07:04:56,472 [output] Innodb_lsn_current	727898262571
-2014-01-16 07:04:56,472 [output] Innodb_lsn_flushed	727898262571
-2014-01-16 07:04:56,473 [output] Innodb_lsn_last_checkpoint	727897236160
-2014-01-16 07:04:56,473 [output] Innodb_master_thread_1_second_loops	67
-2014-01-16 07:04:56,473 [output] Innodb_master_thread_10_second_loops	6
-2014-01-16 07:04:56,473 [output] Innodb_master_thread_background_loops	1
-2014-01-16 07:04:56,473 [output] Innodb_master_thread_main_flush_loops	1
-2014-01-16 07:04:56,473 [output] Innodb_master_thread_sleeps	66
-2014-01-16 07:04:56,473 [output] Innodb_max_trx_id	1636148
-2014-01-16 07:04:56,473 [output] Innodb_mem_adaptive_hash	2266736
-2014-01-16 07:04:56,473 [output] Innodb_mem_dictionary	2814121
-2014-01-16 07:04:56,474 [output] Innodb_mem_total	137756672
-2014-01-16 07:04:56,474 [output] Innodb_mutex_os_waits	18
-2014-01-16 07:04:56,474 [output] Innodb_mutex_spin_rounds	630
-2014-01-16 07:04:56,474 [output] Innodb_mutex_spin_waits	21
-2014-01-16 07:04:56,474 [output] Innodb_oldest_view_low_limit_trx_id	1636148
-2014-01-16 07:04:56,474 [output] Innodb_os_log_fsyncs	522
-2014-01-16 07:04:56,474 [output] Innodb_os_log_pending_fsyncs	0
-2014-01-16 07:04:56,474 [output] Innodb_os_log_pending_writes	0
-2014-01-16 07:04:56,474 [output] Innodb_os_log_written	335877632
-2014-01-16 07:04:56,475 [output] Innodb_page_size	16384
-2014-01-16 07:04:56,475 [output] Innodb_pages_created	25571
-2014-01-16 07:04:56,475 [output] Innodb_pages_read	30026
-2014-01-16 07:04:56,475 [output] Innodb_pages_written	45520
-2014-01-16 07:04:56,475 [output] Innodb_purge_trx_id	1636147
-2014-01-16 07:04:56,475 [output] Innodb_purge_undo_no	0
-2014-01-16 07:04:56,475 [output] Innodb_row_lock_current_waits	0
-2014-01-16 07:04:56,475 [output] Innodb_current_row_locks	0
-2014-01-16 07:04:56,476 [output] Innodb_row_lock_time	0
-2014-01-16 07:04:56,476 [output] Innodb_row_lock_time_avg	0
-2014-01-16 07:04:56,476 [output] Innodb_row_lock_time_max	0
-2014-01-16 07:04:56,476 [output] Innodb_row_lock_waits	0
-2014-01-16 07:04:56,476 [output] Innodb_rows_deleted	0
-2014-01-16 07:04:56,476 [output] Innodb_rows_inserted	90926
-2014-01-16 07:04:56,476 [output] Innodb_rows_read	45476
-2014-01-16 07:04:56,476 [output] Innodb_rows_updated	3
-2014-01-16 07:04:56,476 [output] Innodb_read_views_memory	96
-2014-01-16 07:04:56,476 [output] Innodb_descriptors_memory	8000
-2014-01-16 07:04:56,477 [output] Innodb_s_lock_os_waits	14
-2014-01-16 07:04:56,477 [output] Innodb_s_lock_spin_rounds	420
-2014-01-16 07:04:56,477 [output] Innodb_s_lock_spin_waits	14
-2014-01-16 07:04:56,477 [output] Innodb_truncated_status_writes	0
-2014-01-16 07:04:56,477 [output] Innodb_x_lock_os_waits	408
-2014-01-16 07:04:56,477 [output] Innodb_x_lock_spin_rounds	12240
-2014-01-16 07:04:56,477 [output] Innodb_x_lock_spin_waits	2
-2014-01-16 07:04:56,478 [output] nova-manage returned exit code 0
-2014-01-16 07:04:56,478 [output] ++ dirname .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh
-2014-01-16 07:04:56,478 [output] + sudo /sbin/ip netns exec nonet .../task_plugins/gate_real_db_upgrade/nova-manage-wrapper .../envs/bc1198bacf884c0295037e8e32c0ec17 --config-file .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b/nova-grizzly.conf --verbose db sync --version 137
-2014-01-16 07:04:57,456 [output] 136 -> 137...
-2014-01-16 07:04:57,486 [output] done
-2014-01-16 07:04:57,741 [output] + manage_exit=0
-2014-01-16 07:04:57,742 [output] + set +x
-2014-01-16 07:04:57,742 [output] MySQL counters after upgrade:
-2014-01-16 07:04:57,754 [output] Variable_name	Value
-2014-01-16 07:04:57,754 [output] Innodb_adaptive_hash_cells	276671
-2014-01-16 07:04:57,754 [output] Innodb_adaptive_hash_heap_buffers	2
-2014-01-16 07:04:57,754 [output] Innodb_adaptive_hash_hash_searches	141986
-2014-01-16 07:04:57,754 [output] Innodb_adaptive_hash_non_hash_searches	308112
-2014-01-16 07:04:57,754 [output] Innodb_background_log_sync	70
-2014-01-16 07:04:57,754 [output] Innodb_buffer_pool_pages_data	8188
-2014-01-16 07:04:57,754 [output] Innodb_buffer_pool_bytes_data	134152192
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_dirty	98
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_bytes_dirty	1605632
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_flushed	45520
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_LRU_flushed	0
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_free	0
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_made_not_young	0
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_made_young	25046
-2014-01-16 07:04:57,755 [output] Innodb_buffer_pool_pages_misc	3
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_pages_old	3002
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_pages_total	8191
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_read_ahead_rnd	0
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_read_ahead	384
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_read_ahead_evicted	92
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_read_requests	1402454
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_reads	29634
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_wait_free	0
-2014-01-16 07:04:57,756 [output] Innodb_buffer_pool_write_requests	661250
-2014-01-16 07:04:57,757 [output] Innodb_checkpoint_age	1029808
-2014-01-16 07:04:57,757 [output] Innodb_checkpoint_max_age	7782360
-2014-01-16 07:04:57,757 [output] Innodb_checkpoint_target_age	7539162
-2014-01-16 07:04:57,757 [output] Innodb_data_fsyncs	1421
-2014-01-16 07:04:57,757 [output] Innodb_data_pending_fsyncs	0
-2014-01-16 07:04:57,757 [output] Innodb_data_pending_reads	0
-2014-01-16 07:04:57,757 [output] Innodb_data_pending_writes	0
-2014-01-16 07:04:57,757 [output] Innodb_data_read	494227456
-2014-01-16 07:04:57,758 [output] Innodb_data_reads	30044
-2014-01-16 07:04:57,758 [output] Innodb_data_writes	46927
-2014-01-16 07:04:57,758 [output] Innodb_data_written	1827536896
-2014-01-16 07:04:57,758 [output] Innodb_dblwr_pages_written	45520
-2014-01-16 07:04:57,758 [output] Innodb_dblwr_writes	443
-2014-01-16 07:04:57,758 [output] Innodb_deadlocks	0
-2014-01-16 07:04:57,758 [output] Innodb_dict_tables	345
-2014-01-16 07:04:57,758 [output] Innodb_have_atomic_builtins	ON
-2014-01-16 07:04:57,758 [output] Innodb_history_list_length	887
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_discarded_delete_marks	0
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_discarded_deletes	0
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_discarded_inserts	0
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_free_list	5
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_merged_delete_marks	1
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_merged_deletes	0
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_merged_inserts	143
-2014-01-16 07:04:57,759 [output] Innodb_ibuf_merges	18
-2014-01-16 07:04:57,760 [output] Innodb_ibuf_segment_size	7
-2014-01-16 07:04:57,760 [output] Innodb_ibuf_size	1
-2014-01-16 07:04:57,760 [output] Innodb_log_waits	0
-2014-01-16 07:04:57,760 [output] Innodb_log_write_requests	733132
-2014-01-16 07:04:57,760 [output] Innodb_log_writes	514
-2014-01-16 07:04:57,760 [output] Innodb_lsn_current	727898265968
-2014-01-16 07:04:57,760 [output] Innodb_lsn_flushed	727898265968
-2014-01-16 07:04:57,760 [output] Innodb_lsn_last_checkpoint	727897236160
-2014-01-16 07:04:57,761 [output] Innodb_master_thread_1_second_loops	68
-2014-01-16 07:04:57,761 [output] Innodb_master_thread_10_second_loops	6
-2014-01-16 07:04:57,761 [output] Innodb_master_thread_background_loops	1
-2014-01-16 07:04:57,761 [output] Innodb_master_thread_main_flush_loops	1
-2014-01-16 07:04:57,761 [output] Innodb_master_thread_sleeps	67
-2014-01-16 07:04:57,761 [output] Innodb_max_trx_id	1636159
-2014-01-16 07:04:57,761 [output] Innodb_mem_adaptive_hash	2266736
-2014-01-16 07:04:57,761 [output] Innodb_mem_dictionary	2816169
-2014-01-16 07:04:57,761 [output] Innodb_mem_total	137756672
-2014-01-16 07:04:57,762 [output] Innodb_mutex_os_waits	18
-2014-01-16 07:04:57,762 [output] Innodb_mutex_spin_rounds	630
-2014-01-16 07:04:57,762 [output] Innodb_mutex_spin_waits	21
-2014-01-16 07:04:57,762 [output] Innodb_oldest_view_low_limit_trx_id	1636148
-2014-01-16 07:04:57,762 [output] Innodb_os_log_fsyncs	525
-2014-01-16 07:04:57,762 [output] Innodb_os_log_pending_fsyncs	0
-2014-01-16 07:04:57,762 [output] Innodb_os_log_pending_writes	0
-2014-01-16 07:04:57,762 [output] Innodb_os_log_written	335882240
-2014-01-16 07:04:57,762 [output] Innodb_page_size	16384
-2014-01-16 07:04:57,763 [output] Innodb_pages_created	25573
-2014-01-16 07:04:57,763 [output] Innodb_pages_read	30031
-2014-01-16 07:04:57,763 [output] Innodb_pages_written	45520
-2014-01-16 07:04:57,763 [output] Innodb_purge_trx_id	1636147
-2014-01-16 07:04:57,763 [output] Innodb_purge_undo_no	0
-2014-01-16 07:04:57,763 [output] Innodb_row_lock_current_waits	0
-2014-01-16 07:04:57,763 [output] Innodb_current_row_locks	0
-2014-01-16 07:04:57,763 [output] Innodb_row_lock_time	0
-2014-01-16 07:04:57,764 [output] Innodb_row_lock_time_avg	0
-2014-01-16 07:04:57,764 [output] Innodb_row_lock_time_max	0
-2014-01-16 07:04:57,764 [output] Innodb_row_lock_waits	0
-2014-01-16 07:04:57,764 [output] Innodb_rows_deleted	0
-2014-01-16 07:04:57,764 [output] Innodb_rows_inserted	90929
-2014-01-16 07:04:57,764 [output] Innodb_rows_read	45480
-2014-01-16 07:04:57,764 [output] Innodb_rows_updated	4
-2014-01-16 07:04:57,764 [output] Innodb_read_views_memory	96
-2014-01-16 07:04:57,764 [output] Innodb_descriptors_memory	8000
-2014-01-16 07:04:57,764 [output] Innodb_s_lock_os_waits	14
-2014-01-16 07:04:57,765 [output] Innodb_s_lock_spin_rounds	420
-2014-01-16 07:04:57,765 [output] Innodb_s_lock_spin_waits	14
-2014-01-16 07:04:57,765 [output] Innodb_truncated_status_writes	0
-2014-01-16 07:04:57,765 [output] Innodb_x_lock_os_waits	408
-2014-01-16 07:04:57,765 [output] Innodb_x_lock_spin_rounds	12240
-2014-01-16 07:04:57,765 [output] Innodb_x_lock_spin_waits	2
-2014-01-16 07:04:57,765 [output] nova-manage returned exit code 0
-2014-01-16 07:04:57,766 [output] ++ dirname .../task_plugins/gate_real_db_upgrade/nova_mysql_migrations.sh
-2014-01-16 07:04:57,766 [output] + sudo /sbin/ip netns exec nonet .../task_plugins/gate_real_db_upgrade/nova-manage-wrapper .../envs/bc1198bacf884c0295037e8e32c0ec17 --config-file .../jobs/65/65615/7/check/gate-real-db-upgrade_nova_percona_user_001/bc1198b/nova-grizzly.conf --verbose db sync --version 138
-2014-01-16 07:04:58,757 [output] 137 -> 138...
-2014-01-16 07:05:14,138 [heartbeat]
-2014-01-16 07:05:22,054 [output] done
diff --git a/tests/base.py b/tests/base.py
deleted file mode 100644
index d4ff9da..0000000
--- a/tests/base.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import fixtures
-import gear
-import logging
-import os
-import testtools
-import time
-import yaml
-
-import turbo_hipster.worker_server
-
-logging.basicConfig(level=logging.DEBUG,
-                    format='%(asctime)s %(name)-32s '
-                    '%(levelname)-8s %(message)s')
-
-
-class TestWithGearman(testtools.TestCase):
-
-    log = logging.getLogger("TestWithGearman")
-
-    def setUp(self):
-        super(TestWithGearman, self).setUp()
-        self.config = None
-        self.worker_server = None
-        self.gearman_server = gear.Server(0)
-
-    def start_server(self):
-        if not self.config:
-            self._load_config_fixture()
-        # Grab the port so the clients can connect to it
-        self.config['zuul_server']['gearman_port'] = self.gearman_server.port
-
-        self.worker_server = turbo_hipster.worker_server.Server(self.config)
-        self.worker_server.setup_logging()
-        self.worker_server.start()
-        t0 = time.time()
-        while time.time() - t0 < 10:
-            if self.worker_server.services_started:
-                break
-            time.sleep(0.01)
-        if not self.worker_server.services_started:
-            self.fail("Failed to start worker_service services")
-
-    def tearDown(self):
-        if self.worker_server and not self.worker_server.stopped():
-            self.worker_server.shutdown()
-        self.gearman_server.shutdown()
-        super(TestWithGearman, self).tearDown()
-
-    def _load_config_fixture(self, config_name='default-config.yaml'):
-        config_dir = os.path.join(os.path.dirname(__file__), 'etc')
-        with open(os.path.join(config_dir, config_name), 'r') as config_stream:
-            self.config = yaml.safe_load(config_stream)
-
-        # Set all of the working dirs etc to a writeable temp dir
-        self.temp_path = self.useFixture(fixtures.TempDir()).path
-        for config_dir in ['debug_log', 'jobs_working_dir', 'git_working_dir',
-                           'pip_download_cache']:
-            if config_dir in self.config:
-                if self.config[config_dir][0] == '/':
-                    self.config[config_dir] = self.config[config_dir][1:]
-                self.config[config_dir] = os.path.join(self.temp_path,
-                                                       self.config[config_dir])
-        if self.config['publish_logs']['type'] == 'local':
-            if self.config['publish_logs']['path'][0] == '/':
-                self.config['publish_logs']['path'] = \
-                    self.config['publish_logs']['path'][1:]
-            self.config['publish_logs']['path'] = os.path.join(
-                self.temp_path, self.config['publish_logs']['path'])
-
-        if not os.path.isdir(
-            os.path.dirname(self.config['publish_logs']['path'])):
-            os.makedirs(os.path.dirname(self.config['publish_logs']['path']))
diff --git a/tests/datasets/some_dataset_example/config.json b/tests/datasets/some_dataset_example/config.json
deleted file mode 100644
index e80eace..0000000
--- a/tests/datasets/some_dataset_example/config.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-    "project": "openstack/nova",
-    "type": "mysql",
-    "db_user": "nova",
-    "db_pass": "tester",
-    "database": "nova",
-    "seed_data": "nova.sql",
-    "logging_conf": "logging.conf",
-    "maximum_migration_times": {
-        "default": 60,
-        "134->135": 120,
-        "148->149": 120,
-        "151->152": 300,
-        "158->159": 120,
-        "215->216": 180
-    }
-}
diff --git a/tests/datasets/some_dataset_example/logging.conf b/tests/datasets/some_dataset_example/logging.conf
deleted file mode 100644
index d53d188..0000000
--- a/tests/datasets/some_dataset_example/logging.conf
+++ /dev/null
@@ -1,53 +0,0 @@
-[loggers]
-keys = root, nova
-
-[handlers]
-keys = stderr
-
-[formatters]
-keys = default
-
-[logger_root]
-level = INFO
-handlers = stderr
-
-[logger_nova]
-level = INFO
-handlers = stderr
-qualname = nova
-
-[logger_amqplib]
-level = WARNING
-handlers = stderr
-qualname = amqplib
-
-[logger_sqlalchemy]
-level = WARNING
-handlers = stderr
-qualname = sqlalchemy
-# "level = INFO" logs SQL queries.
-# "level = DEBUG" logs SQL queries and results.
-# "level = WARNING" logs neither.  (Recommended for production systems.)
-
-[logger_boto]
-level = WARNING
-handlers = stderr
-qualname = boto
-
-[logger_suds]
-level = INFO
-handlers = stderr
-qualname = suds
-
-[logger_eventletwsgi]
-level = WARNING
-handlers = stderr
-qualname = eventlet.wsgi.server
-
-[handler_stderr]
-class = StreamHandler
-args = (sys.stderr,)
-formatter = default
-
-[formatter_default]
-format = %(message)s
diff --git a/tests/disabled_common.py b/tests/disabled_common.py
deleted file mode 100644
index 493cc8e..0000000
--- a/tests/disabled_common.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import testtools
-
-import fakes
-
-from turbo_hipster.lib import common
-from turbo_hipster.lib import models
-
-
-class TestTaskStep(testtools.TestCase):
-    def test_task_step_decorator(self):
-        class FakeTask(models.Task):
-            def __init__(self, global_config, job_name, job_config):
-                super(FakeTask, self).__init__(global_config, job_name,
-                                               job_config)
-                # Define the number of steps we will do to determine our
-                # progress.
-                self.total_steps = 2
-
-            @common.task_step
-            def do_something(self):
-                pass
-
-            def non_step(self):
-                pass
-
-            @common.task_step
-            def do_something_more(self):
-                pass
-
-        task = FakeTask({}, 'build:function', {})
-        task.job = fakes.FakeJob()
-
-        self.assertEqual(0, task.current_step)
-
-        task.do_something()
-        self.assertEqual(1, task.current_step)
-
-        task.non_step()
-        self.assertEqual(1, task.current_step)
-
-        task.do_something_more()
-        self.assertEqual(2, task.current_step)
diff --git a/tests/disabled_jjb_runner.py b/tests/disabled_jjb_runner.py
deleted file mode 100644
index e5f088c..0000000
--- a/tests/disabled_jjb_runner.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import base
-import fakes
-import fixtures
-import json
-import logging
-import os
-import uuid
-
-from turbo_hipster.lib import utils
-
-
-class TestTaskRunner(base.TestWithGearman):
-    log = logging.getLogger("TestTaskRunner")
-
-    def _grab_jjb(self):
-        # Grab a copy of JJB's config
-        temp_path = self.useFixture(fixtures.TempDir()).path
-        cmd = 'git clone https://git.openstack.org/openstack-infra/config'
-        utils.execute_to_log(cmd, '/dev/null', cwd=temp_path)
-        return os.path.join(
-            temp_path, 'config',
-            'modules/openstack_project/files/jenkins_job_builder/config'
-        )
-
-    def test_jjb_pep8_job(self):
-        self.skipTest("This is buggy atm.")
-        # We can only do this if we have the slave scripts installed in
-        # /usr/local/jenkins/slave_scripts/
-        if not os.path.isdir('/usr/local/jenkins/slave_scripts/'):
-            self.skipTest("Slave scripts aren't installed")
-
-        jjb_config_dir = self._grab_jjb()
-        self._load_config_fixture('jjb-config.yaml')
-        # set jjb_config to pulled in config
-        self.config['plugins'][0]['jjb_config'] = jjb_config_dir
-
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        job_uuid = str(uuid.uuid1())[:8]
-        data_req = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_PROJECT': 'stackforge/turbo-hipster',
-            'ZUUL_PIPELINE': 'check',
-            'ZUUL_URL': 'https://git.openstack.org/',
-            'BRANCH': 'master',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-
-        zuul.submit_job('build:gate-turbo-hipster-pep8', data_req)
-        zuul.wait_for_completion()
-
-        self.assertTrue(zuul.job.complete)
-        last_data = json.loads(zuul.job.data[-1])
-        self.log.debug(last_data)
-        self.assertEqual("SUCCESS", last_data['result'])
diff --git a/tests/disabled_real_db_upgrade.py b/tests/disabled_real_db_upgrade.py
deleted file mode 100644
index 0f79525..0000000
--- a/tests/disabled_real_db_upgrade.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import json
-import os
-import testtools
-
-from turbo_hipster.task_plugins.real_db_upgrade import handle_results
-
-TESTS_DIR = os.path.join(os.path.dirname(__file__))
-
-
-class TestHandleResults(testtools.TestCase):
-    def test_line_to_time(self):
-        test_line = '2013-11-22 21:42:45,908 [output] 141 -> 142...  '
-        logfile = os.path.join(TESTS_DIR, 'assets/logcontent')
-        lp = handle_results.LogParser(logfile, None)
-        result = lp.line_to_time(test_line)
-        self.assertEqual(result, 1385156565)
-
-    def test_check_migration(self):
-        with open(os.path.join(TESTS_DIR,
-                               'datasets/some_dataset_example/config.json'),
-                  'r') as config_stream:
-            dataset_config = json.load(config_stream)
-        duration = 120
-
-        result = handle_results.check_migration({'to': '151',
-                                                 'from': '150'},
-                                                'maximum_migration_times',
-                                                duration, dataset_config)
-        self.assertFalse(result)
-
-        result = handle_results.check_migration({'to': '152',
-                                                 'from': '151'},
-                                                'maximum_migration_times',
-                                                duration, dataset_config)
-        self.assertTrue(result)
-
-    def test_check_log_for_errors(self):
-        logfile = os.path.join(TESTS_DIR,
-                               'assets/20131007_devstack_export.log')
-
-        def fake_find_schemas_230():
-            return [230]
-
-        lp = handle_results.LogParser(logfile, '/tmp/foo')
-        lp.find_schemas = fake_find_schemas_230
-        lp.process_log()
-        self.assertEqual(['FAILURE - Final schema version does not match '
-                         'expectation'], lp.errors)
-        self.assertEqual([], lp.warnings)
-
-        def fake_find_schemas_228():
-            return [228]
-
-        lp = handle_results.LogParser(logfile, '/tmp/foo')
-        lp.find_schemas = fake_find_schemas_228
-        lp.process_log()
-        self.assertEqual([], lp.errors)
-        self.assertEqual([], lp.warnings)
-
-    def test_parse_log(self):
-        # This is a regression test for a log which didn't used to parse.
-        logfile = os.path.join(TESTS_DIR, 'assets/logcontent')
-        lp = handle_results.LogParser(logfile, None)
-        lp.process_log()
-
-        self.assertEqual([], lp.errors)
-        self.assertEqual([], lp.warnings)
-
-        migrations = []
-        for migration in lp.migrations:
-            migrations.append(migration['to'])
-
-        for migration in range(134, 229):
-            self.assertTrue(migration in migrations,
-                            'Migration %d missing from %s'
-                            % (migration, migrations))
-
-    def test_innodb_stats(self):
-        logfile = os.path.join(TESTS_DIR, 'assets/user_001.log')
-
-        def fake_find_schemas_228():
-            return [228]
-
-        lp = handle_results.LogParser(logfile, '/tmp/foo')
-        lp.find_schemas = fake_find_schemas_228
-        lp.process_log()
-
-        migration = lp.migrations[0]
-        self.assertTrue('stats' in migration)
-        self.assertTrue('Innodb_rows_read' in migration['stats'])
-        self.assertEqual(5, migration['stats']['Innodb_rows_read'])
diff --git a/tests/disabled_shell_task.py b/tests/disabled_shell_task.py
deleted file mode 100644
index eb60552..0000000
--- a/tests/disabled_shell_task.py
+++ /dev/null
@@ -1,231 +0,0 @@
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import base
-import fakes
-import json
-import logging
-import mock
-import os
-import uuid
-
-from turbo_hipster.lib.models import ShellTask, Task
-
-
-class TestTaskRunner(base.TestWithGearman):
-    log = logging.getLogger("TestTaskRunner")
-
-    def test_simple_job_passes(self):
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        job_uuid = str(uuid.uuid1())[:8]
-        data_req = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_PROJECT': 'stackforge/turbo-hipster',
-            'ZUUL_PIPELINE': 'check',
-            'ZUUL_URL': 'https://git.openstack.org/',
-            'BRANCH': 'master',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-
-        zuul.submit_job('build:do_something_shelly', data_req)
-        zuul.wait_for_completion()
-
-        last_data = json.loads(zuul.job.data[-1])
-        self.log.debug(last_data)
-
-        self.assertTrue(zuul.job.complete)
-        self.assertFalse(zuul.job.failure)
-        self.assertEqual("SUCCESS", last_data['result'])
-
-        task_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'task_output.log'
-        ))
-
-        self.assertIn("Step 1: Setup environment", task_output_file.readline())
-
-        git_prep_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'git_prep.log'
-        ))
-
-        self.assertIn("gerrit-git-prep.sh", git_prep_file.readline())
-
-        shell_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'shell_output.log'
-        ))
-
-        self.assertIn("ls -lah", shell_output_file.readline())
-
-    def test_simple_job_fails(self):
-        # Test when the script fails
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        job_uuid = str(uuid.uuid1())[:8]
-        data_req = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_PROJECT': 'stackforge/turbo-hipster',
-            'ZUUL_PIPELINE': 'check',
-            'ZUUL_URL': 'https://git.openstack.org/',
-            'BRANCH': 'master',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-
-        # Modify the job to fail. The git_path, job_working_dir and unqiue_id
-        # are all passed to the shell script. If we 'ls unique_id' it'll fail
-        # since it doesn't exist.
-        self.config['jobs'][0]['shell_script'] = 'ls -lah'
-
-        zuul.submit_job('build:do_something_shelly', data_req)
-        zuul.wait_for_completion()
-
-        last_data = json.loads(zuul.job.data[-1])
-        self.log.debug(last_data)
-
-        self.assertTrue(zuul.job.complete)
-        self.assertTrue(zuul.job.failure)
-        self.assertEqual("Return code from test script was non-zero (2)",
-                         last_data['result'])
-
-        task_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'task_output.log'
-        ))
-
-        self.assertIn("Step 1: Setup environment", task_output_file.readline())
-
-        git_prep_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'git_prep.log'
-        ))
-
-        self.assertIn("gerrit-git-prep.sh", git_prep_file.readline())
-
-        shell_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'shell_output.log'
-        ))
-
-        self.assertIn("ls -lah", shell_output_file.readline())
-
-    @mock.patch.object(ShellTask, '_parse_and_check_results')
-    def test_logs_uploaded_during_failure(self,
-                                          mocked_parse_and_check_results):
-        # When turbo-hipster itself fails (eg analysing results) it should
-        # still upload the python logging log if it can
-
-        def side_effect():
-            raise Exception('check results failed!')
-
-        # ShellTask._parse_and_check_results = _fake_parse_and_check_results
-        mocked_parse_and_check_results.side_effect = side_effect
-
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        job_uuid = str(uuid.uuid1())[:8]
-        data_req = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_PROJECT': 'stackforge/turbo-hipster',
-            'ZUUL_PIPELINE': 'check',
-            'ZUUL_URL': 'https://git.openstack.org/',
-            'BRANCH': 'master',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-
-        zuul.submit_job('build:do_something_shelly', data_req)
-        zuul.wait_for_completion()
-
-        last_data = json.loads(zuul.job.data[-1])
-        self.log.debug(last_data)
-
-        self.assertTrue(zuul.job.complete)
-        self.assertTrue(zuul.job.failure)
-        self.assertEqual("FAILURE running the job\n"
-                         "Exception: check results failed!",
-                         last_data['result'])
-
-        git_prep_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'git_prep.log'
-        ))
-
-        self.assertIn("gerrit-git-prep.sh", git_prep_file.readline())
-
-        shell_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'shell_output.log'
-        ))
-
-        self.assertIn("ls -lah", shell_output_file.readline())
-
-        task_output_file = open(os.path.join(
-            self.config['publish_logs']['path'], data_req['LOG_PATH'],
-            'task_output.log'
-        ))
-
-        task_output_lines = task_output_file.readlines()
-        self.assertIn("Step 1: Setup environment", task_output_lines[0])
-        self.assertIn("Something failed running the job!",
-                      task_output_lines[6])
-        self.assertIn("Exception: check results failed!",
-                      task_output_lines[len(task_output_lines) - 1])
-
-    @mock.patch.object(Task, '_upload_results')
-    def test_exception_when_uploading_fails(self, mocked_upload_results):
-
-        def side_effect():
-            raise Exception('uploading results failed!')
-
-        mocked_upload_results.side_effect = side_effect
-
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        job_uuid = str(uuid.uuid1())[:8]
-        data_req = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_PROJECT': 'stackforge/turbo-hipster',
-            'ZUUL_PIPELINE': 'check',
-            'ZUUL_URL': 'https://git.openstack.org/',
-            'BRANCH': 'master',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-
-        zuul.submit_job('build:do_something_shelly', data_req)
-        zuul.wait_for_completion()
-
-        last_data = json.loads(zuul.job.data[-1])
-        self.log.debug(last_data)
-
-        self.assertTrue(zuul.job.complete)
-        self.assertTrue(zuul.job.failure)
-        self.assertEqual("FAILURE during cleanup and log upload\n"
-                         "Exception: uploading results failed!",
-                         last_data['result'])
-
-    def test_failure_during_setup(self):
-        pass
diff --git a/tests/disabled_utils.py b/tests/disabled_utils.py
deleted file mode 100644
index 4965c03..0000000
--- a/tests/disabled_utils.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import fixtures
-import logging
-import os
-import testtools
-
-from turbo_hipster.lib import utils
-
-
-class TestExecuteToLog(testtools.TestCase):
-    def test_makes_dir(self):
-        tempdir = self.useFixture(fixtures.TempDir()).path
-        self.assertFalse(os.path.exists(os.path.join(tempdir, 'foo')))
-        utils.execute_to_log('echo yay',
-                             os.path.join(tempdir, 'foo', 'banana.log'),
-                             watch_logs=[])
-        self.assertTrue(os.path.exists(os.path.join(tempdir, 'foo')))
-
-    def test_logging_works(self):
-        # Setup python logging to do what we need
-        logging.basicConfig(format='%(asctime)s %(name)s %(message)s',
-                            level=logging.DEBUG)
-
-        tempdir = self.useFixture(fixtures.TempDir()).path
-        log_path = os.path.join(tempdir, 'banana.log')
-
-        utils.execute_to_log('echo yay', log_path, watch_logs=[])
-        self.assertTrue(os.path.exists(log_path))
-
-        with open(log_path) as f:
-            d = f.read()
-            print d
-
-        self.assertNotEqual('', d)
-        self.assertEqual(4, len(d.split('\n')))
-        self.assertNotEqual(-1, d.find('yay'))
-        self.assertNotEqual(-1, d.find('[script exit code = 0]'))
-
-    def test_timeout(self):
-        # Setup python logging to do what we need
-        logging.basicConfig(format='%(asctime)s %(name)s %(message)s',
-                            level=logging.DEBUG)
-
-        tempdir = self.useFixture(fixtures.TempDir()).path
-        log_path = os.path.join(tempdir, 'banana.log')
-
-        utils.execute_to_log('/bin/sleep 30', log_path, watch_logs=[],
-                             timeout=0.1)
-        self.assertTrue(os.path.exists(log_path))
-
-        with open(log_path) as f:
-            d = f.read()
-            print d
-
-        self.assertNotEqual('', d)
-        self.assertNotEqual(-1, d.find('[timeout]'))
-        self.assertNotEqual(-1, d.find('[script exit code = -9]'))
diff --git a/tests/disabled_worker_manager.py b/tests/disabled_worker_manager.py
deleted file mode 100644
index cebf8dc..0000000
--- a/tests/disabled_worker_manager.py
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import os
-import time
-
-import base
-import fakes
-
-
-class TestWorkerServer(base.TestWithGearman):
-    def test_jobs_load_from_legacy_plugins(self):
-        "Test the configured plugins are loaded from legacy config.yaml layout"
-
-        self.start_server()
-
-        self.assertFalse(self.worker_server.stopped())
-        self.assertEqual(3, len(self.worker_server.jobs))
-
-        expected_jobs = {
-            'build:real-db-upgrade_nova_mysql_devstack_131007': {
-                "name": "build:real-db-upgrade_nova_mysql_devstack_131007",
-                "plugin": "real_db_upgrade",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "real_db_upgrade.task",
-                "plugin_config": {
-                    "name": "real_db_upgrade",
-                    "datasets_dir": "/var/lib/turbo-hipster/"
-                                    "datasets_devstack_131007",
-                    "function": "build:real-db-upgrade_nova_mysql_devstack_"
-                                "131007"
-                },
-            },
-            'build:real-db-upgrade_nova_mysql_user_001': {
-                "name": "build:real-db-upgrade_nova_mysql_user_001",
-                "plugin": "real_db_upgrade",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "real_db_upgrade.task",
-                "plugin_config": {
-                    "name": "real_db_upgrade",
-                    "datasets_dir": "/var/lib/turbo-hipster/datasets_user_001",
-                    "function": "build:real-db-upgrade_nova_mysql_user_001"
-                },
-            },
-            'build:do_something_shelly': {
-                "name": "build:do_something_shelly",
-                "plugin": "shell_script",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "shell_script.task",
-                "job_config": {
-                    "name": "build:do_something_shelly",
-                    "shell_script": "ls -lah && echo",
-                },
-            },
-        }
-
-        for job_name, job in self.worker_server.jobs.items():
-            self.assertEqual(expected_jobs[job_name]['name'],
-                             job['name'])
-            self.assertEqual(expected_jobs[job_name]['plugin'],
-                             job['plugin'])
-            if 'plugin_config' in job:
-                self.assertEqual(expected_jobs[job_name]['plugin_config'],
-                                 job['plugin_config'])
-            if 'job_config' in job:
-                self.assertEqual(expected_jobs[job_name]['job_config'],
-                                 job['job_config'])
-            self.assertEqual(
-                expected_jobs[job_name]['runner_module_name'],
-                job['runner'].__module__
-            )
-
-    def test_job_configuration(self):
-        "Test config.yaml job layout"
-        self._load_config_fixture('config.yaml')
-        self.start_server()
-
-        self.assertFalse(self.worker_server.stopped())
-        self.assertEqual(3, len(self.worker_server.jobs))
-
-        expected_jobs = {
-            'build:real-db-upgrade_nova_mysql': {
-                "name": "build:real-db-upgrade_nova_mysql",
-                "plugin": "real_db_upgrade",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "real_db_upgrade.task",
-                "job_config": {
-                    "name": "build:real-db-upgrade_nova_mysql",
-                    "plugin": "real_db_upgrade",
-                    "datasets_dir": "/home/josh/var/lib/turbo-hipster/datasets"
-                },
-            },
-            'build:real-db-upgrade_nova_mysql_user_001': {
-                "name": "build:real-db-upgrade_nova_mysql_user_001",
-                "plugin": "real_db_upgrade",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "real_db_upgrade.task",
-                "plugin_config": {
-                    "name": "real_db_upgrade",
-                    "datasets_dir": "/var/lib/turbo-hipster/datasets_user_001",
-                    "function": "build:real-db-upgrade_nova_mysql_user_001",
-                },
-            },
-            'build:some_shell_job': {
-                "name": "build:some_shell_job",
-                "plugin": "shell_script",
-                "runner_module_name": "turbo_hipster.task_plugins."
-                                      "shell_script.task",
-                "job_config": {
-                    "name": "build:some_shell_job",
-                    "shell_script": "/dev/null",
-                },
-            },
-        }
-
-        for job_name, job in self.worker_server.jobs.items():
-            self.assertEqual(expected_jobs[job_name]['name'],
-                             job['name'])
-            self.assertEqual(expected_jobs[job_name]['plugin'],
-                             job['plugin'])
-            if 'plugin_config' in job:
-                self.assertEqual(expected_jobs[job_name]['plugin_config'],
-                                 job['plugin_config'])
-            if 'job_config' in job:
-                self.assertEqual(expected_jobs[job_name]['job_config'],
-                                 job['job_config'])
-            self.assertEqual(
-                expected_jobs[job_name]['runner_module_name'],
-                job['runner'].__module__
-            )
-
-    def test_zuul_client_started(self):
-        "Test the zuul client has been started"
-        self.start_server()
-        self.assertFalse(self.worker_server.zuul_client.stopped())
-
-    def test_zuul_manager_started(self):
-        "Test the zuul manager has been started"
-        self.start_server()
-        self.assertFalse(self.worker_server.zuul_manager.stopped())
-
-
-class TestZuulClient(base.TestWithGearman):
-    def test_setup_gearman_worker(self):
-        "Make sure the client is registered as a worker with gearman"
-        pass
-
-    def test_registered_functions(self):
-        "Test the correct functions are registered with gearman"
-
-        self.start_server()
-
-        # The client should have all of the functions defined in the config
-        # registered with gearman
-
-        # We need to wait for all the functions to register with the server..
-        # We'll give it up to 10seconds to do so
-        t0 = time.time()
-        failed = True
-        while time.time() - t0 < 10:
-            # There should be 4 functions. 1 for each plugin + 1 for the
-            # manager
-            if len(self.gearman_server.functions) == 4:
-                failed = False
-                break
-            time.sleep(0.01)
-        if failed:
-            self.log.debug(self.gearman_server.functions)
-            self.fail("The correct number of functions haven't registered with"
-                      " gearman")
-
-        self.assertIn('build:real-db-upgrade_nova_mysql_devstack_131007',
-                      self.gearman_server.functions)
-        self.assertIn('build:real-db-upgrade_nova_mysql_user_001',
-                      self.gearman_server.functions)
-        self.assertIn('build:do_something_shelly',
-                      self.gearman_server.functions)
-
-    def test_waiting_for_job(self):
-        "Make sure the client waits for jobs as expected"
-        pass
-
-    def test_stop(self):
-        "Test sending a stop signal to the client exists correctly"
-        pass
-
-    def test_job_can_shutdown_th(self):
-        self._load_config_fixture('shutdown-config.yaml')
-        self.start_server()
-        zuul = fakes.FakeZuul(self.config['zuul_server']['gearman_host'],
-                              self.config['zuul_server']['gearman_port'])
-
-        # First check we can run a job that /doesn't/ shut down turbo-hipster
-        data_req = zuul.make_zuul_data()
-        zuul.submit_job('build:demo_job_clean', data_req)
-        zuul.wait_for_completion()
-        self.assertTrue(zuul.job.complete)
-        self.assertFalse(self.worker_server.stopped())
-
-        # Now run a job that leaves the environment dirty and /should/ shut
-        # down turbo-hipster
-        zuul.job = None
-        zuul.submit_job('build:demo_job_dirty', data_req)
-        zuul.wait_for_completion()
-        self.assertTrue(zuul.job.complete)
-        # Give the server a second to shutdown
-        time.sleep(1)
-        self.assertTrue(self.worker_server.stopped())
-
-
-class TestZuulManager(base.TestWithGearman):
-    def test_registered_functions(self):
-        "Test the correct functions are registered with gearman"
-
-        self.start_server()
-
-        # We need to wait for all the functions to register with the server..
-        # We'll give it up to 10seconds to do so
-        t0 = time.time()
-        failed = True
-        while time.time() - t0 < 10:
-            # There should be 4 functions. 1 for each plugin + 1 for the
-            # manager
-            if len(self.gearman_server.functions) == 4:
-                failed = False
-                break
-            time.sleep(0.01)
-        if failed:
-            self.log.debug(self.gearman_server.functions)
-            self.fail("The correct number of functions haven't registered with"
-                      " gearman")
-
-        hostname = os.uname()[1]
-        self.assertIn('stop:turbo-hipster-manager-%s' % hostname,
-                      self.gearman_server.functions)
diff --git a/tests/disabled_worker_server.py b/tests/disabled_worker_server.py
deleted file mode 100644
index 200a7b3..0000000
--- a/tests/disabled_worker_server.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import os
-import testtools
-import yaml
-
-from turbo_hipster import worker_server
-
-CONFIG_DIR = os.path.join(os.path.dirname(__file__), 'etc')
-with open(os.path.join(CONFIG_DIR, 'config.yaml'), 'r') as config_stream:
-    CONFIG = yaml.safe_load(config_stream)
-
-CONF_D_DIR = os.path.join(CONFIG_DIR, "conf.d")
-
-
-class TestServerManager(testtools.TestCase):
-    def setUp(self):
-        super(TestServerManager, self).setUp()
-        self.config = CONFIG
-
-    def tearDown(self):
-        super(TestServerManager, self).tearDown()
-
-    def test_confd_configuration(self):
-        """ Check that the server can load in other configuration from a
-        conf.d directory """
-
-        def pass_function(*args, **kargs):
-            pass
-
-        self.config["conf_d"] = CONF_D_DIR
-
-        worker_server.Server.setup_logging = pass_function
-        serv = worker_server.Server(self.config)
-        serv_config = serv.config
-        self.assertIn("extra_configuration", serv_config)
-        self.assertEquals("testing123", serv_config["extra_configuration"])
diff --git a/tests/etc/conf.d/extra.yaml b/tests/etc/conf.d/extra.yaml
deleted file mode 100644
index 44fe974..0000000
--- a/tests/etc/conf.d/extra.yaml
+++ /dev/null
@@ -1 +0,0 @@
-extra_configuration: testing123
diff --git a/tests/etc/config.yaml b/tests/etc/config.yaml
deleted file mode 100644
index 0b4230d..0000000
--- a/tests/etc/config.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-zuul_server:
-  gerrit_site: http://review.openstack.org
-  git_origin: https://git.openstack.org
-  gearman_host: localhost
-  gearman_port: 0
-
-debug_log: /home/josh/var/log/turbo-hipster/debug.log
-jobs_working_dir: /home/josh/var/lib/turbo-hipster/jobs
-git_working_dir: /home/josh/var/lib/turbo-hipster/git
-pip_download_cache: /home/josh/var/cache/pip
-
-jobs:
-  - name: build:real-db-upgrade_nova_mysql
-    datasets_dir: /home/josh/var/lib/turbo-hipster/datasets
-    plugin: real_db_upgrade
-  - name: build:some_shell_job
-    shell_script: /dev/null
-
-# Legacy job definition as plugins
-plugins:
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_user_001
-    function: build:real-db-upgrade_nova_mysql_user_001
-
-publish_logs:
-  type: local
-  path: /home/josh/var/www/results/
-  prepend_url: http://localhost/results/
diff --git a/tests/etc/default-config.yaml b/tests/etc/default-config.yaml
deleted file mode 100644
index e2cfa41..0000000
--- a/tests/etc/default-config.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-zuul_server:
-  gerrit_site: http://review.openstack.org
-  git_origin: https://git.openstack.org
-  gearman_host: localhost
-  gearman_port: 0
-
-debug_log: /var/log/turbo-hipster/debug.log
-jobs_working_dir: /var/lib/turbo-hipster/jobs
-git_working_dir: /var/lib/turbo-hipster/git
-pip_download_cache: /var/cache/pip
-
-jobs:
-  - name: build:do_something_shelly
-    shell_script: 'ls -lah && echo'
-
-# Legacy job definition as plugins
-plugins:
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_devstack_131007
-    function: build:real-db-upgrade_nova_mysql_devstack_131007
-
-  - name: real_db_upgrade
-    datasets_dir: /var/lib/turbo-hipster/datasets_user_001
-    function: build:real-db-upgrade_nova_mysql_user_001
-
-publish_logs:
-  type: local
-  path: /tmp/turbo-hipster/var/www/results/
-  prepend_url: http://localhost/results/
diff --git a/tests/etc/jjb-config.yaml b/tests/etc/jjb-config.yaml
deleted file mode 100644
index 6a201c1..0000000
--- a/tests/etc/jjb-config.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-zuul_server:
-  gerrit_site: http://review.openstack.org
-  git_origin: https://git.openstack.org
-  gearman_host: localhost
-  gearman_port: 0
-
-debug_log: /var/log/turbo-hipster/debug.log
-jobs_working_dir: /var/lib/turbo-hipster/jobs
-git_working_dir: /var/lib/turbo-hipster/git
-pip_download_cache: /var/cache/pip
-
-plugins:
-  - name: jjb_runner
-    function: build:gate-turbo-hipster-pep8
-    jjb_config: modules/openstack_project/files/jenkins_job_builder/config
-
-publish_logs:
-  type: local
-  path: /var/lib/turbo_hipster/logs
-  prepend_url: http://mylogserver/
\ No newline at end of file
diff --git a/tests/etc/shutdown-config.yaml b/tests/etc/shutdown-config.yaml
deleted file mode 100644
index 605efe3..0000000
--- a/tests/etc/shutdown-config.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-zuul_server:
-  gerrit_site: http://review.openstack.org
-  git_origin: https://git.openstack.org
-  gearman_host: localhost
-  gearman_port: 0
-
-debug_log: /var/log/turbo-hipster/debug.log
-jobs_working_dir: /var/lib/turbo-hipster/jobs
-git_working_dir: /var/lib/turbo-hipster/git
-pip_download_cache: /var/cache/pip
-
-plugins:
-  - name: shell_script
-    function: build:demo_job_clean
-    shell_script: /dev/null
-  - name: shell_script
-    function: build:demo_job_dirty
-    shell_script: /dev/null
-    shutdown-th: true
-
-publish_logs:
-  type: local
-  path: /var/lib/turbo_hipster/logs
-  prepend_url: http://mylogserver/
\ No newline at end of file
diff --git a/tests/fakes.py b/tests/fakes.py
deleted file mode 100644
index 07e5eeb..0000000
--- a/tests/fakes.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import gear
-import json
-import time
-import uuid
-
-
-class FakeJob(object):
-    def __init__(self):
-        pass
-
-    def sendWorkStatus(self, *args, **kwargs):
-        pass
-
-
-class FakeZuul(object):
-    """A fake zuul/gearman client to request work from gearman and check
-    results"""
-    def __init__(self, server, port):
-        self.gearman = gear.Client('FakeZuul')
-        self.gearman.addServer(server, port)
-        self.gearman.waitForServer()
-        self.job = None
-
-    def make_zuul_data(self, data={}):
-        job_uuid = str(uuid.uuid1())
-        defaults = {
-            'ZUUL_UUID': job_uuid,
-            'ZUUL_REF': 'a',
-            'ZUUL_COMMIT': 'a',
-            'ZUUL_PROJECT': 'a',
-            'ZUUL_PIPELINE': 'a',
-            'ZUUL_URL': 'http://localhost',
-            'BASE_LOG_PATH': '56/123456/8',
-            'LOG_PATH': '56/123456/8/check/job_name/%s' % job_uuid
-        }
-        defaults.update(data)
-        return defaults
-
-    def submit_job(self, name, data):
-        if not self.job:
-            self.job = gear.Job(name,
-                                json.dumps(data),
-                                unique=str(time.time()))
-            self.gearman.submitJob(self.job)
-        else:
-            raise Exception('A job already exists in self.job')
-
-        return self.job
-
-    def wait_for_completion(self):
-        if self.job:
-            while not self.job.complete:
-                time.sleep(0.1)
diff --git a/tests/test_nothing.py b/tests/test_nothing.py
deleted file mode 100644
index fd7af1b..0000000
--- a/tests/test_nothing.py
+++ /dev/null
@@ -1,6 +0,0 @@
-import testtools
-
-
-class TestNothing(testtools.TestCase):
-    def test_at_least_once(self):
-        self.assertTrue(True)
diff --git a/tools/push_to_cloudfiles.py b/tools/push_to_cloudfiles.py
deleted file mode 100755
index cef60ca..0000000
--- a/tools/push_to_cloudfiles.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python
-
-import json
-import os
-import pyrax
-import sys
-
-
-def copy_dir(topdir, path, container):
-    for ent in os.listdir(path):
-        fullpath = os.path.join(path, ent)
-        shortpath = fullpath.replace(topdir + '/', '')
-        if os.path.isdir(fullpath):
-            copy_dir(topdir, fullpath, container)
-        else:
-            print shortpath
-            container.upload_file(fullpath, obj_name=shortpath)
-
-
-def push(topdir, region, container_name):
-    pyrax.set_setting('identity_type', 'rackspace')
-    with open(os.path.expanduser('~/.cloudfiles'), 'r') as f:
-        conf = json.loads(f.read())
-        pyrax.set_credentials(conf['access_key'],
-                              conf['secret_key'],
-                              region=region)
-    conn = pyrax.connect_to_cloudfiles(region=region.upper(), public=False)
-    container = conn.create_container(container_name)
-    copy_dir(topdir, topdir, container)
-
-
-if __name__ == '__main__':
-    push(sys.argv[1], sys.argv[2], sys.argv[3])
diff --git a/tools/setup_software.sh b/tools/setup_software.sh
deleted file mode 100755
index dee8f86..0000000
--- a/tools/setup_software.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash -x
-
-# $1 is the db engine name, currently one of:
-#    mysql
-#    percona
-
-git pull
-
-# Percona support
-apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
-cp etc/percona.list /etc/apt/sources.list.d/percona.list
-
-apt-get update
-apt-get dist-upgrade -y
-apt-get install -y git python-pip libxml2-dev libxml2-utils libxslt-dev libmysqlclient-dev pep8 postgresql-server-dev-9.1 python2.7-dev python-coverage python-netaddr python-mysqldb $1-server python-git virtualenvwrapper python-numpy
-
-mkdir -p /var/log/mysql
-touch /var/log/mysql/slow-queries.log
-chown mysql.mysql /var/log/mysql/slow-queries.log
-
-chmod ugo+rx /var/log/mysql
-chmod ugo+r /var/log/syslog /var/log/mysql/slow-queries.log /var/log/mysql/error.log
-
-if [ -e /etc/logrotate.d/percona-server-server-5.5 ]
-then
-  rm /etc/logrotate.d/percona-server-server-5.5
-fi
-/usr/sbin/logrotate /etc/logrotate.conf
-
-/etc/init.d/apparmor restart
-/etc/init.d/mysql restart
-
-mkdir -p /var/log/turbo-hipster
-chown turbo-hipster:turbo-hipster /var/log/turbo-hipster
-
-mkdir -p /var/lib/turbo-hipster
-chown turbo-hipster:turbo-hipster /var/log/turbo-hipster
-
-mysql -u root -e "create user 'nova'@'localhost' identified by 'tester';"
-mysql -u root -e "grant all privileges on nova.* TO 'nova'@'localhost';"
-
-# Fix log rotate for MySQL  to be other readable.
\ No newline at end of file
diff --git a/tools/update_datasets.sh b/tools/update_datasets.sh
deleted file mode 100644
index b635b84..0000000
--- a/tools/update_datasets.sh
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# A tool to update a given dataset to a given version. Used to keep datasets
-# somewhat fresh rather than over-exercising old migrations.
-
-
-# Usage: ./update_datasets.sh VENV_NAME WORKING_DIR GIT_PATH DB_USER DB_PASS DB_NAME SEED_DATA OUTPUT_DATA
-# apt-get install git virtualenvwrapper python-pip mysql-server python-lxml build-essential libffi-dev
-
-# $1 is the unique job id
-# $2 is the working dir path
-# $3 is the path to the git repo path
-# $4 is the nova db user
-# $5 is the nova db password
-# $6 is the nova db name
-# $7 is the path to the seed dataset to test against
-# $8 is the logging.conf for openstack
-# $9 is the pip cache dir
-
-UNIQUE_ID=$1
-WORKING_DIR_PATH=`realpath $2`
-GIT_REPO_PATH=`realpath $3`
-DB_USER=$4
-DB_PASS=$5
-DB_NAME=$6
-DATASET_SEED_SQL=`realpath $7`
-DATASET_OUTPUT_SQL=$8
-
-SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-
-# We also support the following environment variables to tweak our behavour:
-#   NOCLEANUP: if set to anything, don't cleanup at the end of the run
-
-pip_requires() {
-  pip install -q mysql-python
-  pip install -q eventlet
-  requires="tools/pip-requires"
-  if [ ! -e $requires ]
-  then
-    requires="requirements.txt"
-  fi
-  echo "Install pip requirements from $requires"
-  pip install -q -r $requires
-  echo "Requirements installed"
-}
-
-db_sync() {
-  # $1 is the test target (ie branch name)
-  # $2 is an (optional) destination version number
-
-  # Create a nova.conf file
-  cat - > $WORKING_DIR_PATH/nova-$1.conf <<EOF
-[DEFAULT]
-sql_connection = mysql://$DB_USER:$DB_PASS@localhost/$DB_NAME?charset=utf8
-#log_config = $LOG_CONF_FILE
-EOF
-
-  # Silently return git to a known good state (delete untracked files)
-  git clean -xfdq
-
-  echo "***** Start DB upgrade to state of $1 *****"
-  echo "HEAD of branch under test is:"
-  git log -n 1
-
-  echo "Setting up the nova-manage entry point"
-  python setup.py -q clean
-  python setup.py -q develop
-  python setup.py -q install
-
-  # Log the migrations present
-  echo "Migrations present:"
-  ls $GIT_REPO_PATH/nova/db/sqlalchemy/migrate_repo/versions/*.py | sed 's/.*\///' | egrep "^[0-9]+_"
-
-  # Flush innodb's caches
-  echo "Restarting mysql"
-  sudo service mysql stop
-  sudo service mysql start
-
-  start_version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-
-  if [ "%$2%" == "%%" ]
-  then
-    end_version=`ls $GIT_REPO_PATH/nova/db/sqlalchemy/migrate_repo/versions/*.py | sed 's/.*\///' | egrep "^[0-9]+_" | tail -1 | cut -f 1 -d "_"`
-  else
-    end_version=$2
-  fi
-
-  echo "Test will migrate from $start_version to $end_version"
-  if [ $end_version -lt $start_version ]
-  then
-    increment=-1
-    end_version=$(( $end_version + 1 ))
-  else
-    increment=1
-    start_version=$(( $start_version + 1))
-  fi
-
-  for i in `seq $start_version $increment $end_version`
-  do
-    set -x
-    $SCRIPT_DIR/nova-manage-wrapper.sh $VENV_PATH --config-file $WORKING_DIR_PATH/nova-$1.conf --verbose db sync --version $i
-    manage_exit=$?
-    set +x
-
-    echo "nova-manage returned exit code $manage_exit"
-    if [ $manage_exit -gt 0 ]
-    then
-      echo "Aborting early"
-      exit $manage_exit
-    fi
-  done
-
-  echo "***** Finished DB upgrade to state of $1 *****"
-}
-
-stable_release_db_sync() {
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-
-  # Some databases are from Folsom
-  echo "Schema version is $version"
-  if [ $version -lt "161" ]
-  then
-    echo "Database is from Folsom! Upgrade via Grizzly"
-    git branch -D eol/grizzly || true
-    git remote update
-    git checkout -b eol/grizzly
-    # Use tag
-    git reset --hard grizzly-eol
-    pip_requires
-    db_sync "grizzly"
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Grizzly
-  echo "Schema version is $version"
-  if [ $version -lt "216" ]
-  then
-    echo "Database is from Grizzly! Upgrade via Havana"
-    git branch -D eol/havana || true
-    git remote update
-    git checkout -b eol/havana
-    # Use tag
-    git reset --hard havana-eol
-    pip_requires
-    db_sync "havana"
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Havana
-  echo "Schema version is $version"
-  if [ $version -lt "234" ]
-  then
-    echo "Database is from Havana! Upgrade via Icehouse"
-    git branch -D eol/icehouse || true
-    git remote update
-    git checkout -b eol/icehouse
-    # Use tag
-    git reset --hard icehouse-eol
-    pip_requires
-    db_sync "icehouse"
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Icehouse
-  echo "Schema version is $version"
-  if [ $version -lt "254" ]
-  then
-    echo "Database is from Icehouse! Upgrade via Juno"
-    git branch -D stable/juno || true
-    git remote update
-    git checkout -b stable/juno
-    git reset --hard remotes/origin/stable/juno
-    pip_requires
-    db_sync "juno"
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Juno
-  echo "Schema version is $version"
-  if [ $version -lt "280" ]
-  then
-    echo "Database is from Juno! Upgrade via Kilo"
-    git branch -D stable/kilo || true
-    git remote update
-    git checkout -b stable/kilo
-    git reset --hard remotes/origin/stable/kilo
-    pip_requires
-    db_sync "kilo"
-
-    # TODO(jhesketh): This is a bit of a hack until we update our datasets to
-    # have the flavour data migrated. We have to do this before upgrading from
-    set -x
-    $SCRIPT_DIR/nova-manage-wrapper.sh $VENV_PATH --config-file $WORKING_DIR_PATH/nova-kilo.conf --verbose db migrate_flavor_data --force
-    set +x
-  fi
-
-  # TODO(jhesketh): Add in Liberty here once released
-
-  # TODO(jhesketh): Make this more DRY and/or automatically match migration
-  # numbers to releases.
-}
-
-echo "Test running on "`hostname`" as "`whoami`" ("`echo ~`", $HOME)"
-echo "To execute this script manually, run this:"
-echo "$0 $@"
-
-# Setup the environment
-set -x
-export PATH=/usr/lib/ccache:$PATH
-#export PIP_INDEX_URL="http://www.rcbops.com/pypi/mirror"
-export PIP_INDEX_URL="http://pypi.openstack.org/simple/"
-export PIP_EXTRA_INDEX_URL="https://pypi.python.org/simple/"
-which pip
-pip --version
-which virtualenv
-virtualenv --version
-which mkvirtualenv
-set +x
-
-# Restore database to known good state
-echo "Restoring test database $DB_NAME"
-set -x
-mysql -u $DB_USER --password=$DB_PASS -e "drop database $DB_NAME"
-mysql -u $DB_USER --password=$DB_PASS -e "create database $DB_NAME"
-mysql -u $DB_USER --password=$DB_PASS $DB_NAME < $DATASET_SEED_SQL
-set +x
-
-echo "Build test environment"
-cd $GIT_REPO_PATH
-
-echo "Setting up virtual env"
-source ~/.bashrc
-export WORKON_HOME=`pwd`/envs
-mkdir -p $WORKON_HOME
-VENV_PATH=$WORKON_HOME/$UNIQUE_ID
-rm -rf $VENV_PATH
-source /usr/local/bin/virtualenvwrapper.sh
-source /etc/bash_completion.d/virtualenvwrapper
-mkvirtualenv --no-site-packages $UNIQUE_ID
-#toggleglobalsitepackages
-export PYTHONPATH=$PYTHONPATH:$GIT_REPO_PATH
-
-if [ ! -e $VENV_PATH ]
-then
-  echo "Error: making the virtual env failed"
-  exit 1
-fi
-
-stable_release_db_sync
-
-# Determine the final schema version
-version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-echo "Final schema version is $version"
-
-if [ "%$NOCLEANUP%" == "%%" ]
-then
-  # Cleanup virtual env
-  echo "Cleaning up virtual env"
-  deactivate
-  rmvirtualenv $UNIQUE_ID
-fi
-
-cd $SCRIPT_DIR
-mysqldump -u $DB_USER --password=$DB_PASS $DB_NAME > $DATASET_OUTPUT_SQL
diff --git a/tools/zuul_enqueue.py b/tools/zuul_enqueue.py
deleted file mode 100755
index 8236606..0000000
--- a/tools/zuul_enqueue.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/python
-# This tool is useful to query gerrit for negative or missing votes left by
-# a user. It may require tweaking for different failure messages etc.
-
-import json
-import requests
-import traceback
-
-# Set the user to watch
-user = 'turbo-hipster'
-author_name = 'DB Datasets CI'
-author_account_id = 9578
-upstream_user = 'jenkins'
-upstream_author_name = "Jenkins"
-upstream_author_account_id = 3
-
-# Grab a list of missing or negative reviews for a user:
-url = ("https://review.openstack.org/changes/?q=status:open "
-       "project:openstack/nova NOT label:Verified>=0,%s "
-       "branch:master&o=CURRENT_REVISION&o=MESSAGES" % user)
-
-print "Grabbing reviews from %s" % url
-r = requests.get(url)
-
-no_votes = []
-negative_votes = []
-merge_failures = []
-upstream_merge_failures = []
-unknown = []
-
-for change in json.loads(r.text[5:]):
-    try:
-        patchset = change['revisions'][change['current_revision']]['_number']
-        change_id = str(change['_number']) + ',' + str(patchset)
-        last_message = None
-        last_upstream_message = None
-        for message in sorted(change['messages'],
-                              key=lambda k: (k['_revision_number'],
-                                             k['date']), reverse=True):
-            if message['_revision_number'] < patchset:
-                # Finished looking at all the messages on this patchset
-                break
-            if (not last_message and
-                    message['author']['_account_id'] == author_account_id):
-                last_message = message['message']
-            if (not last_upstream_message and
-                    message['author']['_account_id'] ==
-                    upstream_author_account_id):
-                last_upstream_message = message['message']
-
-        if (last_upstream_message and
-                'Merge Failed.' in last_upstream_message.split('\n')[2]):
-            upstream_merge_failures.append({
-                'change_id': change_id,
-                'updated': change['updated'],
-                'change': change,
-                'last_upstream_message': last_upstream_message,
-            })
-        elif not last_message:
-            # turbo-hister hasn't commented on this patchset
-            no_votes.append({
-                'change_id': change_id,
-                'updated': change['updated'],
-                'change': change,
-                'last_upstream_message': last_upstream_message,
-            })
-        elif ('This change was unable to be automatically merged with the '
-              'current state of the repository.' in last_message):
-            merge_failures.append({
-                'change_id': change_id,
-                'updated': change['updated'],
-                'change': change,
-                'last_upstream_message': last_upstream_message,
-            })
-        elif 'Database migration testing failed' in last_message:
-            negative_votes.append({
-                'change_id': change_id,
-                'updated': change['updated'],
-                'change': change,
-                'last_upstream_message': last_upstream_message,
-            })
-        else:
-            unknown.append({
-                'change_id': change_id,
-                'updated': change['updated'],
-                'change': change,
-                'last_upstream_message': last_upstream_message,
-            })
-
-    except Exception:
-        print "Something failed.. Here is the change..."
-        print change
-        traceback.print_exc()
-
-
-def print_enqueues(changes):
-    for change in sorted(changes, key=lambda k: k['updated'], reverse=True):
-        print ("zuul enqueue --trigger gerrit --pipeline check "
-               "--project openstack/nova --change %s" % (change['change_id']))
-
-print "=" * 20 + (" Changes with no votes (%d) " % len(no_votes)) + "=" * 20
-print_enqueues(no_votes)
-print ("=" * 20 + (" Changes with negative votes (%d) " % len(negative_votes))
-       + "=" * 20)
-print_enqueues(negative_votes)
-print ("=" * 20 + (" Changes with merge failure (%d) " % len(merge_failures)) +
-       "=" * 20)
-print_enqueues(merge_failures)
-print "=" * 20 + (" Others in this query (%d) " % len(unknown)) + "=" * 20
-print_enqueues(unknown)
-print "=" * 20 + (" Changes with merge failures upstream (%d) "
-                  % len(upstream_merge_failures)) + "=" * 20
-print_enqueues(upstream_merge_failures)
diff --git a/tox.ini b/tox.ini
deleted file mode 100644
index cfd9e06..0000000
--- a/tox.ini
+++ /dev/null
@@ -1,35 +0,0 @@
-# Tox (http://tox.testrun.org/) is a tool for running tests
-# in multiple virtualenvs. This configuration file will run the
-# test suite on all supported python versions. To use it, "pip install tox"
-# and then run "tox" from this directory.
-
-[tox]
-minversion = 1.6
-envlist = pep8, py27
-
-[testenv]
-setenv = VIRTUAL_ENV={envdir}
-         LANG=en_US.UTF-8
-         LANGUAGE=en_US:en
-         LC_ALL=C
-usedevelop = True
-install_command = pip install {opts} {packages}
-deps = -r{toxinidir}/requirements.txt
-       -r{toxinidir}/test-requirements.txt
-commands =
-  python setup.py testr --slowest --testr-args='{posargs}'
-
-[testenv:pep8]
-commands = flake8
-
-[testenv:cover]
-commands =
-  python setup.py testr --coverage
-
-[testenv:venv]
-commands = {posargs}
-
-[flake8]
-ignore = E125,H
-show-source = True
-exclude = .venv,.tox,dist,doc,build,*.egg
diff --git a/turbo_hipster/__init__.py b/turbo_hipster/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/cmd/__init__.py b/turbo_hipster/cmd/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/cmd/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/cmd/analyse_historical.py b/turbo_hipster/cmd/analyse_historical.py
deleted file mode 100644
index a7ce33a..0000000
--- a/turbo_hipster/cmd/analyse_historical.py
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import argparse
-import datetime
-import json
-import logging
-import MySQLdb
-import os
-import re
-import sys
-import yaml
-
-import swiftclient
-
-from turbo_hipster.task_plugins.real_db_upgrade import handle_results
-
-
-def main():
-    parser = argparse.ArgumentParser()
-    parser.add_argument('-c', '--config',
-                        default='/etc/turbo-hipster/config.yaml',
-                        help='Path to yaml config file.')
-    args = parser.parse_args()
-
-    with open(args.config, 'r') as config_stream:
-        config = yaml.safe_load(config_stream)
-    swift_config = config['publish_logs']
-
-    log = logging.getLogger(__name__)
-    if not os.path.isdir(os.path.dirname(config['debug_log'])):
-        os.makedirs(os.path.dirname(config['debug_log']))
-    logging.basicConfig(format='%(asctime)s %(name)s %(message)s',
-                        filename=config['debug_log'], level=logging.INFO)
-
-    # Open a connection to swift
-    connection = swiftclient.client.Connection(
-        authurl=swift_config['authurl'],
-        user=swift_config['user'],
-        key=swift_config['password'],
-        os_options={'region_name': swift_config['region']},
-        tenant_name=swift_config['tenant'],
-        auth_version=2.0)
-    log.info('Got connection to swift')
-
-    # Open the results database
-    db = MySQLdb.connect(host=config['results']['host'],
-                         port=config['results'].get('port', 3306),
-                         user=config['results']['username'],
-                         passwd=config['results']['password'],
-                         db=config['results']['database'])
-    cursor = db.cursor(MySQLdb.cursors.DictCursor)
-
-    # Iterate through the logs and determine timing information. This probably
-    # should be done in a "more cloudy" way, but this is good enough for now.
-    total_items = 0
-    items = connection.get_container(swift_config['container'], limit=1000)[1]
-    while items:
-        total_items += len(items)
-        print ('%s Processing %d items, %d items total'
-               % (datetime.datetime.now(), len(items), total_items))
-
-        for item in items:
-            log.info('Processing %s' % item['name'])
-            cursor.execute('select count(*) from summary where path="%s";'
-                           % item['name'])
-            if cursor.rowcount == 0:
-                for engine, dataset, migration in process(
-                        connection, swift_config['container'], item['name']):
-                    if 'duration' not in migration:
-                        continue
-
-                    if migration['stats']:
-                        cursor.execute('insert ignore into summary'
-                                       '(path, parsed_at, engine, dataset, '
-                                       'migration, duration, stats_json) '
-                                       'values(%s, now(), %s, '
-                                       '%s, %s, %s, %s);',
-                                       (item['name'], engine, dataset,
-                                        '%s->%s' % (migration['from'],
-                                                    migration['to']),
-                                        migration['duration'],
-                                        json.dumps(migration['stats'])))
-                    else:
-                        cursor.execute('insert ignore into summary'
-                                       '(path, parsed_at, engine, dataset, '
-                                       'migration, duration, stats_json) '
-                                       'values(%s, now(), %s, '
-                                       '%s, %s, %s, NULL);',
-                                       (item['name'], engine, dataset,
-                                        '%s->%s' % (migration['from'],
-                                                    migration['to']),
-                                        migration['duration']))
-
-                cursor.execute('commit;')
-
-        items = connection.get_container(swift_config['container'],
-                                         marker=item['name'], limit=1000)[1]
-
-TEST_NAME1_RE = re.compile('.*/real-db-upgrade_nova_([^_]+)_([^/]*)/.*')
-TEST_NAME2_RE = re.compile('.*/real-db-upgrade_nova_([^_]+)/.*/(.*).log')
-
-
-def process(connection, container, name):
-    log = logging.getLogger(__name__)
-    engine_name = None
-    test_name = None
-
-    m = TEST_NAME1_RE.match(name)
-    if m:
-        engine_name = m.group(1)
-        test_name = m.group(2)
-    else:
-        m = TEST_NAME2_RE.match(name)
-        if m:
-            engine_name = m.group(1)
-            test_name = m.group(2)
-
-    if not engine_name or not test_name:
-        log.warn('Log name %s does not match regexp' % name)
-        return
-
-    content = connection.get_object(container, name)[1]
-    with open('/tmp/logcontent', 'w') as f:
-        f.write(content)
-
-    lp = handle_results.LogParser('/tmp/logcontent', None)
-    lp.process_log()
-    if not lp.migrations:
-        log.warn('Log %s contained no migrations' % name)
-
-    for migration in lp.migrations:
-        if 'start' not in migration:
-            continue
-        if 'end' not in migration:
-            continue
-        yield (engine_name, test_name, migration)
-
-
-if __name__ == '__main__':
-    sys.path.insert(0, os.path.abspath(
-                    os.path.join(os.path.dirname(__file__), '../')))
-    main()
diff --git a/turbo_hipster/cmd/queue_logger.py b/turbo_hipster/cmd/queue_logger.py
deleted file mode 100644
index 3e35bcd..0000000
--- a/turbo_hipster/cmd/queue_logger.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import os
-import socket
-import sys
-
-
-def main():
-    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    client_socket.connect(('zuul.rcbops.com', 4730))
-    client_socket.send('status\n')
-
-    data = ''
-
-    d = client_socket.recv(1024)
-    while d:
-        data += d
-        if d.split('\n')[-2] == '.':
-            break
-        d = client_socket.recv(1024)
-
-    queued_count = 0
-    queued_detail = {}
-    for line in data.split('\n')[:-2]:
-        func, total, running, available_workers = line.split('\t')
-        queued = int(total) - int(running)
-        if queued > 0:
-            queued_detail[func] = ('%d (%s workers)'
-                                   % (queued, available_workers))
-        queued_count += queued
-
-    print 'There are %d turbo-hipster jobs queued' % queued_count
-    for job in queued_detail:
-        print '    %s: %s' % (job, queued_detail[job])
-
-    client_socket.close()
-
-if __name__ == '__main__':
-    sys.path.insert(0, os.path.abspath(
-                    os.path.join(os.path.dirname(__file__), '../')))
-    main()
diff --git a/turbo_hipster/cmd/report_historical.py b/turbo_hipster/cmd/report_historical.py
deleted file mode 100644
index 50e4a28..0000000
--- a/turbo_hipster/cmd/report_historical.py
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import json
-import math
-import MySQLdb
-import os
-import sys
-import yaml
-
-
-def main():
-    for dataset in ['devstack_131007', 'devstack_150', 'trivial_500',
-                    'trivial_6000', 'user_001', 'user_002']:
-        process_dataset(dataset)
-
-
-def process_dataset(dataset):
-    with open('/etc/turbo-hipster/config.yaml', 'r') as config_stream:
-        config = yaml.safe_load(config_stream)
-    db = MySQLdb.connect(host=config['results']['host'],
-                         port=config['results'].get('port', 3306),
-                         user=config['results']['username'],
-                         passwd=config['results']['password'],
-                         db=config['results']['database'])
-    cursor = db.cursor(MySQLdb.cursors.DictCursor)
-
-    migrations = {}
-    all_times = {}
-    stats_summary = {}
-
-    for engine in ['mysql', 'percona']:
-        print '%s, %s' % (dataset, engine)
-        cursor.execute('select distinct(migration) from summary where '
-                       'engine="%s" and dataset="%s" order by migration;'
-                       % (engine, dataset))
-        migrations_list = []
-        for row in cursor:
-            migrations_list.append(row['migration'])
-
-        for migration in migrations_list:
-            all_times.setdefault(migration, [])
-
-            cursor.execute('select distinct(duration), count(*) from summary '
-                           'where engine="%s" and dataset="%s" and '
-                           'migration="%s" group by duration;'
-                           % (engine, dataset, migration))
-            for row in cursor:
-                for i in range(row['count(*)']):
-                    all_times[migration].append(row['duration'])
-
-            cursor.execute('select stats_json from summary where engine="%s" '
-                           'and dataset="%s" and migration="%s" and '
-                           'not (stats_json = "{}");'
-                           % (engine, dataset, migration))
-            for row in cursor:
-                stats = json.loads(row['stats_json'])
-                for key in stats:
-                    stats_summary.setdefault(migration, {})
-                    stats_summary[migration].setdefault(key, {})
-                    stats_summary[migration][key].setdefault(stats[key], 0)
-                    stats_summary[migration][key][stats[key]] += 1
-
-                # Composed stats
-                rows_changed = 0
-                for key in ['Innodb_rows_updated',
-                            'Innodb_rows_inserted',
-                            'Innodb_rows_deleted']:
-                    rows_changed += stats.get(key, 0)
-
-                stats_summary[migration].setdefault('XInnodb_rows_changed', {})
-                stats_summary[migration]['XInnodb_rows_changed'].setdefault(
-                    rows_changed, 0)
-                stats_summary[migration]['XInnodb_rows_changed'][rows_changed]\
-                    += 1
-
-    with open('results.txt', 'w') as f:
-        f.write('Migration,mysql,percona\n')
-        for migration in sorted(migrations.keys()):
-            f.write('%s' % migration)
-            for engine in ['mysql', 'percona']:
-                f.write(',%s' % migrations[migration].get(engine, ''))
-            f.write('\n')
-
-    # Write out the dataset config as a json blob
-    config_path = os.path.join('datasets',
-                               'datasets_%s' % dataset,
-                               omg_hard_to_predict_names(dataset))
-    with open(os.path.join(config_path, 'input.json')) as f:
-        config = json.loads(f.read())
-
-    for migration in sorted(all_times.keys()):
-        # Timing
-        config_max = config['maximum_migration_times']['default']
-        l = len(all_times[migration])
-        if l > 10:
-            sorted_all_times = sorted(all_times[migration])
-            one_percent = int(math.ceil(l / 100))
-            recommend = sorted_all_times[-one_percent] + 30
-            if recommend > config_max:
-                config['maximum_migration_times'][migration] = \
-                    math.ceil(recommend)
-
-        # Innodb stats
-        if migration not in stats_summary:
-            continue
-
-        for stats_key in ['XInnodb_rows_changed', 'Innodb_rows_read']:
-            config_max = config[stats_key]['default']
-
-            values = []
-            results = stats_summary[migration].get(stats_key, {})
-            for result in results:
-                values.append(result)
-
-            max_value = max(values)
-            rounding = max_value % 10000
-            if max_value > config_max:
-                config[stats_key][migration] = max_value + (10000 - rounding)
-
-    with open(os.path.join(config_path, 'config.json'), 'w') as f:
-        f.write(json.dumps(config, indent=4, sort_keys=True))
-
-
-def omg_hard_to_predict_names(dataset):
-    if dataset.startswith('trivial'):
-        return 'nova_%s' % dataset
-    if dataset == 'devstack_150':
-        return 'datasets_devstack_150'
-    if dataset == 'devstack_131007':
-        return '131007_devstack_export'
-    return dataset
-
-
-if __name__ == '__main__':
-    sys.path.insert(0, os.path.abspath(
-                    os.path.join(os.path.dirname(__file__), '../')))
-    main()
diff --git a/turbo_hipster/cmd/server.py b/turbo_hipster/cmd/server.py
deleted file mode 100644
index 06f9415..0000000
--- a/turbo_hipster/cmd/server.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import argparse
-import daemon
-import extras
-import os
-import signal
-import sys
-import time
-import yaml
-
-from turbo_hipster import worker_server
-
-# as of python-daemon 1.6 it doesn't bundle pidlockfile anymore
-# instead it depends on lockfile-0.9.1 which uses pidfile.
-PID_FILE_MODULE = extras.try_imports(['daemon.pidlockfile', 'daemon.pidfile'])
-
-
-def setup_server(args):
-
-    with open(args.config, 'r') as config_stream:
-        config = yaml.safe_load(config_stream)
-
-    if not config['debug_log']:
-        # NOTE(mikal): debug logging _must_ be enabled for the log writing
-        # in lib.utils.execute_to_log to work correctly.
-        raise Exception('Debug log not configured')
-
-    server = worker_server.Server(config)
-    server.setup_logging(config['debug_log'])
-
-    def term_handler(signum, frame):
-        server.shutdown()
-    signal.signal(signal.SIGTERM, term_handler)
-
-    if args.background:
-        server.daemon = True
-    server.start()
-
-    while not server.stopped():
-        try:
-            time.sleep(3)
-        except KeyboardInterrupt:
-            print "Ctrl + C: asking tasks to exit nicely...\n"
-            server.shutdown()
-
-
-def main():
-    sys.path.insert(0, os.path.abspath(
-                    os.path.join(os.path.dirname(__file__), '../')))
-    parser = argparse.ArgumentParser()
-    parser.add_argument('-c', '--config',
-                        default='/etc/turbo-hipster/config.yaml',
-                        help='Path to yaml config file.')
-    parser.add_argument('-b', '--background', action='store_true',
-                        help='Run as a daemon in the background.')
-    parser.add_argument('-p', '--pidfile',
-                        default='/var/run/turbo-hipster/'
-                                'turbo-hipster-worker-server.pid',
-                        help='PID file to lock during daemonization.')
-    args = parser.parse_args()
-    if args.background:
-        pidfile = PID_FILE_MODULE.TimeoutPIDLockFile(args.pidfile, 10)
-        with daemon.DaemonContext(pidfile=pidfile):
-            setup_server(args)
-    else:
-        setup_server(args)
-
-
-if __name__ == '__main__':
-    main()
diff --git a/turbo_hipster/lib/__init__.py b/turbo_hipster/lib/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/lib/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/lib/common.py b/turbo_hipster/lib/common.py
deleted file mode 100644
index 85cfbbf..0000000
--- a/turbo_hipster/lib/common.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-def task_step(fn):
-    """Decorator for the next step in a task."""
-    def wrapper(*args, **kwargs):
-        args[0]._do_next_step()
-        result = fn(*args, **kwargs)
-        return result
-    return wrapper
diff --git a/turbo_hipster/lib/gerrit-git-prep.sh b/turbo_hipster/lib/gerrit-git-prep.sh
deleted file mode 100755
index 0726275..0000000
--- a/turbo_hipster/lib/gerrit-git-prep.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash -e
-
-# Stolen from http://git.openstack.org/cgit/openstack-infra/config/plain/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh
-
-GERRIT_SITE=$1
-GIT_ORIGIN=$2
-
-if [ -z "$GERRIT_SITE" ]
-then
-  echo "The gerrit site name (eg 'https://review.openstack.org') must be the first argument."
-  exit 1
-fi
-
-if [ -z "$ZUUL_URL" ]
-then
-  echo "The ZUUL_URL must be provided."
-  exit 1
-fi
-
-if [ -z "$GIT_ORIGIN" ] || [ -n "$ZUUL_NEWREV" ]
-then
-    GIT_ORIGIN="$GERRIT_SITE/p"
-    # https://git.openstack.org/
-    # https://review.openstack.org/p
-fi
-
-if [ -z "$ZUUL_REF" ]
-then
-    if [ -n "$BRANCH" ]
-    then
-        echo "No ZUUL_REF so using requested branch $BRANCH from origin."
-        ZUUL_REF=$BRANCH
-        # use the origin since zuul mergers have outdated branches
-        ZUUL_URL=$GIT_ORIGIN
-    else
-        echo "Provide either ZUUL_REF or BRANCH in the calling enviromnent."
-        exit 1
-    fi
-fi
-
-if [ ! -z "$ZUUL_CHANGE" ]
-then
-    echo "Triggered by: $GERRIT_SITE/$ZUUL_CHANGE"
-fi
-
-set -x
-if [[ ! -e .git ]]
-then
-    ls -a
-    rm -fr .[^.]* *
-    if [ -d /opt/git/$ZUUL_PROJECT/.git ]
-    then
-        git clone -vvvvvv file:///opt/git/$ZUUL_PROJECT .
-    else
-        git clone -vvvvvv $GIT_ORIGIN/$ZUUL_PROJECT .
-    fi
-fi
-git remote -vvvvvv set-url origin $GIT_ORIGIN/$ZUUL_PROJECT
-
-# attempt to work around bugs 925790 and 1229352
-if ! git remote -vvvvvv update
-then
-    echo "The remote update failed, so garbage collecting before trying again."
-    git gc
-    git remote -vvvvvv update
-fi
-
-git reset --hard
-if ! git clean -x -f -d -q ; then
-    sleep 1
-    git clean -x -f -d -q
-fi
-
-if echo "$ZUUL_REF" | grep -q ^refs/tags/
-then
-    git fetch -vvvvvv --tags $ZUUL_URL/$ZUUL_PROJECT
-    git checkout $ZUUL_REF
-    git reset --hard $ZUUL_REF
-elif [ -z "$ZUUL_NEWREV" ]
-then
-    git fetch -vvvvvv $ZUUL_URL/$ZUUL_PROJECT $ZUUL_REF
-    git checkout FETCH_HEAD
-    git reset --hard FETCH_HEAD
-else
-    git checkout $ZUUL_NEWREV
-    git reset --hard $ZUUL_NEWREV
-fi
-
-if ! git clean -x -f -d -q ; then
-    sleep 1
-    git clean -x -f -d -q
-fi
-
-if [ -f .gitmodules ]
-then
-    git submodule init
-    git submodule sync
-    git submodule update --init
-fi
-
-# Added for turbo-hipster
-git branch -D working || true
-git checkout -b working
diff --git a/turbo_hipster/lib/models.py b/turbo_hipster/lib/models.py
deleted file mode 100644
index 78c599a..0000000
--- a/turbo_hipster/lib/models.py
+++ /dev/null
@@ -1,395 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import copy
-import json
-import logging
-import os
-import tempfile
-import pkg_resources
-import socket
-import uuid
-
-from turbo_hipster.lib import common
-from turbo_hipster.lib import utils
-
-
-class Task(object):
-    """ A base object for running a job (aka Task) """
-    log = logging.getLogger("task")
-
-    def __init__(self, worker_server, job_name, job_config):
-        # TODO(jhesketh): remove the need for worker_server here
-        self.worker_server = worker_server
-        # NOTE(jhesketh): job_config may be in the old format where name
-        # refers to the plugin and function is the job name. Thus these should
-        # never be used in a job, instead use the provided job_name.
-        self.job_config = job_config
-        self.job_name = job_name
-        self._reset()
-
-        # Define the number of steps we will do to determine our progress.
-        self.total_steps = 0
-
-    def _cleanup(self):
-        if self.log_handler:
-            self.log.removeHandler(self.log_handler)
-            self.log_handler.flush()
-            self.log_handler.close()
-        if ('shutdown-th' in self.job_config and
-                self.job_config['shutdown-th']):
-            self.worker_server.shutdown_gracefully()
-
-    def _reset(self):
-        self.job = None
-        self.job_arguments = None
-        self.work_data = None
-        self.cancelled = False
-        self.success = True
-        self.messages = []
-        self.current_step = 0
-        self.log_handler = None
-        self.th_uuid = str(uuid.uuid4())[-12:]
-
-    def _prep_working_dir(self):
-        # Use the th_uuid so that if the same job is somehow taken twice from
-        # zuul we won't re-use zuul's uuid. This shouldn't happen but if it
-        # does it prevents overwriting previous results
-        self.job_working_dir = os.path.join(
-            self.worker_server.config['jobs_working_dir'],
-            self.th_uuid,
-            self.job_arguments['LOG_PATH']
-        )
-        self.job_results_dir = os.path.join(
-            self.job_working_dir,
-            'results'
-        )
-        self.task_output_log = os.path.join(
-            self.job_results_dir,
-            'task_output.log'
-        )
-
-        if not os.path.isdir(os.path.dirname(self.task_output_log)):
-            os.makedirs(os.path.dirname(self.task_output_log))
-
-    def _setup_task_logging(self):
-        self.log_handler = logging.FileHandler(self.task_output_log)
-        log_formatter = logging.Formatter('%(asctime)s %(message)s')
-        self.log_handler.setFormatter(log_formatter)
-        self.log.addHandler(self.log_handler)
-        self.log.setLevel(logging.DEBUG)
-
-    def start_job(self, job):
-        self._reset()
-        self.job = job
-
-        if self.job is not None:
-            try:
-                self.job_arguments = \
-                    json.loads(self.job.arguments.decode('utf-8'))
-                self.log.debug("Got job from ZUUL %s" % self.job_arguments)
-
-                # Send an initial WORK_DATA and WORK_STATUS packets
-                self._send_work_data()
-
-                # Prep working dirs
-                self._prep_working_dir()
-
-                # Now we have working dirs we can log the job details to a file
-                self._setup_task_logging()
-
-            except Exception as e:
-                # If something failed during this section we have been unable
-                # to log to file. As such raise an exception to gearman
-                self.log.exception("Failure during setup")
-                self.log.exception(e)
-                if not self.cancelled:
-                    self.success = False
-                    self.messages.append('FAILURE during the job setup')
-                    self.messages.append('Exception: %s' % e)
-                    self._send_work_data()
-                    self.job.sendWorkException(str(e).encode('utf-8'))
-                    # No point trying the job, lets return here
-                    self._send_final_results()
-                    return
-
-            # From here we can log exceptions
-            try:
-                # Execute the job_steps
-                self.do_job_steps()
-            except Exception as e:
-                # Log the problem
-                if not self.cancelled:
-                    self.success = False
-                    self.log.exception('Something failed running the job!')
-                    self.messages.append('FAILURE running the job')
-                    self.messages.append('Exception: %s' % e)
-                    # Don't return from here as we can continue uploading the
-                    # logs
-
-            try:
-                self._cleanup()
-                self._upload_results()
-            except Exception as e:
-                # If something failed during this section we have been unable
-                # to upload the log. As such raise an exception to gearman
-                self.log.exception("Failure during cleanup and upload")
-                self.log.exception(e)
-                if not self.cancelled:
-                    self.success = False
-                    self.messages.append('FAILURE during cleanup and log '
-                                         'upload')
-                    self.messages.append('Exception: %s' % e)
-                    self._send_work_data()
-                    self.job.sendWorkException(str(e).encode('utf-8'))
-            finally:
-                # Finally, send updated work data and completed packets
-                self._send_final_results()
-
-    def stop_working(self, number=None):
-        # Check the number is for this job instance (None will cancel all)
-        # (makes it possible to run multiple workers with this task
-        # on this server)
-        if number is None or number == self.job.unique:
-            self.log.debug("We've been asked to stop by our gearman manager")
-            self.cancelled = True
-            # TODO: Work out how to kill current step
-
-    def _get_work_data(self):
-        if self.work_data is None:
-            hostname = os.uname()[1]
-            fqdn = socket.getfqdn()
-            self.work_data = dict(
-                name=self.job_name,
-                number=self.job.unique,
-                manager='turbo-hipster-manager-%s' % hostname,
-                url='http://localhost',
-                worker_hostname=hostname,
-                worker_fqdn=fqdn,
-                worker_program='turbo-hipster',
-            )
-            try:
-                self.work_data['worker_version'] = (
-                    pkg_resources.get_distribution('turbo_hipster').version
-                )
-            except pkg_resources.DistributionNotFound:
-                # Package isn't installed; I do not think that manually
-                # attempting to extract version in some ad-hoc manner would be
-                # worth it -> just ignore this.
-                pass
-        return self.work_data
-
-    def _send_work_data(self):
-        """ Send the WORK DATA in json format for job """
-        self.log.debug("Send the work data response: %s" %
-                       json.dumps(self._get_work_data()))
-        if self.success:
-            self.work_data['result'] = 'SUCCESS'
-        else:
-            self.work_data['result'] = '\n'.join(self.messages)
-        self.job.sendWorkData(json.dumps(self._get_work_data()))
-
-    def _send_final_results(self):
-        self._send_work_data()
-
-        if self.success:
-            self.job.sendWorkComplete(
-                json.dumps(self._get_work_data()))
-        else:
-            self.job.sendWorkFail()
-
-    def _do_next_step(self):
-        """ Send a WORK_STATUS command to the gearman server.
-        This can provide a progress bar. """
-
-        # Each opportunity we should check if we need to stop
-        if self.cancelled:
-            self.work_data['result'] = "Failed: Job cancelled"
-            self.job.sendWorkStatus(self.current_step, self.total_steps)
-            self.job.sendWorkFail()
-            raise Exception('Job cancelled')
-
-        self.current_step += 1
-        self.job.sendWorkStatus(self.current_step, self.total_steps)
-
-    def _upload_results(self):
-        """Upload the contents of the working dir either using the instructions
-        provided by zuul and/or our configuration"""
-
-        self.log.debug("Process the resulting files (upload/push)")
-
-        dir_list = os.listdir(self.job_results_dir)
-        path_list = [os.path.join(self.job_results_dir, i) for i in dir_list]
-
-        if 'publish_logs' in self.worker_server.config:
-            index_url = utils.push_files(
-                self.job_arguments['LOG_PATH'], path_list,
-                self.worker_server.config['publish_logs'])
-            self.log.debug("Index URL found at %s" % index_url)
-            self.work_data['url'] = index_url
-
-        if 'ZUUL_EXTRA_SWIFT_URL' in self.job_arguments:
-            # Upload to zuul's url as instructed
-            utils.zuul_swift_upload(self.job_working_dir, self.job_arguments)
-            self.work_data['url'] = self.job_arguments['LOG_PATH']
-
-
-class ShellTask(Task):
-    log = logging.getLogger("task.shell_task")
-
-    def __init__(self, worker_server, job_name, job_config):
-        super(ShellTask, self).__init__(worker_server, job_name, job_config)
-        # Define the number of steps we will do to determine our progress.
-        self.total_steps = 5
-
-    def _reset(self):
-        super(ShellTask, self)._reset()
-        self.git_path = None
-        self.job_working_dir = None
-        self.shell_output_log = None
-        self.git_prep_log = None
-        self.output_summary = None
-
-    def do_job_steps(self):
-        self.log.info('Step 1: Setup environment')
-        self._setup_environment()
-
-        self.log.info('Step 2: Checkout updates from git')
-        self._grab_patchset(self.job_arguments)
-
-        self.log.info('Step 3: Run shell script')
-        self._execute_script()
-
-        self.log.info('Step 4: Analyse logs for errors')
-        self._parse_and_check_results()
-
-        self.log.info('Step 5: Handle the results')
-        self._handle_results()
-
-        self.log.info('Step 6: Handle extra actions such as shutting down')
-        self._handle_cleanup()
-
-    @common.task_step
-    def _setup_environment(self):
-        self.git_prep_log = os.path.join(
-            self.job_results_dir,
-            'git_prep.log'
-        )
-        self.shell_output_log = os.path.join(
-            self.job_results_dir,
-            'shell_output.log'
-        )
-        self.output_summary = tempfile.mkstemp()
-        self.log.info('Working on node %s' % (os.uname()[1]))
-
-    @common.task_step
-    def _grab_patchset(self, job_args):
-        """ Checkout the reference into config['git_working_dir'] """
-
-        # TODO(jhesketh): Use the zuul cloner stuff instead :-)
-
-        self.log.debug("Grab the patchset we want to test against")
-        local_path = os.path.join(self.worker_server.config['git_working_dir'],
-                                  self.th_uuid, job_args['ZUUL_PROJECT'])
-        if not os.path.exists(local_path):
-            os.makedirs(local_path)
-
-        env = os.environ
-        git_args = copy.deepcopy(job_args)
-        env.update(git_args)
-
-        cmd = os.path.join(
-            os.path.join(os.path.dirname(os.path.abspath(__file__)),
-                         'gerrit-git-prep.sh')
-        )
-        cmd += ' ' + self.worker_server.config['zuul_server']['gerrit_site']
-        cmd += ' ' + self.worker_server.config['zuul_server']['git_origin']
-
-        # NOTE(jhesketh): The most common problem is the git remote timing out
-        # Retry cloning multiple times before raising a failure.
-        tries = 0
-        return_code = 1
-        while return_code != 0:
-            tries += 1
-            env.update({'GIT_CURL_VERBOSE': '1', 'GIT_TRACE': '1'})
-            return_code = utils.execute_to_log(cmd, self.git_prep_log,
-                                               env=env, cwd=local_path)
-            if tries == 2:
-                # Try upping the post buffer. See:
-                # http://stackoverflow.com/questions/6842687/
-                # the-remote-end-hung-up-unexpectedly-while-git-cloning
-                utils.execute_to_log(
-                    "git config --global http.postBuffer 1048576000",
-                    self.git_prep_log, env=env, cwd=local_path)
-            if tries >= 4:
-                break
-        if return_code != 0:
-            cmd = 'ifconfig'
-            utils.execute_to_log(cmd, self.git_prep_log)
-            raise Exception("Failed to fetch patchset")
-        self.git_path = local_path
-        return local_path
-
-    @common.task_step
-    def _execute_script(self):
-        # Run script
-        cmd = self.job_config['shell_script']
-        cmd += (
-            (' %(git_path)s %(job_working_dir)s %(unique_id)s')
-            % {
-                'git_path': self.git_path,
-                'job_working_dir': self.job_working_dir,
-                'unique_id': self.job.unique
-            }
-        )
-
-        env_args = copy.deepcopy(os.environ)
-        env_args.update(self.job_arguments)
-        if self.job.name.startswith('build:'):
-            env_args['TH_JOB_NAME'] = self.job.name[len('build:'):]
-        else:
-            env_args['TH_JOB_NAME'] = self.job.name
-        env_args['TH_RESULT_FILE'] = self.output_summary[1]
-
-        self.script_return_code = utils.execute_to_log(
-            cmd,
-            self.shell_output_log,
-            env=env_args
-        )
-
-    @common.task_step
-    def _parse_and_check_results(self):
-        if self.script_return_code > 0:
-            self.success = False
-            with os.fdopen(self.output_summary[0]) as fp:
-                line = fp.readline().strip()
-                if len(line) and not line.startswith('SUCCESS'):
-                    self.messages.append(line)
-            self.messages.append('Return code from test script was non-zero '
-                                 '(%d)' % self.script_return_code)
-
-    @common.task_step
-    def _handle_cleanup(self):
-        """Handle and cleanup functions. Shutdown if requested to so that no
-        further jobs are ran if the environment is dirty."""
-
-        try:
-            os.remove(self.output_summary[1])
-        except OSError:
-            pass
-
-    @common.task_step
-    def _handle_results(self):
-        pass
diff --git a/turbo_hipster/lib/utils.py b/turbo_hipster/lib/utils.py
deleted file mode 100644
index 0673869..0000000
--- a/turbo_hipster/lib/utils.py
+++ /dev/null
@@ -1,438 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import git
-import logging
-import magic
-import os
-import requests
-import select
-import shutil
-import subprocess
-import swiftclient
-import sys
-import tempfile
-import time
-
-
-log = logging.getLogger('lib.utils')
-
-
-class GitRepository(object):
-
-    """ Manage a git repository for our uses """
-    log = logging.getLogger("lib.utils.GitRepository")
-
-    def __init__(self, remote_url, local_path):
-        self.remote_url = remote_url
-        self.local_path = local_path
-        self._ensure_cloned()
-
-        self.repo = git.Repo(self.local_path)
-
-    def _ensure_cloned(self):
-        if not os.path.exists(self.local_path):
-            self.log.debug("Cloning from %s to %s" % (self.remote_url,
-                                                      self.local_path))
-            git.Repo.clone_from(self.remote_url, self.local_path)
-
-    def fetch(self, ref):
-        # The git.remote.fetch method may read in git progress info and
-        # interpret it improperly causing an AssertionError. Because the
-        # data was fetched properly subsequent fetches don't seem to fail.
-        # So try again if an AssertionError is caught.
-        origin = self.repo.remotes.origin
-        self.log.debug("Fetching %s from %s" % (ref, origin))
-
-        try:
-            origin.fetch(ref)
-        except AssertionError:
-            origin.fetch(ref)
-
-    def checkout(self, ref):
-        self.log.debug("Checking out %s" % ref)
-        return self.repo.git.checkout(ref)
-
-    def reset(self):
-        self._ensure_cloned()
-        self.log.debug("Resetting repository %s" % self.local_path)
-        self.update()
-        origin = self.repo.remotes.origin
-        for ref in origin.refs:
-            if ref.remote_head == 'HEAD':
-                continue
-            self.repo.create_head(ref.remote_head, ref, force=True)
-
-        # Reset to remote HEAD (usually origin/master)
-        self.repo.head.reference = origin.refs['HEAD']
-        self.repo.head.reset(index=True, working_tree=True)
-        self.repo.git.clean('-x', '-f', '-d')
-
-    def update(self):
-        self._ensure_cloned()
-        self.log.debug("Updating repository %s" % self.local_path)
-        origin = self.repo.remotes.origin
-        origin.update()
-        # If the remote repository is repacked, the repo object's
-        # cache may be out of date.  Specifically, it caches whether
-        # to check the loose or packed DB for a given SHA.  Further,
-        # if there was no pack or lose directory to start with, the
-        # repo object may not even have a database for it.  Avoid
-        # these problems by recreating the repo object.
-        self.repo = git.Repo(self.local_path)
-
-
-def execute_to_log(cmd, logfile, timeout=-1, watch_logs=[], heartbeat=30,
-                   env=None, cwd=None):
-    """ Executes a command and logs the STDOUT/STDERR and output of any
-    supplied watch_logs from logs into a new logfile
-
-    watch_logs is a list of tuples with (name,file) """
-
-    if not os.path.isdir(os.path.dirname(logfile)):
-        os.makedirs(os.path.dirname(logfile))
-
-    logger = logging.getLogger(logfile)
-    log_handler = logging.FileHandler(logfile)
-    log_formatter = logging.Formatter('%(asctime)s %(message)s')
-    log_handler.setFormatter(log_formatter)
-    logger.addHandler(log_handler)
-
-    descriptors = {}
-
-    for watch_file in watch_logs:
-        if not os.path.exists(watch_file[1]):
-            logger.warning('Failed to monitor log file %s: file not found'
-                           % watch_file[1])
-            continue
-
-        try:
-            fd = os.open(watch_file[1], os.O_RDONLY)
-            os.lseek(fd, 0, os.SEEK_END)
-            descriptors[fd] = {'name': watch_file[0],
-                               'poll': select.POLLIN,
-                               'lines': ''}
-        except Exception as e:
-            logger.warning('Failed to monitor log file %s: %s'
-                           % (watch_file[1], e))
-
-    cmd += ' 2>&1'
-    logger.info("[running %s]" % cmd)
-    start_time = time.time()
-    p = subprocess.Popen(
-        cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
-        env=env, cwd=cwd)
-
-    descriptors[p.stdout.fileno()] = dict(
-        name='[output]',
-        poll=(select.POLLIN | select.POLLHUP),
-        lines=''
-    )
-
-    poll_obj = select.poll()
-    for fd, descriptor in descriptors.items():
-        poll_obj.register(fd, descriptor['poll'])
-
-    last_heartbeat = time.time()
-
-    def process(fd):
-        """ Write the fd to log """
-        global last_heartbeat
-        descriptors[fd]['lines'] += os.read(fd, 1024 * 1024)
-        # Avoid partial lines by only processing input with breaks
-        if descriptors[fd]['lines'].find('\n') != -1:
-            elems = descriptors[fd]['lines'].split('\n')
-            # Take all but the partial line
-            for l in elems[:-1]:
-                if len(l) > 0:
-                    l = '%s %s' % (descriptors[fd]['name'], l)
-                    logger.info(l)
-                    last_heartbeat = time.time()
-            # Place the partial line back into lines to be processed
-            descriptors[fd]['lines'] = elems[-1]
-
-    while p.poll() is None:
-        if timeout > 0 and time.time() - start_time > timeout:
-            # Append to logfile
-            logger.info("[timeout]")
-            os.kill(p.pid, 9)
-
-        for fd, flag in poll_obj.poll(0):
-            process(fd)
-
-        if heartbeat and (time.time() - last_heartbeat > heartbeat):
-            # Append to logfile
-            logger.info("[heartbeat]")
-            last_heartbeat = time.time()
-
-    # Do one last write to get the remaining lines
-    for fd, flag in poll_obj.poll(0):
-        process(fd)
-
-    # Clean up
-    for fd, descriptor in descriptors.items():
-        poll_obj.unregister(fd)
-        if fd == p.stdout.fileno():
-            # Don't try and close the process, it'll clean itself up
-            continue
-        os.close(fd)
-    try:
-        p.kill()
-    except OSError:
-        pass
-
-    logger.info('[script exit code = %d]' % p.returncode)
-    logger.removeHandler(log_handler)
-    log_handler.flush()
-    log_handler.close()
-    return p.returncode
-
-
-def zuul_swift_upload(file_path, job_arguments):
-    """Upload working_dir to swift as per zuul's instructions"""
-    # TODO(jhesketh): replace with swift_form_post_submit from below
-
-    # NOTE(jhesketh): Zuul specifies an object prefix in the destination so
-    #                 we don't need to be concerned with results_set_name
-
-    file_list = []
-    if os.path.isfile(file_path):
-        file_list.append(file_path)
-    elif os.path.isdir(file_path):
-        for path, folders, files in os.walk(file_path):
-            for f in files:
-                f_path = os.path.join(path, f)
-                file_list.append(f_path)
-
-    # We are uploading the file_list as an HTTP POST multipart encoded.
-    # First grab out the information we need to send back from the hmac_body
-    payload = {}
-    (object_prefix,
-     payload['redirect'],
-     payload['max_file_size'],
-     payload['max_file_count'],
-     payload['expires']) = \
-        job_arguments['ZUUL_EXTRA_SWIFT_HMAC_BODY'].split('\n')
-
-    url = job_arguments['ZUUL_EXTRA_SWIFT_URL']
-    payload['signature'] = job_arguments['ZUUL_EXTRA_SWIFT_SIGNATURE']
-    logserver_prefix = job_arguments['ZUUL_EXTRA_SWIFT_LOGSERVER_PREFIX']
-
-    files = {}
-    for i, f in enumerate(file_list):
-        files['file%d' % (i + 1)] = open(f, 'rb')
-
-    requests.post(url, data=payload, files=files)
-
-    return (logserver_prefix +
-            job_arguments['ZUUL_EXTRA_SWIFT_DESTINATION_PREFIX'])
-
-
-def generate_log_index(file_list, logserver_prefix, results_set_name):
-    """Create an index of logfiles and links to them"""
-
-    output = '<html><head><title>Index of results</title></head><body>'
-    output += '<ul>'
-    for f in file_list:
-        file_url = os.path.join(logserver_prefix, results_set_name, f)
-        # Because file_list is simply a list to create an index for and it
-        # isn't necessarily on disk we can't check if a  file is a folder or
-        # not. As such we normalise the name to get the folder/filename but
-        # then need to check if the last character was a trailing slash so to
-        # re-append it to make it obvious that it links to a folder
-        filename_postfix = '/' if f[-1] == '/' else ''
-        filename = os.path.basename(os.path.normpath(f)) + filename_postfix
-        output += '<li>'
-        output += '<a href="%s">%s</a>' % (file_url, filename)
-        output += '</li>'
-
-    output += '</ul>'
-    output += '</body></html>'
-    return output
-
-
-def make_index_file(file_list, logserver_prefix, results_set_name,
-                    index_filename='index.html'):
-    """Writes an index into a file for pushing"""
-
-    index_content = generate_log_index(file_list, logserver_prefix,
-                                       results_set_name)
-    tempdir = tempfile.mkdtemp()
-    fd = open(os.path.join(tempdir, index_filename), 'w')
-    fd.write(index_content)
-    return os.path.join(tempdir, index_filename)
-
-
-def get_file_mime(file_path):
-    """Get the file mime using libmagic"""
-
-    if not os.path.isfile(file_path):
-        return None
-
-    if hasattr(magic, 'from_file'):
-        return magic.from_file(file_path, mime=True)
-    else:
-        # no magic.from_file, we might be using the libmagic bindings
-        m = magic.open(magic.MAGIC_MIME)
-        m.load()
-        return m.file(file_path).split(';')[0]
-
-
-def swift_form_post_submit(file_list, url, hmac_body, signature):
-    """Send the files to swift via the FormPost middleware"""
-
-    # We are uploading the file_list as an HTTP POST multipart encoded.
-    # First grab out the information we need to send back from the hmac_body
-    payload = {}
-
-    (object_prefix,
-     payload['redirect'],
-     payload['max_file_size'],
-     payload['max_file_count'],
-     payload['expires']) = hmac_body.split('\n')
-    payload['signature'] = signature
-
-    # Loop over the file list in chunks of max_file_count
-    for sub_file_list in (file_list[pos:pos + int(payload['max_file_count'])]
-                          for pos in xrange(0, len(file_list),
-                                            int(payload['max_file_count']))):
-        if payload['expires'] < time.time():
-            raise Exception("Ran out of time uploading files!")
-        files = {}
-        # Zuul's log path is generated without a tailing slash. As such the
-        # object prefix does not contain a slash and the files would be
-        # uploaded as 'prefix' + 'filename'. Assume we want the destination
-        # url to look like a folder and make sure there's a slash between.
-        filename_prefix = '/' if url[-1] != '/' else ''
-        for i, f in enumerate(sub_file_list):
-            if os.path.getsize(f['path']) > int(payload['max_file_size']):
-                sys.stderr.write('Warning: %s exceeds %d bytes. Skipping...\n'
-                                 % (f['path'], int(payload['max_file_size'])))
-                continue
-            files['file%d' % (i + 1)] = (filename_prefix + f['filename'],
-                                         open(f['path'], 'rb'),
-                                         get_file_mime(f['path']))
-        requests.post(url, data=payload, files=files)
-
-
-def build_file_list(file_path, logserver_prefix, results_set_name,
-                    create_dir_indexes=True):
-    """Generate a list of files to upload to zuul. Recurses through directories
-       and generates index.html files if requested."""
-
-    # file_list: a list of dicts with {path=..., filename=...} where filename
-    #            is appended to the end of the object (paths can be used)
-    file_list = []
-    if os.path.isfile(file_path):
-        file_list.append({'filename': os.path.basename(file_path),
-                          'path': file_path})
-    elif os.path.isdir(file_path):
-        if file_path[-1] == os.sep:
-            file_path = file_path[:-1]
-        parent_dir = os.path.dirname(file_path)
-        for path, folders, files in os.walk(file_path):
-            folder_contents = []
-            for f in files:
-                full_path = os.path.join(path, f)
-                relative_name = os.path.relpath(full_path, parent_dir)
-                push_file = {'filename': relative_name,
-                             'path': full_path}
-                file_list.append(push_file)
-                folder_contents.append(relative_name)
-
-            for f in folders:
-                full_path = os.path.join(path, f)
-                relative_name = os.path.relpath(full_path, parent_dir)
-                folder_contents.append(relative_name + '/')
-
-            if create_dir_indexes:
-                index_file = make_index_file(folder_contents, logserver_prefix,
-                                             results_set_name)
-                relative_name = os.path.relpath(path, parent_dir)
-                file_list.append({
-                    'filename': os.path.join(relative_name,
-                                             os.path.basename(index_file)),
-                    'path': index_file})
-
-    return file_list
-
-
-def push_files(results_set_name, path_list, publish_config,
-               generate_indexes=True):
-    """ Push a log file/foler to a server. Returns the public URL """
-
-    file_list = []
-    root_list = []
-
-    for file_path in path_list:
-        file_path = os.path.normpath(file_path)
-        if os.path.isfile(file_path):
-            root_list.append(os.path.basename(file_path))
-        else:
-            root_list.append(os.path.basename(file_path) + '/')
-
-        file_list += build_file_list(
-            file_path, publish_config['prepend_url'], results_set_name,
-            generate_indexes
-        )
-
-    index_file = ''
-    if generate_indexes:
-        index_file = make_index_file(root_list, publish_config['prepend_url'],
-                                     results_set_name)
-        file_list.append({
-            'filename': os.path.basename(index_file),
-            'path': index_file})
-
-    method = publish_config['type'] + '_push_files'
-    if method in globals() and hasattr(globals()[method], '__call__'):
-        globals()[method](results_set_name, file_list, publish_config)
-
-    return os.path.join(publish_config['prepend_url'], results_set_name,
-                        os.path.basename(index_file))
-
-
-def swift_push_files(results_set_name, file_list, swift_config):
-    """ Push a log file to a swift server. """
-    for file_item in file_list:
-        with open(file_item['path'], 'r') as fd:
-            con = swiftclient.client.Connection(
-                authurl=swift_config['authurl'],
-                user=swift_config['user'],
-                key=swift_config['password'],
-                os_options={'region_name': swift_config['region']},
-                tenant_name=swift_config['tenant'],
-                auth_version=2.0)
-            filename = os.path.join(results_set_name, file_item['filename'])
-            con.put_object(swift_config['container'], filename, fd)
-
-
-def local_push_files(results_set_name, file_list, local_config):
-    """ Copy the file locally somewhere sensible """
-    for file_item in file_list:
-        dest_dir = os.path.join(local_config['path'], results_set_name,
-                                os.path.dirname(file_item['filename']))
-        dest_filename = os.path.basename(file_item['filename'])
-        if not os.path.isdir(dest_dir):
-            os.makedirs(dest_dir)
-
-        dest_file = os.path.join(dest_dir, dest_filename)
-        shutil.copyfile(file_item['path'], dest_file)
-
-
-def scp_push_files(results_set_name, file_path, local_config):
-    """ Copy the file remotely over ssh """
-    # TODO!
-    pass
diff --git a/turbo_hipster/task_plugins/__init__.py b/turbo_hipster/task_plugins/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/task_plugins/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/task_plugins/jjb_runner/__init__.py b/turbo_hipster/task_plugins/jjb_runner/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/task_plugins/jjb_runner/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/task_plugins/jjb_runner/task.py b/turbo_hipster/task_plugins/jjb_runner/task.py
deleted file mode 100644
index 5156c8b..0000000
--- a/turbo_hipster/task_plugins/jjb_runner/task.py
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2014 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import copy
-import logging
-import os
-import xmltodict
-
-import jenkins_jobs.builder
-
-from turbo_hipster.lib import common
-from turbo_hipster.lib import models
-from turbo_hipster.lib import utils
-
-
-class UnimplementedJJBFunction(Exception):
-    pass
-
-
-class Runner(models.ShellTask):
-
-    """A plugin to run jobs defined by JJB.
-    Based on models.ShellTask the steps can be overwritten."""
-
-    log = logging.getLogger("task_plugins.jjb_runner.task.Runner")
-
-    def __init__(self, worker_server, plugin_config, job_name):
-        super(Runner, self).__init__(worker_server, plugin_config, job_name)
-        self.total_steps = 6
-        self.jjb_instructions = {}
-        self.script_return_codes = []
-
-    def do_job_steps(self):
-        self.log.info('Step 1: Prep job working dir')
-        self._prep_working_dir()
-
-        self.log.info('Step 2: Grab instructions from jjb')
-        self._grab_jjb_instructions()
-
-        self.log.info('Step 3: Follow JJB Instructions')
-        self._execute_instructions()
-
-        self.log.info('Step 4: Analyse logs for errors')
-        self._parse_and_check_results()
-
-        self.log.info('Step 5: handle the results (and upload etc)')
-        self._handle_results()
-
-        self.log.info('Step 6: Handle extra actions such as shutting down')
-        self._handle_cleanup()
-
-    @common.task_step
-    def _grab_jjb_instructions(self):
-        """ Use JJB to interpret instructions into a dictionary. """
-
-        # For the moment we're just using xmltodict as the xml is very tightly
-        # coupled to JJB. In the future we could have an interpreter for JJB
-        # files.
-
-        # Set up a builder with fake jenkins creds
-        jjb = jenkins_jobs.builder.Builder('http://', '', '')
-        jjb.load_files(self.plugin_config['jjb_config'])
-        jjb.parser.generateXML([self.plugin_config['function']
-                                .replace('build:', '')])
-        if len(jjb.parser.jobs) == 1:
-            # got the right job
-            self.jjb_instructions = xmltodict.parse(
-                jjb.parser.jobs[0].output())
-
-    @common.task_step
-    def _execute_instructions(self):
-        self.log.debug(self.plugin_config['function'].replace('build:', ''))
-        self.log.debug(self.jjb_instructions.keys())
-        self.log.debug(self.jjb_instructions)
-
-        # Look at all of the items in the jenkins project and raise errors
-        # for unimplemented functionality
-        for key, value in self.jjb_instructions['project'].items():
-            self.log.debug(key)
-            self.log.debug(value)
-
-            if key in ['actions', 'properties']:
-                # Not sure how to handle these when they have values
-                if value is None:
-                    continue
-                else:
-                    raise UnimplementedJJBFunction(
-                        "Not sure how to handle values for %s (yet)" % key)
-            elif key in ['description', 'keepDependencies',
-                         'blockBuildWhenDownstreamBuilding',
-                         'blockBuildWhenUpstreamBuilding', 'concurrentBuild',
-                         'assignedNode', 'canRoam', 'logRotator', 'scm']:
-                # Ignore all of these directives as they don't apply to
-                # turbo-hipster/zuul
-                continue
-            elif key == 'builders':
-                # Loop over builders
-                self._handle_builders(value)
-            elif key == 'publishers':
-                # Ignore publishers for the moment
-                continue
-            elif key == 'buildWrappers':
-                # Ignore buildWrappers for the moment but probably should
-                # duplicate functionality for timeout reasons
-                continue
-            else:
-                raise UnimplementedJJBFunction(
-                    "We don't know what to do with '%s' (yet)"
-                    % key)
-
-    def _handle_builders(self, builders):
-        for key, value in builders.items():
-            self.log.debug('--builder')
-            self.log.debug(key)
-            self.log.debug(value)
-            if key == 'hudson.tasks.Shell':
-                self._handle_shell_items(value)
-            else:
-                raise UnimplementedJJBFunction(
-                    "We don't know how to handle the builder '%s' (yet)"
-                    % key)
-
-    def _handle_shell_items(self, shell_tasks):
-        for shell_task in shell_tasks:
-            for key, value in shell_task.items():
-                self.log.debug('--Shell')
-                self.log.debug(key)
-                self.log.debug(value)
-                if key == 'command':
-                    self._handle_command(value)
-                else:
-                    raise UnimplementedJJBFunction(
-                        "We don't know how to handle the command '%s' (yet)"
-                        % key)
-
-    def _handle_command(self, command):
-        # Cd to working dir
-        # export job_params as env
-        self.log.debug("EXECUTING COMMAND")
-        cwd = os.path.join(self.job_working_dir, 'working/')
-        if not os.path.isdir(os.path.dirname(cwd)):
-            self.log.debug('making dir, %s' % cwd)
-            os.makedirs(os.path.dirname(cwd))
-
-        env = copy.deepcopy(self.job_arguments)
-        env['PATH'] = os.environ['PATH']
-
-        self.script_return_codes.append(utils.execute_to_log(
-            command, self.shell_output_log,
-            env=env,
-            cwd=cwd
-        ))
-
-    @common.task_step
-    def _parse_and_check_results(self):
-        for return_code in self.script_return_codes:
-            if return_code > 0:
-                self.success = False
-                self.messages.append('Return code from test script was '
-                                     'non-zero (%d)' % return_code)
-
-    @common.task_step
-    def _handle_results(self):
-        """Upload the contents of the working dir either using the instructions
-        provided by zuul and/or our configuration"""
-
-        self.log.debug("Process the resulting files (upload/push)")
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/__init__.py b/turbo_hipster/task_plugins/real_db_upgrade/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/handle_results.py b/turbo_hipster/task_plugins/real_db_upgrade/handle_results.py
deleted file mode 100644
index e701c5b..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/handle_results.py
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-""" Methods to handle the results of the task.
-
-Primarily place the log files somewhere useful and optionally email
-somebody """
-
-import calendar
-import time
-import os
-import re
-
-
-MIGRATION_NUMBER_RE = re.compile('^([0-9]+).*\.py$')
-MIGRATION_START_RE = re.compile('.* ([0-9]+) -\> ([0-9]+)\.\.\..*$')
-MIGRATION_END_RE = re.compile('done$')
-MIGRATION_FINAL_SCHEMA_RE = re.compile('Final schema version is ([0-9]+)')
-INNODB_STATISTIC_RE = re.compile('.* (Innodb_.*)\t([0-9]+)')
-
-
-class LogParser(object):
-    def __init__(self, logpath, gitpath):
-        self.logpath = logpath
-        self.gitpath = gitpath
-        self._reset()
-
-    def _reset(self):
-        self.errors = []
-        self.warnings = []
-        self.migrations = []
-
-    def find_schemas(self):
-        """Return a list of the schema numbers present in git."""
-
-        # TODO(mikal): once more of the cells code lands this needs to handle
-        # the API migratons as well as the cells migration. Just do cells for
-        # now though.
-        cells_migration_path = os.path.join(
-            self.gitpath,
-            'nova/db/sqlalchemy/cell_migrations/migrate_repo/versions')
-
-        if not os.path.exists(cells_migration_path):
-            cells_migration_path = os.path.join(
-                self.gitpath,
-                'nova/db/sqlalchemy/migrate_repo/versions')
-
-        return [int(MIGRATION_NUMBER_RE.findall(f)[0]) for f in os.listdir(
-            cells_migration_path) if MIGRATION_NUMBER_RE.match(f)]
-
-    def process_log(self):
-        """Analyse a log for errors."""
-        self._reset()
-        innodb_stats = {}
-        migration_stats = {}
-        current_migration = {}
-
-        with open(self.logpath, 'r') as fd:
-            migration_started = False
-
-            for line in fd:
-                if 'ERROR 1045' in line:
-                    return False, "FAILURE - Could not setup seed database."
-                elif 'ERROR 1049' in line:
-                    return False, "FAILURE - Could not find seed database."
-                elif 'ImportError' in line:
-                    return False, "FAILURE - Could not import required module."
-                elif MIGRATION_START_RE.search(line):
-                    if current_migration:
-                        current_migration['stats'] = migration_stats
-                        if (('start' in current_migration and
-                             'end' in current_migration)):
-                            current_migration['duration'] = (
-                                current_migration['end'] -
-                                current_migration['start'])
-                        self.migrations.append(current_migration)
-                        current_migration = {}
-                        migration_stats = {}
-
-                    if migration_started:
-                        # We didn't see the last one finish,
-                        # something must have failed
-                        self.errors.append('FAILURE - Migration started '
-                                           'but did not end')
-
-                    migration_started = True
-                    current_migration['start'] = self.line_to_time(line)
-
-                    m = MIGRATION_START_RE.match(line)
-                    current_migration['from'] = int(m.group(1))
-                    current_migration['to'] = int(m.group(2))
-
-                elif MIGRATION_END_RE.search(line):
-                    if migration_started:
-                        migration_started = False
-                        current_migration['end'] = self.line_to_time(line)
-
-                elif INNODB_STATISTIC_RE.search(line):
-                    # NOTE(mikal): the stats for a migration step come after
-                    # the migration has ended, because they're the next
-                    # command in the script. We don't record them until the
-                    # next migration starts (or we hit the end of the file).
-                    m = INNODB_STATISTIC_RE.match(line)
-                    name = m.group(1)
-                    value = int(m.group(2))
-
-                    if name in innodb_stats and name not in migration_stats:
-                        delta = value - innodb_stats[name]
-                        if delta > 0:
-                            migration_stats[name] = delta
-
-                    innodb_stats[name] = value
-
-                elif 'Final schema version is' in line and self.gitpath:
-                    # Check the final version is as expected
-                    final_version = MIGRATION_FINAL_SCHEMA_RE.findall(line)[0]
-                    if int(final_version) != max(self.find_schemas()):
-                        self.errors.append('FAILURE - Final schema version '
-                                           'does not match expectation')
-
-            if migration_started:
-                # We never saw the end of a migration, something must have
-                # failed
-                self.errors.append('FAILURE - Did not find the end of a '
-                                   'migration after a start')
-
-            if current_migration:
-                current_migration['stats'] = migration_stats
-                if (('start' in current_migration and
-                     'end' in current_migration)):
-                    current_migration['duration'] = (
-                        current_migration['end'] - current_migration['start'])
-                self.migrations.append(current_migration)
-
-    def line_to_time(self, line):
-        """Extract a timestamp from a log line"""
-        return calendar.timegm(time.strptime(line[:23],
-                                             '%Y-%m-%d %H:%M:%S,%f'))
-
-
-def check_migration(migration, attribute, value, dataset_config):
-    """Checks if a given migration is within its allowed parameters.
-
-    Returns True if okay, False if it takes too long."""
-
-    migration_name = '%s->%s' % (migration['from'], migration['to'])
-    allowed = dataset_config[attribute].get(
-        migration_name, dataset_config[attribute]['default'])
-    if value > allowed:
-        return False
-    return True
-
-
-def check_log_file(log_file, git_path, dataset):
-    lp = LogParser(log_file, git_path)
-    lp.process_log()
-
-    success = True
-    messages = []
-
-    if not lp.migrations:
-        success = False
-        messages.append('No migrations run')
-
-    if lp.errors:
-        success = False
-        for err in lp.errors:
-            messages.append(err)
-
-    if lp.warnings:
-        success = False
-        for warn in lp.warnings:
-            messages.append(warn)
-
-    for migration in lp.migrations:
-        migration.setdefault('stats', {})
-
-        # check migration completed
-        if 'duration' not in migration:
-            success = False
-            messages.append('WARNING - Migration %s->%s failed to complete'
-                            % (migration['from'], migration['to']))
-            continue
-
-        # Check total time
-        if not check_migration(migration, 'maximum_migration_times',
-                               migration['duration'], dataset['config']):
-            success = False
-            messages.append('WARNING - Migration %s->%s took too long'
-                            % (migration['from'], migration['to']))
-
-        # Check rows changed
-        rows_changed = 0
-        for key in ['Innodb_rows_updated',
-                    'Innodb_rows_inserted',
-                    'Innodb_rows_deleted']:
-            rows_changed += migration['stats'].get(key, 0)
-
-        if not check_migration(migration, 'XInnodb_rows_changed',
-                               rows_changed, dataset['config']):
-            success = False
-            messages.append('WARNING - Migration %s->%s changed too many '
-                            'rows (%d)'
-                            % (migration['from'], migration['to'],
-                               rows_changed))
-
-        # Check rows read
-        rows_read = migration['stats'].get('Innodb_rows_read', 0)
-        if not check_migration(migration, 'Innodb_rows_read',
-                               rows_read, dataset['config']):
-            success = False
-            messages.append('WARNING - Migration %s->%s read too many '
-                            'rows (%d)'
-                            % (migration['from'], migration['to'], rows_read))
-
-    return success, messages
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/makenetnamespace.sh b/turbo_hipster/task_plugins/real_db_upgrade/makenetnamespace.sh
deleted file mode 100755
index 9432583..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/makenetnamespace.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-# Create a network namespace with no network access
-sudo ip netns add nonet
-sudo ip link add veth0 type veth peer name veth1
-sudo ifconfig veth0 172.16.0.1/24 up
-sudo ip link set veth1 netns nonet
-sudo ip netns exec nonet ifconfig veth1 172.16.0.2/24 up
-
-# Firewall mysql connections from outside
-sudo /sbin/iptables -A INPUT -p tcp --dport 3306 -i eth0 -j DROP
-sudo /sbin/iptables -A INPUT -p tcp --dport 3306 -i eth1 -j DROP
-
-# Mysql permissions
-mysql -u root --password=$1 -e "create user 'nova'@'172.16.0.2' identified by 'tester';"
-mysql -u root --password=$1 -e "grant all privileges on *.* to 'nova'@'172.16.0.2' with grant option;"
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/nova-manage-wrapper.sh b/turbo_hipster/task_plugins/real_db_upgrade/nova-manage-wrapper.sh
deleted file mode 100755
index 9a3b16a..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/nova-manage-wrapper.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-source $1/bin/activate
-shift
-nova-manage $@
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/nova_mysql_migrations.sh b/turbo_hipster/task_plugins/real_db_upgrade/nova_mysql_migrations.sh
deleted file mode 100755
index 408d7f4..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/nova_mysql_migrations.sh
+++ /dev/null
@@ -1,306 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-# $1 is the unique job id
-# $2 is the working dir path
-# $3 is the path to the git repo path
-# $4 is the nova db user
-# $5 is the nova db password
-# $6 is the nova db name
-# $7 is the path to the seed dataset to test against
-# $8 is the logging.conf for openstack
-# $9 is the pip cache dir
-
-UNIQUE_ID=$1
-WORKING_DIR_PATH=$2
-GIT_REPO_PATH=$3
-DB_USER=$4
-DB_PASS=$5
-DB_NAME=$6
-DATASET_SEED_SQL=$7
-LOG_CONF_FILE=$8
-PIP_CACHE_DIR=$9
-
-# We also support the following environment variables to tweak our behavour:
-#   NOCLEANUP: if set to anything, don't cleanup at the end of the run
-
-pip_requires() {
-  # $1 is the branch to use for the upper constraints
-  pip install -q mysql-python
-  pip install -q eventlet
-  requires="tools/pip-requires"
-  if [ ! -e $requires ]
-  then
-    requires="requirements.txt"
-  fi
-
-  wget http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$1 -O $WORKING_DIR_PATH/upper-constraints.txt
-  echo "Install pip requirements from $requires"
-  pip install -c $WORKING_DIR_PATH/upper-constraints.txt -r $requires
-
-  # Workaround for old python version on ubuntu-precise
-  ubuntu_version=$( lsb_release -r | awk '{ print $2 }' | sed 's/[.]//' )
-  if [ $ubuntu_version -eq 1204 ]
-  then
-    pip install -U "greenlet<0.4.9"
-  fi
-
-  echo "Requirements installed"
-  pip freeze
-}
-
-db_sync() {
-  # $1 is the test target (ie branch name)
-  # $2 is an (optional) destination version number
-
-  # Create a nova.conf file
-  cat - > $WORKING_DIR_PATH/nova-$1.conf <<EOF
-[DEFAULT]
-sql_connection = mysql://$DB_USER:$DB_PASS@172.16.0.1/$DB_NAME?charset=utf8
-log_config = $LOG_CONF_FILE
-EOF
-
-  # Silently return git to a known good state (delete untracked files)
-  git clean -xfdq
-
-  echo "***** Start DB upgrade to state of $1 *****"
-  echo "HEAD of branch under test is:"
-  git log -n 1
-
-  echo "Setting up the nova-manage entry point"
-  python setup.py -q clean
-  python setup.py -q develop
-  python setup.py -q install
-
-  # Find where we store db versions
-  # TODO(mikal): note this only handles the cell db for now
-  versions_path="$GIT_REPO_PATH/nova/db/sqlalchemy/cell_migrations/migrate_repo/versions"
-  if [ ! -e $versions_path ]
-  then
-    versions_path="$GIT_REPO_PATH/nova/db/sqlalchemy/migrate_repo/versions"
-  fi
-
-  # Log the migrations present
-  echo "Migrations present:"
-  ls $versions_path/*.py | sed 's/.*\///' | egrep "^[0-9]+_"
-
-  # Flush innodb's caches
-  echo "Restarting mysql"
-  sudo service mysql stop
-  sudo service mysql start
-
-  echo "MySQL counters before upgrade:"
-  mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "show status like 'innodb%';"
-
-  start_version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-
-  if [ "%$2%" == "%%" ]
-  then
-    end_version=`ls $versions_path/*.py | sed 's/.*\///' | egrep "^[0-9]+_" | tail -1 | cut -f 1 -d "_"`
-  else
-    end_version=$2
-  fi
-
-  echo "Test will migrate from $start_version to $end_version"
-  if [ $end_version -lt $start_version ]
-  then
-    increment=-1
-    end_version=$(( $end_version + 1 ))
-  else
-    increment=1
-    start_version=$(( $start_version + 1))
-  fi
-
-  for i in `seq $start_version $increment $end_version`
-  do
-    set -x
-    sudo /sbin/ip netns exec nonet `dirname $0`/nova-manage-wrapper.sh $VENV_PATH --config-file $WORKING_DIR_PATH/nova-$1.conf --verbose db sync --version $i
-    manage_exit=$?
-    set +x
-
-    echo "MySQL counters after upgrade:"
-    mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "show status like 'innodb%';"
-
-    echo "nova-manage returned exit code $manage_exit"
-    if [ $manage_exit -gt 0 ]
-    then
-      echo "Aborting early"
-      exit $manage_exit
-    fi
-  done
-
-  echo "***** Finished DB upgrade to state of $1 *****"
-}
-
-stable_release_db_sync() {
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Juno
-  echo "Schema version is $version"
-  if [ $version -lt "280" ]
-  then
-    echo "Database is from Juno! Upgrade via Kilo"
-    git branch -D stable/kilo || true
-    git remote update
-    git checkout -b stable/kilo
-    git reset --hard remotes/origin/stable/kilo
-    pip_requires stable/kilo
-    db_sync "kilo"
-
-    # TODO(jhesketh): This is a bit of a hack until we update our datasets to
-    # have the flavour data migrated. We have to do this before upgrading from
-    # set -x
-    # echo "MySQL counters before migrate_flavor_data:"
-    # mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "show status like 'innodb%';"
-    # sudo /sbin/ip netns exec nonet `dirname $0`/nova-manage-wrapper.sh $VENV_PATH --config-file $WORKING_DIR_PATH/nova-kilo.conf --verbose db migrate_flavor_data --force
-    # echo "MySQL counters after migrate_flavor_data:"
-    # mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "show status like 'innodb%';"
-    # set +x
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Kilo
-  echo "Schema version is $version"
-  if [ $version -lt "302" ]
-  then
-    echo "Database is from Kilo! Upgrade via Liberty"
-    git branch -D stable/liberty || true
-    git remote update
-    git checkout -b stable/liberty
-    git reset --hard remotes/origin/stable/liberty
-    pip_requires stable/liberty
-    db_sync "liberty"
-  fi
-
-  version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-  # Some databases are from Liberty
-  echo "Schema version is $version"
-  if [ $version -lt "319" ]
-  then
-    echo "Database is from Liberty! Upgrade via Mitaka"
-    git branch -D stable/mitaka || true
-    git remote update
-    git checkout -b stable/mitaka
-    git reset --hard remotes/origin/stable/mitaka
-    pip_requires stable/mitaka
-    db_sync "mitaka"
-  fi
-
-  # TODO(jhesketh): Add in Newton here once released
-
-  # TODO(jhesketh): Make this more DRY and/or automatically match migration
-  # numbers to releases.
-}
-
-echo "Test running on "`hostname`" as "`whoami`" ("`echo ~`", $HOME)"
-echo "To execute this script manually, run this:"
-echo "$0 $@"
-
-# Setup the environment
-set -x
-export PATH=/usr/lib/ccache:$PATH
-#export PIP_DOWNLOAD_CACHE=$PIP_CACHE_DIR
-#export PIP_INDEX_URL="http://www.rcbops.com/pypi/mirror"
-export PIP_INDEX_URL="http://pypi.openstack.org/simple/"
-export PIP_EXTRA_INDEX_URL="https://pypi.python.org/simple/"
-which pip
-pip --version
-which virtualenv
-virtualenv --version
-which mkvirtualenv
-set +x
-
-# Restore database to known good state
-echo "Loading test database $DB_NAME"
-set -x
-if ! mysql -u $DB_USER --password=$DB_PASS -e "use $DB_NAME"
-then
-    mysql -u $DB_USER --password=$DB_PASS -e "create database $DB_NAME"
-    mysql -u $DB_USER --password=$DB_PASS $DB_NAME < $DATASET_SEED_SQL
-fi
-set +x
-
-echo "Build test environment"
-cd $GIT_REPO_PATH
-
-echo "Setting up virtual env"
-source ~/.bashrc
-export WORKON_HOME=/var/lib/turbo-hipster/envs
-VENV_PATH=$WORKON_HOME/$UNIQUE_ID
-rm -rf $VENV_PATH
-source /usr/local/bin/virtualenvwrapper.sh
-mkvirtualenv --no-site-packages $UNIQUE_ID
-#toggleglobalsitepackages
-export PYTHONPATH=$PYTHONPATH:$GIT_REPO_PATH
-
-if [ ! -e $VENV_PATH ]
-then
-  echo "Error: making the virtual env failed"
-  exit 1
-fi
-
-stable_release_db_sync
-
-last_stable_version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-echo "Schema after stable_release_db_sync version is $last_stable_version"
-
-# Make sure the test DB is up to date with trunk
-if [ `git show | grep "^\-\-\-" | grep "migrate_repo/versions" | wc -l` -gt 0 ]
-then
-  echo "This change alters an existing migration, skipping trunk updates."
-else
-  echo "Update database to current state of trunk"
-  git checkout master
-  pip_requires master
-  db_sync "trunk"
-  git checkout working
-fi
-
-# Now run the patchset
-echo "Now test the patchset"
-pip_requires master
-db_sync "patchset"
-
-# =============================================================================
-# We used to do downgrade testing, but nova no longer supports it
-# https://github.com/openstack/openstack-specs/blob/master/specs/no-downward-sql-migration.rst
-
-# # Determine the schema version
-# version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-# echo "Schema version is $version"
-
-# echo "Now downgrade all the way back to the last stable version (v$last_stable_version)"
-# db_sync "downgrade" $last_stable_version
-
-# # Determine the schema version
-# version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-# echo "Schema version is $version"
-
-# echo "And now back up to head from the start of trunk"
-# db_sync "patchset"
-# =============================================================================
-
-# Determine the final schema version
-version=`mysql -u $DB_USER --password=$DB_PASS $DB_NAME -e "select * from migrate_version \G" | grep version | sed 's/.*: //'`
-echo "Final schema version is $version"
-
-if [ "%$NOCLEANUP%" == "%%" ]
-then
-  # Cleanup virtual env
-  echo "Cleaning up virtual env"
-  deactivate
-  rmvirtualenv $UNIQUE_ID
-fi
diff --git a/turbo_hipster/task_plugins/real_db_upgrade/task.py b/turbo_hipster/task_plugins/real_db_upgrade/task.py
deleted file mode 100644
index ca67671..0000000
--- a/turbo_hipster/task_plugins/real_db_upgrade/task.py
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import json
-import logging
-import os
-import re
-
-from turbo_hipster.lib import common
-from turbo_hipster.lib import models
-from turbo_hipster.lib import utils
-
-
-import turbo_hipster.task_plugins.real_db_upgrade.handle_results\
-    as handle_results
-
-
-# Regex for log checking
-MIGRATION_START_RE = re.compile('([0-9]+) -&gt; ([0-9]+)\.\.\.$')
-MIGRATION_END_RE = re.compile('^done$')
-
-
-class Runner(models.ShellTask):
-
-    """ This thread handles the actual sql-migration tests.
-        It pulls in a gearman job from the  build:real-db-upgrade
-        queue and runs it through _handle_patchset"""
-
-    log = logging.getLogger("task.real_db_upgrade")
-
-    def __init__(self, worker_server, job_name, job_config):
-        super(Runner, self).__init__(worker_server, job_name, job_config)
-
-        # Set up the runner worker
-        self.datasets = []
-        self.job_datasets = []
-
-        # Define the number of steps we will do to determine our progress.
-        self.total_steps += 1
-
-    def do_job_steps(self):
-        # Step 1: Figure out which datasets to run
-        self.job_datasets = self._get_job_datasets()
-
-        # all other steps are common to running a shell script
-        super(Runner, self).do_job_steps()
-
-    @common.task_step
-    def _get_job_datasets(self):
-        """ Take the applicable datasets for this job and set them up in
-        self.job_datasets """
-
-        job_datasets = []
-        for dataset in self._get_datasets():
-            # Only load a dataset if it is the right project and we
-            # know how to process the upgrade
-            if (self.job_arguments['ZUUL_PROJECT'] ==
-                    dataset['config']['project'] and
-                    self._get_project_command(dataset['config']['type'])):
-                dataset['job_log_file_path'] = os.path.join(
-                    self.job_results_dir,
-                    dataset['name'] + '.log'
-                )
-                dataset['result'] = 'UNTESTED'
-                dataset['command'] = \
-                    self._get_project_command(dataset['config']['type'])
-
-                job_datasets.append(dataset)
-
-        return job_datasets
-
-    @common.task_step
-    def _execute_script(self):
-        # Run script
-        self.script_return_code = self._execute_migrations()
-
-    @common.task_step
-    def _parse_and_check_results(self):
-        super(Runner, self)._parse_and_check_results()
-        self._check_all_dataset_logs_for_errors()
-
-    def _check_all_dataset_logs_for_errors(self):
-        self.log.debug('Check logs for errors')
-
-        for i, dataset in enumerate(self.job_datasets):
-            success, messages = handle_results.check_log_file(
-                dataset['job_log_file_path'], self.git_path, dataset)
-
-            if self.success and not success:
-                self.success = False
-            for message in messages:
-                self.messages.append(message)
-
-            if success:
-                self.job_datasets[i]['result'] = 'SUCCESS'
-            else:
-                self.job_datasets[i]['result'] = messages[0]
-
-    def _get_datasets(self):
-        self.log.debug("Get configured datasets to run tests against")
-        if len(self.datasets) > 0:
-            return self.datasets
-
-        datasets_path = self.job_config['datasets_dir']
-        for ent in os.listdir(datasets_path):
-            dataset_dir = os.path.join(datasets_path, ent)
-            if (os.path.isdir(dataset_dir) and os.path.isfile(
-                    os.path.join(dataset_dir, 'config.json'))):
-                dataset = {}
-                with open(os.path.join(dataset_dir, 'config.json'),
-                          'r') as config_stream:
-                    dataset_config = json.load(config_stream)
-
-                    dataset['name'] = ent
-                    dataset['dataset_dir'] = dataset_dir
-                    dataset['config'] = dataset_config
-
-                    self.datasets.append(dataset)
-
-        return self.datasets
-
-    def _get_project_command(self, db_type):
-        command = (self.job_arguments['ZUUL_PROJECT'].split('/')[-1] + '_' +
-                   db_type + '_migrations.sh')
-        command = os.path.join(os.path.dirname(__file__), command)
-        if os.path.isfile(command):
-            return command
-        return False
-
-    def _execute_migrations(self):
-        """ Execute the migration on each dataset in datasets """
-
-        self.log.debug("Run the db sync upgrade script")
-
-        for dataset in self.job_datasets:
-            cmd = dataset['command']
-            # $1 is the unique id
-            # $2 is the working dir path
-            # $3 is the path to the git repo path
-            # $4 is the db user
-            # $5 is the db password
-            # $6 is the db name
-            # $7 is the path to the dataset to test against
-            # $8 is the logging.conf for openstack
-            # $9 is the pip cache dir
-
-            cmd += (
-                (' %(unique_id)s %(job_working_dir)s %(git_path)s'
-                    ' %(dbuser)s %(dbpassword)s %(db)s'
-                    ' %(dataset_path)s %(logging_conf)s %(pip_cache_dir)s')
-                % {
-                    'unique_id': self.job.unique,
-                    'job_working_dir': self.job_working_dir,
-                    'git_path': self.git_path,
-                    'dbuser': dataset['config']['db_user'],
-                    'dbpassword': dataset['config']['db_pass'],
-                    'db': dataset['config']['database'],
-                    'dataset_path': os.path.join(
-                        dataset['dataset_dir'],
-                        dataset['config']['seed_data']
-                    ),
-                    'logging_conf': os.path.join(
-                        dataset['dataset_dir'],
-                        dataset['config']['logging_conf']
-                    ),
-                    'pip_cache_dir':
-                    self.worker_server.config['pip_download_cache']
-                }
-            )
-
-            # Gather logs to watch
-            syslog = '/var/log/syslog'
-            sqlslo = '/var/log/mysql/slow-queries.log'
-            sqlerr = '/var/log/mysql/error.log'
-            if 'logs' in self.worker_server.config:
-                if 'syslog' in self.worker_server.config['logs']:
-                    syslog = self.worker_server.config['logs']['syslog']
-                if 'sqlslo' in self.worker_server.config['logs']:
-                    sqlslo = self.worker_server.config['logs']['sqlslo']
-                if 'sqlerr' in self.worker_server.config['logs']:
-                    sqlerr = self.worker_server.config['logs']['sqlerr']
-
-            rc = utils.execute_to_log(
-                cmd,
-                dataset['job_log_file_path'],
-                watch_logs=[
-                    ('[syslog]', syslog),
-                    ('[sqlslo]', sqlslo),
-                    ('[sqlerr]', sqlerr)
-                ],
-            )
-            # FIXME: If more than one dataset is provided we won't actually
-            # test them!
-            return rc
diff --git a/turbo_hipster/task_plugins/shell_script/__init__.py b/turbo_hipster/task_plugins/shell_script/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/turbo_hipster/task_plugins/shell_script/__init__.py
+++ /dev/null
diff --git a/turbo_hipster/task_plugins/shell_script/task.py b/turbo_hipster/task_plugins/shell_script/task.py
deleted file mode 100644
index ce08729..0000000
--- a/turbo_hipster/task_plugins/shell_script/task.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import logging
-
-from turbo_hipster.lib import models
-
-
-class Runner(models.ShellTask):
-
-    """A plugin to run any shell script as defined in the config. Based on
-    models.ShellTask the steps can be overwritten."""
-
-    log = logging.getLogger("task_plugins.shell_script.task.Runner")
diff --git a/turbo_hipster/worker_manager.py b/turbo_hipster/worker_manager.py
deleted file mode 100644
index a1cf47b..0000000
--- a/turbo_hipster/worker_manager.py
+++ /dev/null
@@ -1,198 +0,0 @@
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import gear
-import json
-import logging
-import os
-import threading
-import time
-
-
-class ZuulManager(threading.Thread):
-
-    """ This thread manages all of the launched gearman workers.
-        As required by the zuul protocol it handles stopping builds when they
-        are cancelled through stop:turbo-hipster-manager-%hostname.
-        To do this it implements its own gearman worker waiting for events on
-        that manager. """
-
-    log = logging.getLogger("worker_manager.ZuulManager")
-
-    def __init__(self, worker_server, tasks):
-        super(ZuulManager, self).__init__()
-        self._stop = threading.Event()
-        self.stopping = False
-        self.running = False
-
-        self.worker_server = worker_server
-        self.tasks = tasks
-
-        self.gearman_worker = None
-        self.setup_gearman()
-
-    def setup_gearman(self):
-        hostname = os.uname()[1]
-        self.gearman_worker = gear.Worker('turbo-hipster-manager-%s'
-                                          % hostname)
-        self.gearman_worker.addServer(
-            self.worker_server.config['zuul_server']['gearman_host'],
-            self.worker_server.config['zuul_server']['gearman_port']
-        )
-
-    def register_functions(self):
-        hostname = os.uname()[1]
-        self.gearman_worker.registerFunction(
-            'stop:turbo-hipster-manager-%s' % hostname)
-
-    def stop_gracefully(self):
-        self.stopping = True
-        self.gearman_worker.stopWaitingForJobs()
-        while self.running:
-            self.log.debug('waiting to finish')
-            time.sleep(0.1)
-        self._stop.set()
-        self.gearman_worker.shutdown()
-
-    def stop(self):
-        self._stop.set()
-        # Unblock gearman
-        self.log.debug("Telling gearman to stop waiting for jobs")
-        self.gearman_worker.stopWaitingForJobs()
-        self.gearman_worker.shutdown()
-
-    def stopped(self):
-        return self._stop.isSet()
-
-    def run(self):
-        while not self.stopped() and not self.stopping:
-            self.running = True
-            try:
-                # gearman_worker.getJob() blocks until a job is available
-                self.log.debug("Waiting for server")
-                self.gearman_worker.waitForServer()
-                if (not self.stopped() and self.gearman_worker.running and
-                        self.gearman_worker.active_connections):
-                    self.register_functions()
-                    self.gearman_worker.waitForServer()
-                    logging.debug("Waiting for job")
-                    self.current_step = 0
-                    job = self.gearman_worker.getJob()
-                    self._handle_job(job)
-            except gear.InterruptedError:
-                self.log.debug('We were asked to stop waiting for jobs')
-            except:
-                self.log.exception('Unknown exception waiting for job.')
-        self.running = False
-        self.log.debug("Finished manager thread")
-
-    def _handle_job(self, job):
-        """ Handle the requested job """
-        try:
-            job_arguments = json.loads(job.arguments.decode('utf-8'))
-            self.tasks[job_arguments['name']].stop_working(
-                job_arguments['number'])
-            job.sendWorkComplete()
-        except Exception as e:
-            self.log.exception('Exception waiting for management job.')
-            job.sendWorkException(str(e).encode('utf-8'))
-
-
-class ZuulClient(threading.Thread):
-
-    """ ..."""
-
-    log = logging.getLogger("worker_manager.ZuulClient")
-
-    def __init__(self, worker_server):
-        super(ZuulClient, self).__init__()
-        self._stop = threading.Event()
-        self.stopping = False
-        self.running = False
-
-        self.worker_server = worker_server
-
-        # Set up the runner worker
-        self.gearman_worker = None
-        self.functions = {}
-
-        self.job = None
-
-        self.setup_gearman()
-
-    def setup_gearman(self):
-        self.log.debug("Set up gearman worker")
-        self.gearman_worker = gear.Worker(self.worker_server.worker_name)
-        self.gearman_worker.addServer(
-            self.worker_server.config['zuul_server']['gearman_host'],
-            self.worker_server.config['zuul_server']['gearman_port']
-        )
-
-    def register_functions(self):
-        self.log.debug("Register functions with gearman")
-        for function_name, plugin in self.functions.items():
-            self.gearman_worker.registerFunction(function_name)
-        self.log.debug(self.gearman_worker.functions)
-
-    def add_function(self, function_name, plugin):
-        self.log.debug("Add function, %s, to list" % function_name)
-        self.functions[function_name] = plugin
-
-    def stop(self):
-        self._stop.set()
-        for task in self.functions.values():
-            task.stop_working()
-        # Unblock gearman
-        self.log.debug("Telling gearman to stop waiting for jobs")
-        self.gearman_worker.stopWaitingForJobs()
-        self.gearman_worker.shutdown()
-
-    def stop_gracefully(self):
-        self.stopping = True
-        self.gearman_worker.stopWaitingForJobs()
-        while self.running:
-            time.sleep(0.1)
-        self._stop.set()
-        self.gearman_worker.shutdown()
-
-    def stopped(self):
-        return self._stop.isSet()
-
-    def run(self):
-        while not self.stopped() and not self.stopping:
-            self.running = True
-            try:
-                # gearman_worker.getJob() blocks until a job is available
-                self.log.debug("Waiting for server")
-                self.gearman_worker.waitForServer()
-                if (not self.stopped() and self.gearman_worker.running and
-                        self.gearman_worker.active_connections):
-                    self.register_functions()
-                    self.gearman_worker.waitForServer()
-                    self.log.debug("Waiting for job")
-                    self.job = self.gearman_worker.getJob()
-                    self._handle_job()
-            except gear.InterruptedError:
-                self.log.debug('We were asked to stop waiting for jobs')
-            except:
-                self.log.exception('Unknown exception waiting for job.')
-        self.running = False
-        self.log.debug("Finished client thread")
-
-    def _handle_job(self):
-        """ We have a job, give it to the right plugin """
-        if self.job:
-            self.log.debug("We have a job, we'll launch the task now.")
-            self.functions[self.job.name].start_job(self.job)
diff --git a/turbo_hipster/worker_server.py b/turbo_hipster/worker_server.py
deleted file mode 100644
index 5a2ff00..0000000
--- a/turbo_hipster/worker_server.py
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2013 Rackspace Australia
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-
-import logging
-import os
-import threading
-import yaml
-
-import worker_manager
-from os.path import join, isdir, isfile
-
-
-class Server(threading.Thread):
-
-    """ This is the worker server object to be daemonized """
-    log = logging.getLogger("worker_server.Server")
-
-    def __init__(self, config):
-        super(Server, self).__init__()
-        self._stop = threading.Event()
-        self.config = config
-
-        # Load extra configuration first
-        # NOTE(Mattoliverau): debug_log might be specified in
-        # a conf.d snippet.
-        if 'conf_d' in self.config:
-            self.load_extra_configuration()
-
-        # Python logging output file.
-        self.debug_log = self.config['debug_log']
-        self.setup_logging(self.debug_log)
-
-        # Config init
-        self.zuul_manager = None
-        self.zuul_client = None
-        self.services_started = False
-
-        # TODO: Make me unique (random?) and we should be able to run multiple
-        # instances of turbo-hipster on the one host
-        self.worker_name = os.uname()[1]
-
-        self.jobs = {}
-        self.load_jobs()
-
-    def load_extra_configuration(self):
-        if isdir(self.config["conf_d"]):
-            extra_configs = (join(self.config["conf_d"], item)
-                             for item in os.listdir(self.config["conf_d"])
-                             if isfile(join(self.config["conf_d"], item)))
-            for conf in extra_configs:
-                try:
-                    with open(conf, 'r') as config_stream:
-                        extra_config = yaml.safe_load(config_stream)
-                        self.config.update(extra_config)
-                except:
-                    self.log.warn("Failed to load extra configuration: '%s'" %
-                                  (conf))
-                    continue
-        else:
-            self.log.warn("conf_d parameter '%s' isn't a directory" %
-                          (self.config["conf_d"]))
-
-    def setup_logging(self, log_file=None):
-        if log_file:
-            if not os.path.isdir(os.path.dirname(log_file)):
-                os.makedirs(os.path.dirname(log_file))
-        logging.basicConfig(format='%(asctime)s %(name)-32s '
-                            '%(levelname)-8s %(message)s',
-                            filename=log_file,
-                            level=logging.DEBUG)
-
-    def load_jobs(self):
-        # Legacy, load the plugins first
-        self.load_plugins()
-
-        self.log.debug("Loading jobs")
-        if 'jobs' in self.config:
-            for job in self.config['jobs']:
-                try:
-                    plugin = 'shell_script'
-                    if 'plugin' in job:
-                        plugin = job['plugin']
-
-                    module = __import__('turbo_hipster.task_plugins.' +
-                                        plugin + '.task',
-                                        fromlist='turbo_hipster.task_plugins' +
-                                        plugin)
-
-                    self.jobs[job['name']] = {
-                        'name': job['name'],
-                        'plugin': plugin,
-                        'job_config': job,
-                        'runner': module.Runner(self, job['name'], job),
-                    }
-                    self.log.debug('Job %s loaded' % job['name'])
-                except Exception as e:
-                    self.log.exception("Failure loading job")
-                    self.log.exception(e)
-
-    def load_plugins(self):
-        """ Load the available plugins from task_plugins """
-        self.log.debug('Loading plugins')
-        # Load plugins
-        if 'plugins' in self.config:
-            for plugin in self.config['plugins']:
-                try:
-                    module = __import__('turbo_hipster.task_plugins.' +
-                                        plugin['name'] + '.task',
-                                        fromlist='turbo_hipster.task_plugins' +
-                                        plugin['name'])
-
-                    self.jobs[plugin['function']] = {
-                        'name': plugin['function'],
-                        'plugin': plugin['name'],
-                        'plugin_config': plugin,
-                        'runner': module.Runner(
-                            self, plugin['function'], plugin
-                        ),
-                    }
-                    self.log.debug('Job %s loaded' % plugin['function'])
-                except Exception as e:
-                    self.log.exception("Failure loading plugin")
-                    self.log.exception(e)
-
-    def start_zuul_client(self):
-        """ Run the tasks """
-        self.log.debug('Starting zuul client')
-        self.zuul_client = worker_manager.ZuulClient(self)
-
-        for job in self.jobs.values():
-            self.zuul_client.add_function(job['name'], job['runner'])
-
-        self.zuul_client.start()
-
-    def start_zuul_manager(self):
-        self.zuul_manager = worker_manager.ZuulManager(self, self.jobs)
-        self.zuul_manager.start()
-
-    def shutdown_gracefully(self):
-        """ Shutdown while no work is currently happening """
-        self.log.debug('Graceful shutdown once jobs are complete...')
-        thread = threading.Thread(target=self._shutdown_gracefully)
-        thread.start()
-
-    def _shutdown_gracefully(self):
-        self.zuul_client.stop_gracefully()
-        self.zuul_manager.stop_gracefully()
-        self._stop.set()
-
-    def shutdown(self):
-        self.log.debug('Shutting down now!...')
-        self.zuul_client.stop()
-        self.zuul_manager.stop()
-        self._stop.set()
-
-    def stopped(self):
-        return self._stop.isSet()
-
-    def run(self):
-        self.start_zuul_client()
-        self.start_zuul_manager()
-        self.services_started = True
-        while not self.stopped():
-            self._stop.wait()