2016-11-11 14:32:49 |
Jesse Pretorius |
bug |
|
|
added bug |
2016-11-11 14:34:34 |
Jesse Pretorius |
description |
The libvirt-python wheel has to be built with the same binary as will be used on the hosts that load it, otherwise the nova service will fail to start due to a mismatch of features between the library and the binary.
This presents a problem in mixed OS environments where it is not possible to build a wheel for each OS and deploy them selectively. Python's wheel naming doesn't allow for differences between OS's, only CPU architectures.
We have two options as far as I can see:
1. As discussed in https://bugs.launchpad.net/openstack-ansible/+bug/1637509 we could make the venv build process build a venv per arch and per OS in the environment. The caveat would have to be that at least one control plane host must be on each arch and on each OS version.
2. We could use the same mechanism we use for Ceph python libs and opt to symlink the python libs provided by the distro package into the venv.
Option 1 is complex. Option 2 is simple. I think I prefer option 2, but am open to alternative suggestions. |
The libvirt-python wheel has to be built with the same binary as will be used on the hosts that load it, otherwise the nova service will fail to start due to a mismatch of features between the library and the binary.
This presents a problem in mixed OS environments where it is not possible to build a wheel for each OS and deploy them selectively. Python's wheel naming doesn't allow for differences between OS's, only CPU architectures.
We have two options as far as I can see:
1. As discussed in https://bugs.launchpad.net/openstack-ansible/+bug/1637509 we could make the venv build process build a venv per arch and per OS in the environment. The caveat would have to be that at least one control plane host must be on each arch and on each OS version.
2. We could use the same mechanism we use for Ceph python libs and opt to symlink the python libs provided by the distro package into the venv. See
https://github.com/openstack/openstack-ansible-ceph_client/blob/d2ab0cee16ee1c3073a5e5f252c56e7b99dea7b6/tasks/ceph_install_python_libs.yml for reference.
Option 1 is complex. Option 2 is simple. I think I prefer option 2, but am open to alternative suggestions. |
|
2016-11-11 14:43:31 |
Ionuț Bîru |
bug |
|
|
added subscriber Ionuț Bîru |
2016-11-11 14:47:35 |
Ravi Gummadi |
bug |
|
|
added subscriber Ravi Gummadi |
2016-11-15 16:49:06 |
Alexandra Settle |
openstack-ansible: status |
New |
Confirmed |
|
2016-11-15 16:49:08 |
Alexandra Settle |
openstack-ansible: importance |
Undecided |
High |
|
2017-03-14 17:02:37 |
OpenStack Infra |
openstack-ansible: status |
Confirmed |
In Progress |
|
2017-03-14 17:02:37 |
OpenStack Infra |
openstack-ansible: assignee |
|
Kevin Carter (kevin-carter) |
|
2017-03-15 19:10:47 |
OpenStack Infra |
openstack-ansible: status |
In Progress |
Fix Released |
|
2017-03-20 10:47:56 |
OpenStack Infra |
tags |
|
in-stable-ocata |
|
2017-03-20 11:59:17 |
OpenStack Infra |
tags |
in-stable-ocata |
in-stable-newton in-stable-ocata |
|