{"push_id":735858018,"size":11,"distinct_size":1,"ref":"refs/heads/dev/EE-1.5","head":"92e9ba22cebe7056ba746baf7a8f80f0b42b2e1b","before":"6044334329ee85c8c5a5d514f822a066d72348ca","commits":[{"sha":"d0432e43ce134ecf84b06720c086041547e0f355","author":{"email":"36003aec7ba325a16727bc9a176c12d2776a8ce4@gmail.com","name":"Davanum Srinivas"},"message":"Pin pyngus version as python-qpid-proton is not in pypi\n\ncheck-requirements-integration-dsvm is failing with\nthe following error:\n\nCould not find a version that satisfies the requirement python-qpid-proton<0.10,>=0.9\n\nthe latest released version of python-qpid-proton is 0.8.1 at the moment.\n\nChange-Id: I880cffbe003a27e9caba3695e39e39e3bd9b1fcc\n(cherry picked from commit 6aa6ddb129b521e1ddbdc203fef557174f1f3b63)","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/d0432e43ce134ecf84b06720c086041547e0f355"},{"sha":"40c97b1258a18f4238d77beeefb46fbf11fd9983","author":{"email":"97713db6207ec2fdaf43e3af45928bd1d6a3b2b6@live.ca","name":"gord chung"},"message":"cap WSME to <0.7\n\nWSME 0.7 was released fixing a bunch of bugs including one which\nchanges the validation of input. this causes breaking changes so\nlet's cap WSME for kilo\n\nDepends-On: I880cffbe003a27e9caba3695e39e39e3bd9b1fcc\nChange-Id: Ib8545d44a9faee42bd221c2c9b88123671aa4637\nCloses-Bug: #1460869","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/40c97b1258a18f4238d77beeefb46fbf11fd9983"},{"sha":"a6d84f9d1312d1f97b625d3efe817daed608bc49","author":{"email":"d95b56ce41a2e1ac4cecdd398defd7414407cc08@review.openstack.org","name":"Jenkins"},"message":"Merge \"cap WSME to <0.7\" into stable/kilo","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/a6d84f9d1312d1f97b625d3efe817daed608bc49"},{"sha":"4534b0a920996f7dfffb6e867e8d154afefab0c1","author":{"email":"2048b22ac0881f917af3e938105055ab85498548@suse.de","name":"Andreas Jaeger"},"message":"Remove doc repositories from projects.txt\n\nThe documentation repositories maintained by the OpenStack\nDocumentation team are currently all in projects.txt. They\nare not installed together OpenStack server projects.\n\nWhile the syncing of requirements is nice, it's not essential that\nDocumentation repo are part of requirements. The Documentation\nrepos have additional unique dependencies that are not needed by\nother projects.\n\nStill, the Documentation team likes to ensure that their requirements\nare not conflicting with global requirements to allow editors and\ndevelopers reuse environments.\n\nAs discussed with Documentation team, remove these repositories\nnow (see thread starting at\nhttp://lists.openstack.org/pipermail/openstack-docs/2015-April/006362.html).\n\nChange-Id: I807b061cf697dc79b26ffdfbe023c32600ddd346\n(cherry picked from commit 8c9cd8c29bb146ca013efae0c726350889d1cc64)","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/4534b0a920996f7dfffb6e867e8d154afefab0c1"},{"sha":"75e08253fe47b8023e7339df8b15f3d015a0a2a5","author":{"email":"2c1c04960e5094d519e914b7f827193df42cff08@us.ibm.com","name":"Matt Riedemann"},"message":"Add glance_store to projects.txt\n\nglance requires glance_store but the requirements in glance_store on\nmaster and stable/kilo don't line up with what's in\nglobal-requirements.txt so add glance_store to projects.txt to sync\nthose up.\n\nConflicts:\n        projects.txt\n\nCloses-Bug: #1454695\nRelated-Bug: #1454467\n\nChange-Id: Ib41b0c482edf39017f26e483cd3661ca5b540133\n(cherry picked from commit 64091866112ac6b3590de8b6d3c036cc03dcd6e0)","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/75e08253fe47b8023e7339df8b15f3d015a0a2a5"},{"sha":"ecff3df5de8382b7bfcd71883dc0ecfc71eb0e0e","author":{"email":"b339079bdd0c511d3934e046f7b02c5281dc2db1@redhat.com","name":"Ihar Hrachyshka"},"message":"keystoneclient: require at least >= 1.2.0 for stable/kilo\n\nPrevious versions of the client capped version of oslo.serialization to\n<=1.2.0, which is incompatible with existing oslo.serialization\nrequirements for the branch (>=1.4.0).\n\nIt results in the following failure during a grenade run for the branch:\n\npkg_resources.ContextualVersionConflict: (oslo.serialization 1.4.0\n(/usr/local/lib/python2.7/dist-packages),\nRequirement.parse('oslo.serialization<=1.2.0,>=1.0.0'),\nset(['python-keystoneclient']))\n\nChange-Id: I961cc2c5b7b43ce2298b72ec4a0d105d11283983","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/ecff3df5de8382b7bfcd71883dc0ecfc71eb0e0e"},{"sha":"dbbbb947c2ecbeb7d139e82070f0a81b18a24ba4","author":{"email":"1e115feeab9474b9d680e5528024201af6e7722f@fewbar.com","name":"Clint Byrum"},"message":"Ironicclient minimum is too low for nova virt\n\nNova virt in kilo uses the 'configdrive' parameter, which did not exist\nbefore v0.4.0. Since 0.4.0 was broken, we will set it to >=0.4.1.\n\nCloses-Bug: #1470950\nChange-Id: I2b6734883a27d3d9850a09a4c60e4e0ccb180abf","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/dbbbb947c2ecbeb7d139e82070f0a81b18a24ba4"},{"sha":"87dabf51596fd186fd4679f81e5c5b173de82ab4","author":{"email":"330de7146e8615bb6d55e7079edb657105eda007@hp.com","name":"Robert Collins"},"message":"Replace coinor.pulp with pulp.\n\nThis is the actual dependency we need, coinor.pulp is just a namespace\nthunk.\n\nChange-Id: I25385bf9a18eac09c8aea8611beab915edce4cb0","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/87dabf51596fd186fd4679f81e5c5b173de82ab4"},{"sha":"7cf739c4f85ce41634475cdf494cd0e8353c008d","author":{"email":"0798ebecfb7bc4dfb9d0445c2fa030eb64e1fa1c@doughellmann.com","name":"Doug Hellmann"},"message":"Cap mock<1.1.0 for stable/kilo\n\nRelease 1.1.0 of mock exposed some problems in our test suite.\nCapping the release used in kilo will keep the stable branch working\nuntil we figure out how to fix those issues and decide whether to\nbackport the fixes.\n\nChange-Id: I2482c6ff57ddadf471a479274cfc6d41a375d29e","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/7cf739c4f85ce41634475cdf494cd0e8353c008d"},{"sha":"4568bfb6c841130b2edb3202d796b1fe05aec70f","author":{"email":"330de7146e8615bb6d55e7079edb657105eda007@hp.com","name":"Robert Collins"},"message":"Update Kilo requirements code\n\nThis patch rolls up all the changes to the requirements repo that were\nnot altering global requirements, so that we can use the library from\ninfra jobs targeting kilo. We had to also change the\ngenerate-requirements cross-check to not try to compile\nupper-constraints for 3.4 - g-r in kilo is not compatible with 3.4.\n\nprovide more meaningful output on update.py\n\nIn an attempt to make the proposal bot changes for requirements be\nmore meaningful make the update.py script return something that's more\nuser friendly.\n\nNow by default the script will return the following to stdout on success:\n\nVersion change for: mox, mox3, testrepository, testtools\nUpdated project/test-requirements.txt:\n    mox==0.5.3                     ->   mox>=0.5.3\n    mox3==0.7.3                    ->   mox3>=0.7.0\n    testrepository>=0.0.13         ->   testrepository>=0.0.17\n    testtools>=0.9.27              ->   testtools>=0.9.32\n\nAdd a verbose flag that will provide much of the previous debug info.\n\nEliminate the giant dict dump of all the requirements files, as that\nwas largely impossible to make sense of, and rarely provided any\ninsight. During a devstack run you'll have git hashes for all the\ntrees, so can track down exact file contents if needed.\n\nBy making this the default stdout we can then capture and use this for\nthe git commit messages.\n\nIn order to make the test output matching human readable ignore the 80\ncolumn limit for the expected blocks via #noqa.\n\nIncludes-Change-Id: I85604db7bffafcd20bf3cc546fe3e5d7bda72193\n\nupdate test-requirements to current\n\nThe previous test requirements were pretty old, this matches more\nclosely what the rest of the project is using.\n\nIncludes-Change-Id: I24b6e65ab89dea4de864b5581de3865bb0b4e718\n\nattempt to stop using pip internals\n\nThis should let us stop using pip internals, which breaks us all the\ntime.\n\nConflicts:\n\tupdate.py\n\nIncludes-Change-Id: I10ada6860768017d4eb3c729f2870f2c7f4a46d7\n(cherry picked from commit 166a9f1d50a4df2ed1305de431563a2494d673d2)\n\nalso install a new pbr into the venvs\n\nEnsure we have an up to date pbr for running the tests.\n\nIncludes-Change-Id: If5229146ce66e79c05e688d2a340008c14f3f6ec\n\nAllow testing with specific pips\n\nWe want to use the new resolver branch of pip today, and perhaps\ndevelop in future too. This introduces the same basic change we did to\npbr's tests to test with a custom pip.\n\nIncludes-Change-Id: Ia2b1a9c7ee7a7bf32f404932fe7fe872ac402b0e\nDepends-On: I7600fa20391bb83491d630b277bf01cc3a20727c\n\nRemove dev-requirements.txt\n\nLooks like a long time ago we used this to list development versions\nof OpenStack libraries which have not yet been released to PyPI. We\ndon't really need this now. Do we?\n\nIncludes-Change-Id: I5f8fce7068ee8dba5817afbdd658650b6f2b74dd\n\nStop using subprocess in tests.\n\nThere's no need to run the script to test it, so lets not.\n\nIncludes-Change-Id: I5b2115a5519d3a82dc3d35fc0d68f606fea97047\n\nConsolidating redundant code in the tests\n\nThis moves things that are pretty much copy-paste into one place,\nletting us focus on the actual differences amongst the tests.\n\nI've also made the local test fixtures explicit, so we can see what\neach test really needs, which has also eliminated redundant test\noverhead, the slowest test is now 0.05s vs 0.1 before. This is more\nthan paid for by the reduced duplication in the basic setup, making\nthe patch a net reduction in LOC.\n\nIt also fixes the tempdir leak that was present in two of the test\nscripts.\n\nIncludes-Change-Id: I63eee7681657b2b5eb7959738cc89c57c117fa3b\n\nIntroduce upper-constraints to requirements.\n\nThis is thoroughly documented in the cross project spec 'requirements\nmanagement'. In short though, we manage the exact versions we test\nwith as a change controlled thing and use async processes to push\nconvergence and keep up to date.\n\nIncludes-Change-Id: I5fc747646ae9371f0cc085b1e15af45951d20152\n\nMove tests into openstack_requirements.\n\nThere's no reason to have this project be a special snowflake, lets\nuse the convention we do elsewhere in OpenStack.\n\nIncludes-Change-Id: I6ee4cbaa958dcc9c1018dbfdfda083dcb07eea00\n\nFormatting nits in update.py.\n\nNothing semantic, just making it more pleasing on mine eyes.\n\nIncludes-Change-Id: I8e478b5b2be9b125390556ec945e0e38e8b71937\n\nMove update.py into the python package.\n\nA symlink is kept to update.py to keep this working for infra until we\nupdate the propose scripts to try the new location and fall back.\n\nUntil that is done and the symlink removed, update.py cannot refer to\nother modules (though they can refer to it).\n\nIncludes-Change-Id: If878bc2bb426c0e5478ed031f1144e26f05e85a2\n\nGroup pure and IO functions in update.py.\n\nStarting to make this more testable.\n\nIncludes-Change-Id: I18b764c6b58ab409c7beac73314b4e52ad093742\n\nMake _write_setup_py pure.\n\nFactoring out the IO lets us look at the function more clearly, as\nwell as increasing testability.\n\nIncludes-Change-Id: I2366ff0ef7cba16863da9d10890a3fc60098e4d0\n\nDon't write partial requirements files.\n\nIf we detected nonstandard requirements we were previously rewriting\nhalf the requirements file, making this non-idempotent: all the\nsubsequent contents was being lost.\n\nIncludes-Change-Id: If550d98fcab33a915bd44347bac1b538386d691f\n\nRemove VERBOSE global state.\n\nInstead pass a verbose closure down, which while one more parameter\nwill prevent any skew in future unit tests.\n\nIncludes-Change-Id: I310a8fa185b2381a43b28c92ddc3f08e3c6ba035\n\nMake _copy_requires pure.\n\nEasier testing and better separation of logic.\n\nIncludes-Change-Id: I70189487bdf33ce8061b8abc21ae610aed2b031d\n\nSplit main out a little for testing.\n\nIncludes-Change-Id: I9040db8dd7f829e8a50c738710933435cc8ddbd0\n\nAdd basic testing of options -> parameters.\n\nIncludes-Change-Id: Id8594de19085e34730019bb5c7e59248e471e756\n\nConvert test_update_suffix to unit tests.\n\nIncludes-Change-Id: I818929eac8d9bc9f186a78fb192eeddbe620ceb0\n\nConvert test_pbr to unit tests.\n\nIncludes-Change-Id: I07cd6e2b0158cd8787d829ac2004d6f5e3b2d18d\n\nMove test_update to be unit tests.\n\nWe preserve a single full end to end test to ensure all the dots are\nin fact joined.\n\nIncludes-Change-Id: I0d99ae378f3bf0f2cc27a3b5eddf7730606c649e\n\nReduce dataloss window through interrupted writes.\n\nIf we're interrupted mid-file-update we shouldn't leave the\nrequirements file half written. Instead write to a temp file and\nrename into place.\n\nIncludes-Change-Id: I7c7c2553b90f756d74df1967369732b21b8e8c0d\n\nIgnore the dist directory.\n\nIncludes-Change-Id: I2434404a3c6b2fca36c5a90c58a9d2b4b6ab5fd5\n\nMake requirements parsing testable.\n\nIncludes-Change-Id: I3e5f4568a9cd0e6ba4da1d2193f613426a701fd6\n\nSimplify requirement comparisons.\n\nThe _functionally_equal thing was needed in the past but isn't anymore.\n\nIncludes-Change-Id: Ie88814a71ddbc5bf72c22970f728d4ffd99caa62\n\nMove to a single unified parser for requirements.\n\nThis gets rid of potential inconsistency points between global\nhandling and per-file handling.\n\nIncludes-Change-Id: Ia24fd7d213fa6363f16d70c8ef798b7b67e4de4c\n\nSupport environment markers in requirements.\n\nThis is needed to allow universal wheels when requirements differ\nbetween Python versions (or platforms).\n\nIncludes-Change-Id: I3a6e88dc3988c9ddf0d4923e5ee6c1aa81e7a4d9\n\nSupport multiple marked reqs for the same package\n\nThis is needed when a single specifier set is insufficient to handle\nboth Python2.7 and 3.x. We're not currently dealing with this, but I\nhave observed it in other projects and we can be forearmed quite\neasily.\n\nIncludes-Change-Id: If1493625d0d2ebf750159ccb8ed0fd22699766a1\n\nDocument the global requirements format.\n\nIncludes-Change-Id: I4496209c95908179c4b383e7f0a5b8595173564b\n\nPull parsing out of sync_requirements_file.\n\nWe're going to be parsing different sorts of files soon, and\nsync_requirements shouldn't need to figure that out.\n\nIncludes-Change-Id: I98677e083cdf55a8626334bee03786aa021045e3\n\nFix setup.cfg.\n\nsetup.cfg wasn't specifying the packages that we use (and had a no\nlonger needed bit of glue code). Without this, the installed\nrequirements are not usable as the library is missing.\n\nIncludes-Change-Id: I4a2bc2bfcccab00c248d42c45b4c6ec184ea740f\n\nPull serialisation out of _sync_requirements_file.\n\nThis means we can use _sync_requirements for setup.cfg stanzas, which\nhave a different format to requirements.txt files.\n\nIncludes-Change-Id: Ifdb612017677fa2cf3e91de09e4b152dd11ca8ed\n\nHandle : as well as ; for markers.\n\nsetup.cfg uses foo:MARKER rather than foo;MARKER as requirements.txt\nfiles do. To be able to process setup.cfg sections we need to support\n':' as a marker separator.\n\nIncludes-Change-Id: I3d78b3df8ea9fad1fd7b3c634eb0fb0f7e7e9124\n\nAlso update extras in setup.cfg.\n\nThis required some care. There doesn't seem to be a sane Python3 ready\ncomment-preserving ini parser around, so I wrote a\nminimal-for-our-case one in Parsley. Parsley is already in use in\ninfra in bindep, but I need to add it to global-requirements as this\nis the first use in a managed project of it.\n\nIncludes-Change-Id: I48de3a2f36e945f75b534f689e3af802bbdc5be9\nDepends-On: I7d7e91694c9145fac0ddab8a9de5f789d723c641\nDepends-On: I16e967356d5c56f1474ee661b954b3db11a608cb\n\nRemove spurious output in test suite.\n\nThis was a debugging thing, but we don't need this verbosity for the\nsmoke test.\n\nIncludes-Change-Id: I3a088fae7048074a5f9ef6a2ca94dbd90067f0b2\n\nRemove the shebang from generated setup.py's.\n\nWe don't expect users to run setup.py directly, and the world didn't\nend when the x bit was removed accidentally, so this just completes\nthe statement.\n\nIncludes-Change-Id: Ib3934e55949ed6bc72408ddf020b4300a1fccc80\n\nAdd upper-constraints.txt generator.\n\nThis script when run creates a constraints file with exact pins for\nthe transitive dependencies of a requirements file.\n\nIncludes-Change-Id: I1282f8e4010c0ec46c473495bacddf044d06c0af\n\nParticipate in requirements syncing\n\nRequirements is no different to other projects, it should be synced\ntoo.\n\nIncludes-Change-Id: Iae9cb314116ea4241a6fc843dbdee75c115ee14f\n\nFix the empty string issue for pip\n\nWhen read from requirement file, the grep not deal with\nblank line, which cause pip wheel have '' issue.\n\nCheck logs in below for details:\nhttp://logs.openstack.org/21/181821/1/check/check-requirements-integration-dsvm/3ce99ff/console.html#_2015-05-13_05_27_33_105\n\nIncludes-Change-Id: I558a9488f576738a44dd746589c04bd28d7cd332\n\nReport bad package when found\n\nWhen a non-standard package is found in the requirements list, we had an\nerror saying that but not saying what the bad package name was.\n\nIncludes-Change-Id: I860c548dce0c8f988f8fd29cead582bf9b9b6850\n\nAdd convenience tox environments\n\nAdd a venv tox environment like we use in other projects to build a\nvirtualenv and run commands.\n\nAdd an 'update' environment to run the command for updating the\nrequirements in another project.\n\nAdd a 'generate' environment to run the command for generating\nconstraints.\n\nIncludes-Change-Id: Ib99fb4da6f62afd31339fa698c8f0e50ce817128\n\nTeach the constraints generator about excludes.\n\nSome things like flake8 can't be constrained, so we need an opt-out\nclause.\n\nIncludes-Change-Id: I11eb0d762869ad8920795fb710f1b2eeb9354f12\n\nAdd upper-constraints.txt.\n\nThis is a first approximation to the transitive union of requirements,\nbuilt by generate-constraints with python 2.7 and 3.4. It will be\nupdated by a periodic job (which we'll add shortly) proposing future\nmerges to this repository. Its not yet cross-checked for compatibility\nwith proposed global-requirements.txt changes, that will come later.\n\nHaving the file present now allows us to start working on the\nconsuming side in parallel and has no downsides, since no projects\njobs will be voting based on this until all the pieces are in place\nand battle tested.\n\nIncludes-Change-Id: Ifc04c81fd8d52051a0f09a6fd61b06da035c513f\n\nShow not-in-global errors again.\n\nThis regressed when I half-split it into actions and IO (exception\nraising). Moving it entirely into actions lets us see all the errors\nvery easily.\n\nIncludes-Change-Id: I12e6d910bf983841b4ad81aa41a95bf341456fe4\n\nManual update run to get things aligned.\n\nIncludes-Change-Id: I04f02aa3c9bd9e37922dff37c2982709d4136938\n\nTest that changes to requirements are freezable.\n\nIf we can't generate a new constraints file, don't let changes in.\n\nIncludes-Change-Id: If5aa15bb9ca75db0b8ef89a13c9b4bbf8d45cae2\n\nPrevent incompatible version bumps.\n\nWe shouldn't be able to bump global requirement versions if that\nwould be incompatible with the current test set of versions. To assess\n'works' we need to run them in tests which means that we need to\nupdate upper-constraints.txt at the same time. We don't test all\nversions however, so just checking that the constraints version is\ncompatible with the updated global requirements is sufficient.\n\nThis adds a dependency on the pypa packaging library. The library is\nmaintained by the authors of setuptools and pip, is Apache V2, in good\ncondition and Python 3 ready. Its a test-only dependency so I don't\nthink the distro packaging status matters. This is *the* reference\nlibrary for packaging facilities on Python.\n\nIncludes-Change-Id: I032dd9a384453dcfa4911ea905c8f89b0c974211\n\nSplit project and requirement types out.\n\nThese don't need to be hidden within update.py anymore, and we need\nthem for lint and edit.\n\nIncludes-Change-Id: I92f4ff51f98f6343cc94a74a69660306b742dbf3\n\nMove commands into cmds subdir.\n\nThis is a useful hint to readers about whether a module is library or UI.\n\nIncludes-Change-Id: I177449fc6820e82fed938f2c216b6b9f9192957f\n\nAdd edit-constraints command.\n\nThis allows shell editing of a constraints file, which we need to do\nin devstack when installing a constrained library from git.\n\nIncludes-Change-Id: Ibdbfc786b5d2f56d2e41d329c8766bef7b2e6854\n\nUpdate upper-constraints.txt\n\nIncludes-Change-Id: I87f8fedc6e6cdb10a18796a9c0e39f7782cc0797\n\nUpdated from global requirements\n\nIncludes-Change-Id: I502d35db510e496542b4e65d33b53c746455f815\n\nChange-Id: I3e0e288974d6497481d6ea2d1b1a74b0cebe3ec7\nDepends-On: I7d7e91694c9145fac0ddab8a9de5f789d723c641","distinct":false,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/4568bfb6c841130b2edb3202d796b1fe05aec70f"},{"sha":"92e9ba22cebe7056ba746baf7a8f80f0b42b2e1b","author":{"email":"b8b0d7224f61720f6a349f6552c1a6b527b5cc39@hp.com","name":"Andrew Bramley"},"message":"Merge branch 'stable/kilo' into dev/EE-1.5\n\n* stable/kilo:\n  Update Kilo requirements code\n  Cap mock<1.1.0 for stable/kilo\n  Replace coinor.pulp with pulp.\n  Ironicclient minimum is too low for nova virt\n  keystoneclient: require at least >= 1.2.0 for stable/kilo\n  Add glance_store to projects.txt\n  Remove doc repositories from projects.txt\n  cap WSME to <0.7\n  Pin pyngus version as python-qpid-proton is not in pypi\n\nConflicts:\n\tprojects.txt\n\nChange-Id: I31912abfb91699993c9b659ee1ca74c71392ecce","distinct":true,"url":"https://api.github.com/repos/Tesora/tesora-requirements/commits/92e9ba22cebe7056ba746baf7a8f80f0b42b2e1b"}]}