2018-10-24 12:32:35 |
Sorin Sbarnea |
description |
As of today browbeat declared dependencies to pin ansible to an ancient version, also pinning few other dependencies without clear reasons for doing so.
This create dependency conflict with other openstack project that do use browbeat, like tripleo-quickstart which already requires an ansible version newer.
browbeat dependencies should use open ranges that require minimal known to work version and optionally ceiling maximum version but only when it is known that the newer version will broke
the product.
Example:
ansible>=2.4.1,<2.8.0
python-dateutil>=2.4.2
This would declare the fact that we know not to be working with 2.8.0 because of some changes made there.
For the specific case where a new minor release of a dependency breaks browbeat, we can use `fooo>=1.0.0,!=1.1.0` if we are aware that the breakage is going to be fixed in the incoming release of the culprit.
Also, to prevent introducing conflicts due to wrong dependency declaration, we need to run "pip check" after installing depencies.
`pip check` report conflicts and return non-zero error code if any conflict is found. |
As of today browbeat declared dependencies to pin ansible to an ancient version, also pinning few other dependencies without clear reasons for doing so.
This create dependency conflict with other openstack project that do use browbeat, like tripleo-quickstart which already requires an ansible version newer.
browbeat dependencies should use open ranges that require minimal known to work version and optionally ceiling maximum version but only when it is known that the newer version will broke
the product.
Example:
ansible>=2.4.1,<2.8.0
python-dateutil>=2.4.2
This would declare the fact that we know not to be working with 2.8.0 because of some changes made there.
For the specific case where a new minor release of a dependency breaks browbeat, we can use `fooo>=1.0.0,!=1.1.0` if we are aware that the breakage is going to be fixed in the incoming release of the culprit.
Also, to prevent introducing conflicts due to wrong dependency declaration, we need to run "pip check" after installing depencies.
`pip check` report conflicts and return non-zero error code if any conflict is found.
Related to tripleo-quickstart https://tree.taiga.io/project/tripleo-ci-board/issue/253 |
|