40 Commits

Author SHA1 Message Date
Sean Dague
38b7490667 provide more meaningful output on update.py
In an attempt to make the proposal bot changes for requirements be
more meaningful make the update.py script return something that's more
user friendly.

Now by default the script will return the following to stdout on success:

Version change for: mox, mox3, testrepository, testtools
Updated project/test-requirements.txt:
    mox==0.5.3                     ->   mox>=0.5.3
    mox3==0.7.3                    ->   mox3>=0.7.0
    testrepository>=0.0.13         ->   testrepository>=0.0.17
    testtools>=0.9.27              ->   testtools>=0.9.32

Add a verbose flag that will provide much of the previous debug info.

Eliminate the giant dict dump of all the requirements files, as that
was largely impossible to make sense of, and rarely provided any
insight. During a devstack run you'll have git hashes for all the
trees, so can track down exact file contents if needed.

By making this the default stdout we can then capture and use this for
the git commit messages.

In order to make the test output matching human readable ignore the 80
column limit for the expected blocks via #noqa.

Change-Id: I85604db7bffafcd20bf3cc546fe3e5d7bda72193
2015-01-08 16:18:26 -05:00
Sean Dague
13654003aa implement -s / --soft-update flag
This provides a new flag to update.py which allows for a "soft
update", which updates all the requirements found in g-r to the g-r
specified versions, but lets any unknown lines pass through as is,
without warning. This makes the tool usable for ecosystem projects
that want to test with g-r versions of the g-r specified dependencies,
but also want to be able to add their own dependencies above and beyond.

Change-Id: I1f195ef9ff1509659848e14ec9936ff6f66a6496
2014-10-27 11:55:50 -04:00
Jenkins
1508a274ed Merge "Add a tox env to check requirements overlap" 2014-09-23 16:43:21 +00:00
Doug Hellmann
e6c873de4f add header warning against sorting requirements
During sync, add a header to the requirements files warning anyone
against changing the order of the contents, especially against sorting.

Addresses-Bug: #1365061
Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
2014-09-07 17:44:51 -04:00
Brant Knudson
f3127601ef Add a tox env to check requirements overlap
There was no easy way to check that the requirements in the
current commit overlap with requirements in the ancestor commit.

This change adds a tox env that when run compares the
global-requirements.txt with the parent commit's
global-requirements.txt. If the requirements for the packages don't
overlap it fails.

Run it with

 tox -e versions-overlap-parent

Change-Id: I03bdead39760e9c13d6de4a33f8e5e788052323d
Closes-Bug: #1326504
2014-08-25 16:27:18 -05:00
Matt Riedemann
0b2602b6b4 Bump minimum required version for simplejson to 2.2.0
oslo-incubator commit ad248f6 adds usage of the namedtuple_as_object
kwarg to simplejson's json.dumps.

oslo-incubator's test-requirements requires simplejson >= 2.0.9 but
namedtuple_as_object wasn't available until 2.2.0.

This is important for anyone doing keystone database migrations on RHEL
6.5 with simplejson since the migrations will fail if you don't have a
new enough simplejson (keystone is using this code now).

Change-Id: I59f4e9c42ad83a305d810e52e440ff51ff5b7f0e
Closes-Bug: #1361230
2014-08-23 16:49:30 -07:00
Jenkins
ae6e876ea8 Merge "Unbind version of pyzmq" 2014-08-04 15:26:44 +00:00
Alexei Kornienko
64f766e1ef Unbind version of pyzmq
Currently pyzmq supports 2 branches with some API differences:
2.* - legacy branch
14.* - current branch

Due to historic reasons we bind pyzmq to an old API version.
In devstack we install latest version of pyzmq and not 2.* branch.
Cause of this I don't see any reason for us to bind pyzmq to such an old version.

Updating to latest version of pyzmq will allow us to implement zmq
driver in oslo.messaging that won't depend on eventlet and will be Py3
compatible.

Change-Id: I009e61303c01324de29ec78202621f50420d4d7f
2014-07-29 17:42:22 +03:00
Christian Berendt
83843c4b57 Bump hacking to version 0.9.2
Change-Id: Id15fb17d6ecb9fbff3dce0105445e78ca5948aee
2014-07-16 15:57:40 +02:00
Jenkins
7b37e8a9a5 Merge "bump heatclient to latest version" 2014-05-29 15:57:24 +00:00
Steven Hardy
4daf80f9bb bump heatclient to latest version
Update to the latest heatclient version, which is needed for heat
to access some recent features such as software-config.

Change-Id: Ie442aed94efe4a3dafe708f603842f6ee3830416
2014-05-29 08:29:47 +01:00
Jenkins
252f84d574 Merge "Paramiko: bump to 1.13.0" 2014-05-28 16:57:15 +00:00
Jenkins
0965e21375 Merge "django_compressor: bump to 1.4" 2014-05-24 19:35:07 +00:00
Cyril Roelandt
2ae3739d86 Netifaces: bump to 0.10.4
This release works with Python 3.

Change-Id: I716ed58e650ce249d6cbcdfda1253b4bee6a9aa6
2014-05-20 14:55:30 +02:00
Cyril Roelandt
36be6760c5 django_compressor: bump to 1.4
The 1.4 release brings Python 3 support.

Change-Id: I3026ecc1854298bd4f89512b9a599b5a1a3d7642
2014-05-20 14:47:49 +02:00
Cyril Roelandt
19e570ceae Paramiko: bump to 1.13.0
The 1.13.0 release brings Python 3 support, and will help port Cinder, Heat and
Nova to Python 3.

Change-Id: I3fadb3734143bf63b51f2473983abc90545b89ae
2014-04-07 18:02:15 +02:00
Sean Dague
7e221a2ec0 allow for NON_STANDARD_REQS override
there are non integrated projects in openstack that use devstack
framework for running jobs. They need a lever in their jobs to
tell the infrastructure that we won't enforce global-requirements
strict compliance on them. We'll still generate a warning so that
they know they are using requirements outside of OpenStack's
accepted list, but it will be non fatal.

Change-Id: Id90547e2fb0a5736385c9f31ba386e7c2e0616df
2014-04-04 05:50:23 -04:00
Joe Gordon
1b725bd52e If dependency not in global reqs exit with a 1
Don't silently remove dependencies not in global reqs, instead let them
fail installation.

Note: this assumes that devstack will terminate if this fails.

Change-Id: I23be4c2084e07a6b60b64347af9b4c5338b06ada
2014-03-18 13:57:04 -07:00
Jenkins
e48a108fc5 Merge "Remove vim header" 2014-02-25 06:25:12 +00:00
Jenkins
204600cea8 Merge "Don't update pbr's setup.py" 2014-02-24 22:22:27 +00:00
ChangBo Guo(gcb)
648f2dd33d Remove vim header
We don't need vim modelines in each source file, it can be set in
user's vimrc.

Change-Id: Ib2b5642b7d9051d4586419a6dd4785060cd59825
Closes-Bug: #1229324
2014-02-24 04:31:03 -05:00
Sergey Lukjanov
fbe30c43bf Don't update pbr's setup.py
Due to the fact that we'd like to keep pbr's requirements in sync with
global requirements we should disable syncing of setup.py for pbr.

* existing tests fixed by adding standard setup.cfg file;
* new test case added for syncing pbr project (with pbr like setup.cfg file).

Change-Id: Ibf5fcdad118fffb4fd5dd50c5d1decfa6f9a6479
2014-02-17 14:19:30 +04:00
Walter A. Boring IV
d718f872f9 Update hp3parclient low version number
This is the 2nd patch that upgrades the hp3parclient
to requiring the new 3.0.0 version for unit tests.

Change-Id: Ie78b03499b6ba53e75716ff1d4159424a7a82fae
2014-02-14 14:14:11 -08:00
Walter A. Boring IV
669056d889 Update to new hp3parclient
The updated hp3parclient v3.0.0 is required for the new HP 3PAR
cinder driver and it's unit tests.  This patch is the first in
2 patches that are need to land.  We are breaking this up into
2 patches to avoid breaking continuous deployment.

First we'll update the top end to 4.0 in this patch.  The
next patch will update the low end to 3.0.

Change-Id: I2d0f92b7d082637d55f4bbc7cac66c97aa73cfe0
2014-02-11 13:50:27 -08:00
Cyril Roelandt
7bee690c0b HTTPretty: bump to 0.8.0
This new version brings Python 3 support, leaner requirements and better
packaging. Python-keystoneclient needs this to be Python 3 compatible.

Change-Id: I85298e7b99cfb1abec42058e63ee419e46900cb4
2014-02-04 02:48:07 +01:00
Cyril Roelandt
6cbf9104a0 HTTPretty: update to 0.7.1
The 0.7.1 release has a fix for the parse_querystring function, which raised a
TypeError on Python 3.3. See:

https://github.com/gabrielfalcao/HTTPretty/commit/5c6e776

This helps fix some tests on Python3.3 in python-keystoneclient.

Change-Id: If14a0afe9d42602e978377d6f6ee830affe0cc41
2013-12-13 15:04:39 +01:00
Steven Hardy
fa97a3a506 Bump keystoneclient requirement to 0.4.1
We need the latest keystoneclient version for trusts support to work
in heat, due to bug #1231483

Change-Id: I6f918caadf5a70e5d407f11906f7f6a8900b5ab6
2013-10-17 17:27:07 +01:00
Kui Shi
1bd04da9cf Wrap map() to return list()
In Python 3, the map() function returns an iterator.
In Python 2, it returned a list.

Use list(map()) to fix the test_update/test_update_suffix errors
in py33 env.

Change-Id: I9d122fb5edf055ae0110e3a445d10733a817d7d2
2013-10-16 00:41:27 +08:00
Alex Gaynor
d3c8bb436a Removed a reference to quantum and removed a dead file
Change-Id: Id1159b1d9f32d6af696159e64321312cdc374276
2013-09-26 08:24:07 -07:00
Steven Hardy
c0701b82c6 bump keystoneclient to 0.3.2
Heat needs the new trusts functionality added in this release

Change-Id: I3abfd162e7bde9e08d04d24a3c1e6510f2042556
2013-08-28 13:38:05 +01:00
Jenkins
b8f7a65f48 Merge "Allow use of hp3parclient 2.0" 2013-08-27 20:02:04 +00:00
Jim Branen
0f0d108124 Allow use of hp3parclient 2.0
Needed for enhancements to the HP3PAR drivers.

Change-Id: Ib8a532d08cf9c1f665c458567c14121bbf4effd4
2013-08-22 17:21:58 -07:00
Angus Salkeld
f73034b1ba Bump python-ceilometerclient to 1.0.3
Heat needs the new "repeat_actions" option that is in
that release.

Change-Id: I6574d0845bc59eeb3af73375247569030154de68
2013-08-22 11:01:12 +10:00
Chuck Short
998dda263d python3: Add mox3 dependency
Add mox3 dependency, mox is not python3 compliant so use
the mox3 port to help transition the testsuites to mock.

Change-Id: I2312b0bac69f8bc4d2d23b88a59a2e22f2073a9b
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-08-17 20:23:00 -04:00
Sean Dague
a9136d8cae add option for adding a suffix to output files
When we run update.py automatically in the devstack gate, we
have the issue that we are programatically changing files which
are actually git versioned. This makes lots of people sad pandas.

As this is all being done automatically we could actually update
the files with a suffix, then have devstack use that instead.
This will make developers happy, as they won't have to keep
resetting their devstack trees if they do development straight in
them.

Change-Id: I3d264f15ab7123f258f198b375b9667895c4104c
2013-08-09 07:12:07 -04:00
Sean Dague
63322c94d1 use dev-requirements for global sync
This allows us to pass through an exact line from
dev-requirements.txt as valid, if it's not exactly valid we'll
revert to the base requirement. This is needed so that projects
can keep development requirements in their tree.

Redo an if statement to make E125 happy....

Change-Id: I50a1292c321b7092ca1c7aeee5068f0828ece7b0
2013-08-09 07:09:44 -04:00
Monty Taylor
36ca418e1b Add pep8 checks
Change-Id: Id36116a8a55cf5205634a75c8cc414e96145872a
2013-08-08 12:03:56 -03:00
Monty Taylor
3b7afbe4d3 Add an exclusion for projects not on pbr
If a project isn't on pbr, then force-upgrading their setup.py will
be a categorical disaster.

Once glance and swift have finished moving, we can remove this 'feature'
but for now, it's a blocker.

Change-Id: I6ab41be97a2ff83c395861a95244d090c543d1fb
2013-08-02 20:04:46 -04:00
Monty Taylor
11aa4b333f Update update.py to also write a stock setup.py
One of the points of pbr was ensuring that we had a consistent build
environment, but we still have boilerplate setup.py laying around.
Install the right boilerplate at update time.

Change-Id: If4b2e16b469171204270ace8144792e607cfddd7
2013-08-02 14:05:14 -04:00
Sean Dague
f7fbf480da 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
2013-08-02 13:13:57 -04:00