Clean up pass-through logic in update.py

In our gating logic (project-requirements-change.py), we ignore
tarballs, editable reqs and --find-links lines. Similarly, in update.py
we just want to pass these through on unmodified.

Add a _pass_through() function which encapsulates this logic and use it
to ignore lines when parsing the source requirements.txt and also to
pass-through matching lines from the destination requirements.txt.

Change-Id: I7c34dd65ecd866e923c117686d10e86177bb320e
Add lesscpy>=0.9h

A prereq to drop horizon's less.js (and thus NodeJS) dependency for
compiling static assets.

See https://review.openstack.org/#/c/37473/

Change-Id: I265b35def7cdd20c2d1c1040b7fb788c2f2a3e8f
Add sockjs-tornado requirement

This is a prerequisite for the blueprint realtime-communication in Horizon.

Change-Id: I1dddeec13a45949f01f94014a8451d98cb443b4e
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
Updated minimal version of pymongo to 2.4.

Related to: https://review.openstack.org/#/c/38268/

Change-Id: I9c56639ce3bb8d3ef40ce11365831cc0fdc948f6
Merge "Add lesscpy>=0.9h"
Merge "Add sockjs-tornado requirement"
Added cffi as a requirement.

This is going to be used in swift for implementing a netifaces replacement that
runs on PyPy.

Change-Id: I8831659a0963dbd9d4d49ef83593a4aa625eb8fd
Merge "Updated minimal version of pymongo to 2.4."
update global requires on clients for keystone fix

the older version of python-heatclient and python-ceiloclient
actually required an incompatible version of python-keystone client
to the global requirements list. When running devstack without
heat or ceilo enabled (thus no local git trees), horizon becomes
satisified even when you have and old heatclient, which prevents
horizon from installing.

Change-Id: I8480db4a5c3d08a7d739f495920e4b5a442cbb91
Pin Babel to <1.0 since it doesn't play well with pip 1.4

The latest Babel, 1.0, adds a dependency on
pytz. Further, pytz uses date-based versioning which is not
supported by default in the newest pip, 1.4. Adding a fake direct
dependency on pytz with a minimum declared version before installing
Babel works around this issue.

Fixes bug 1205546

Change-Id: Ie52dd85eac595ba8ee35e3342130648010246943
Revert "Pin Babel to <1.0 since it doesn't play well with pip 1.4"

Fixes bug 1205546.

This reverts commit adf074baa9d6876921b7dbbadae07006a7de6b5d.

Upstream Babel has worked around the pytz versioning issues by
releasing 1.1.

Change-Id: I2298c80ca0291ea6d0797194897ecc79ec50b818
Merge "Added cffi as a requirement."
Merge "update global requires on clients for keystone fix"
Remove d2to1 from list

pbr no longer consumes d2to1, so it is not needed in the list anymore.

Change-Id: I2e26e0d39e27196a7c1512dca16bddc91bee11e4
Merge "Clean up pass-through logic in update.py"
Merge "Remove d2to1 from list"
make sqla requirements safe for nova

Nova (specifically nova migrations) really don't function with
the versions of sqla in requirements. Bump these to the Nova
minimums.

Change-Id: Icaa4cb74576d301e28b23831a8ce7c1511ba8cae
update jsonschema requirements to match reality

all our tools work fine with jsonschema 2.0, as we run it in the
gate today (and for months) due to the global requirements race.
The real glance requirement is really >= 1.3.0. The !=1.4.0
remains because of a misrelease by the jsconschema of 2.0 as
1.4.0... poorly.

Change-Id: I88ccf6dca223c825ef98eed50e2270694d05955c
Merge "update jsonschema requirements to match reality"
one global-requirements.txt to rule them all

... and in the darkness bind them.

This moves the contents of requirements.txt and
test-requirements.txt to a single file, global-requirements.txt.
This means that regardless of whether a requirement is in
either file it will get checked. This massively simplifies the
checking and upgrading of req and test-req files.

This also adds in a unit testing framework for the update.py
script to ensure it does what we think it does. This is
accomplished by making a fake tree with a set of req and test-req
files, running update.py, and ensuring the updates were made
that we expected. It includes testing for the oslo url case,
as well as test-requires.

Change-Id: Ib9b86ade4cb8317509e218aec31f32e5d08f4035