multi OS repo-build needs to be more intuitive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack-Ansible |
Fix Released
|
Undecided
|
Kevin Carter |
Bug Description
When building an environment running >1 OS the repo-build needs to have special flags passed in at run time to ensure the python wheels are built from the appropriate sources on the different Operating Systems.
conversation from today:
[16:19] <tasker> OSA collects two groups for the repo_master, 14.04 and 16.04. it appears to build 14.04 on repo-1 no problem.
[16:19] <tasker> when it goes to run repo_build for repo-2 (16.04) it comes back with 'dict object' has no attribute 'repo_build' for the task "Ensure that temporary folders from previous build failures are absent"
[16:27] <odyssey4me> you may need to force a rebuild of wheels/venvs
[16:28] <odyssey4me> use -e 'repo_build_
This means in order to build wheels and venvs on different OS's we need to run
```
openstack-ansible repo-build.yml -e repo_build_
```
The initial playbook should be able to detect the different OS's and set the correct vars according based on the state of the repo_server cluster instead of having the user know to pass in these flags.
While work to refactor some of the repo-server/build role may be underway it might we worth our time to add these overrides, and a blurb covering multi-os support, to our tips and tricks so folks are not left out in the cold when running a multi-os cloud.
Changed in openstack-ansible: | |
assignee: | nobody → Jesse Pretorius (jesse-pretorius) |
Changed in openstack-ansible: | |
status: | New → Incomplete |
Changed in openstack-ansible: | |
assignee: | Jesse Pretorius (jesse-pretorius) → nobody |
Changed in openstack-ansible: | |
status: | Incomplete → Fix Committed |
Changed in openstack-ansible: | |
assignee: | nobody → Kevin Carter (kevin-carter) |
Changed in openstack-ansible: | |
status: | Fix Committed → Fix Released |
I have seen multiple reports of there being issues, but inspecting the way it all works right now I don't understand why it's happening. As it stands right now each wheel/venv build process is completely independent per-distro per-arch. This means that if a new arch/distro is added, the requirements and other files checked when doing a build to determine if something has changed should pick up the change (as there are no previous files). I'll have to make some time to build a multi-distro environment to see the problem first-hand.