Comment 7 for bug 1639691

Revision history for this message
Kota Tsuyuzaki (tsuyuzaki-kota) wrote :

One more thing, we have to consider, how to force to use liberasruecode>=1.3.1 to prevent the crisis.

I think we have a couple of ways to solve the dependency

1. use bindep requirements with version

Since openstack project uses bindep, we can make the constraint like as https://review.openstack.org/#/c/395998/4/bindep.txt@7 (removing # comment out)

However, I confirmed the bindep requirement refers to the packaging version (e.g. apt, yum) so even if we installed the newest libersurecode version 1.3.1 from source, bindep requirements still fails due to liberasurecoe 1.1.0 in xenial.

2. Use hard coded requirement

With https://review.openstack.org/#/c/395998, I've been trying to make the requirement as hard coded. That seems to work. If you installed the newest, pyeclib works well and then old version was installed, pyeclib raises an ECIncompatibleLiberasurecode at the module loading. However, the implementation has 2 issues.

2-1. we cannot ensure the liberasurecode if the .so file is overwritten from source. That is because the assertion works from the erasurecode_version.h header file when building pyeclib c code.

2-2. with the https://review.openstack.org/#/c/395998/, we have to think of how we can install the liberasurecode from source for the gate to pass for landing the patch.