Ensure python pip is installed before zuul

Previously, installing zuul resulted in the erros:

  /usr/bin/python: No module named pip

This commit ensures that python-pip is always installed
before zuul is installed so that it can install
correctly.

Change-Id: I6d73a67e1fbb9eb077f39f99c45ceb4a00bc652b
Merge "Ensure /var/lib/zuul is owned by zuul"
Merge "Ensure python pip is installed before zuul"
Add testresult commentlink

Will take effect when Zuul is running this change:
  I74702fd7d37358e6f4caa7e7ac0a3ede73184077

This change also adds that feature to the Zuul config and enables
it for OpenStack.  It also adds the ability to specify HTML in a
commentlink (and uses it).

Change-Id: Idb4ad8e6079165d681271987a92cab5d8b7c81be
Use cgit server instead of github for everything

We have a cgit server now, which means we should replace
all references to github with references to git.openstack.org.

Change-Id: I68ad1ce514fb4326c7d9940b5a84999af5b58562
Merge "Use cgit server instead of github for everything"
Use pip install instead of setup.py install

The pip vs. easy_install interactions continually get the systems
into a weird state. pip install $path_to_repo, on the other hand,
works like a charm.

Left out two graphite installs because they are doing path manipulation
and I want to do further testing before touching that.

Change-Id: I373b29aca03f1ebd20e533ebaaf5de9ef2db017e
Zuul puppet support to zuul_url option

This adds the zuul_url support in puppet.

Change-Id: Ie37744f11452efc4029c1fe93d880dd3a4ecb831
Add zuul pack-refs cron

Ad a cron job to pack refs in zuul repos.  Zuul creates _a lot_
of refs, packing them should make client git repo access more
efficient.  Up to a point at least -- ultimately we may still
need to delete them later.

Change-Id: Iaf5180069b38833d6e25f6880e4868d5e2319b75
Give Zuul file descriptor breathing room.

The Zuul service opens a lot of TCP connections and files resulting in
many open file descriptors. The default limit of 2048 is bumped into
regularly. Bump the limit to 8192 when starting the Zuul service to give
it breathing room to grow into.

Change-Id: I9a3aee664c1c6c6139b012fc3dc0631725f59741
Have Zuul replicate to git.o.o

Change-Id: I750e8ea75181dacb10275a38fa702ed1edb56d4c
Fix typo in zuul config template

Change-Id: Ica5ae3936b3396ce7d29f69c0c688ec6867bea48
Pack zuul git refs daily.

Zuul was packing git refs weekly, do this daily instead to handle the
number of refs created by gate resets in large gate queues.

Change-Id: I8fc8c78436ebf79b457d392f1ce8de31b15c762c
Add Zuul merge servers

Remove obsolete config options from zuul module.

The server and merger classes are constructed so that they
may coexist on a single server.  Also, the init section is
constructed so that it will install everything needed for
both services but without activating them (leaving maximum
flexibility for the operator).

Change-Id: I7b86fbbe4611c5edfb463a0a6944e0717f664188
Fix zuul installation

The following items were missing from an automated zuul install:

 * A pre-populated known hosts file
 * The git user/email for creating commits (.gitconfig existed
   on zuul.o.o, but switch to using zuul's config file instead).

Also, make sure that the mergers specify the zuul server as the
gearman server address rather than localhost.

Change-Id: I47a473f60c4b5b2daaa910aa61cdf6e0c6fe1528
Adds ! defined() guards around a2mod declarations

If you attempt to include both Zuul and Jenkins master modules in a
single manifest, you will get an error about A2mod[rewrite] resource
already being declared, like so:

Duplicate declaration: A2mod[rewrite] is already declared in file
/home/ubuntu/os-ext-testing/puppet/modules/os_ext_testing/manifests/master.pp
at line 30; cannot redeclare at
/root/config/modules/zuul/manifests/init.pp:236 on node undef

This isn't noticed by upstream, because no server runs both a Jenkins
master and a Zuul server. However, in smaller systems, where both
Jenkins and Zuul can be installed on the same host, the problem becomes
apparent.

This patch fixes that issue by adding guards around the a2mod
declarations in the Zuul init.pp and Jenkins master.pp manifests.

Change-Id: I2a298eb09ec8da33caed9349f465b2d163e2c299
Closes-bug: #1281676
Configure swift credentials for workers to push to

This change adds credentials as set up by fungi (2014-04-05T03:16:46)
http://eavesdrop.openstack.org/irclogs/%23openstack-infra/%23openstack-infra.2014-04-05.log

This allows zuul to send signed URL's for workers to push files to on
a per-job basis.

This change will require a zuul restart, not just a reload!

Change-Id: Ib198112db0493456345fec83b32fabf606d835d2
Update zuul merger init script

Set the description of the zuul-merger.init to 'Zuul Merger' to
differentiate from the main zuul-server daemon.

Change-Id: I9ee914df0f98157b2710cbc2f9c29f7b41726273
Install bootstrap for zuul module

Install twitter bootstrap for the zuul status page to use.

Change-Id: Id99ce1a9c811b91f6381cd10d79816cd7b251dee
Merge "Configure swift credentials for workers to push to"