Skip to content
This repository has been archived by the owner on Mar 23, 2019. It is now read-only.

Prebaked conductors, redux #681

Merged
merged 35 commits into from
Sep 8, 2017
Merged

Prebaked conductors, redux #681

merged 35 commits into from
Sep 8, 2017

Conversation

ryansb
Copy link
Contributor

@ryansb ryansb commented Aug 7, 2017

ISSUE TYPE
  • Feature Pull Request
SUMMARY

Updated version of prebaking conductors onto current dev w/ some bugfixes. Currently python setup.py prebake bakes all images, but I've found some flakiness with Jessie builds.

@ryansb ryansb mentioned this pull request Aug 7, 2017
@ryansb
Copy link
Contributor Author

ryansb commented Aug 7, 2017

Specific Jessie error:

Building Docker Engine context...               
Starting Docker build of Ansible Container Conductor image (please be patient)...                
ERROR   Failure building prebaked image for debian:jessie                                        
Traceback (most recent call last):              
  File "/home/ryansb/code/ansible-container/container/core.py", line 136, in hostcmd_prebake     
    cache=cache)        
  File "/home/ryansb/code/ansible-container/container/docker/engine.py", line 104, in __wrapped__
    return fn(self, *args, **kwargs)            
  File "/home/ryansb/code/ansible-container/container/__init__.py", line 28, in __wrapped__      
    return fn(*args, **kwargs)                  
  File "/home/ryansb/code/ansible-container/container/docker/engine.py", line 1025, in build_conductor_image             
    nocache=not cache)  
  File "/home/ryansb/.pyenv/versions/ac/lib/python2.7/site-packages/docker/models/images.py", line 172, in build         
    raise BuildError(chunk['error'])            
BuildError: Get https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz: dial tcp: lookup get.docker.com: no such host

@TomasTomecek
Copy link
Contributor

@ryansb what's the status here?

j00bar and others added 13 commits August 30, 2017 10:29
- All tests run per distro, versus all distros per test
- /lib is now carried over where needed
- Alpine now works with tests
Thank you to @j2sol for pointing me to this.
The Ubuntu python install has a hardcoded replacement of
`/usr/local/include/python2.7` with `/usr/include/python2.7`, so when we
mount `/_usr/local/include` that replacement fails and it can't find the
Python-dev C headers.
@ryansb ryansb force-pushed the ryansb/prebaked-conductors branch 2 times, most recently from 20d332f to 6a9a34e Compare August 30, 2017 21:20
@j00bar j00bar merged commit 9ca6f35 into develop Sep 8, 2017
@j00bar j00bar deleted the ryansb/prebaked-conductors branch September 8, 2017 22:26
@fignew
Copy link
Contributor

fignew commented Sep 13, 2017

What is the ansible-container argument to disable this? I am running on ARM and the the pre-built images will not work.

@chouseknecht
Copy link
Contributor

@fignew

I don't see a disable option. The docs state that you can build your own: http://docs.ansible.com/ansible-container/conductor.html

Referencing the template conductor Dockerfile provides a roadmap.

@chouseknecht
Copy link
Contributor

@fignew

I forgot... You can build a conductor locally using the following command:

$ python ./setup.py prebake --distros $BASE_DISTRO --debug

You can see a full example in our .travis.yml file. You'll need to run Ansible Container from source, so that you have a local copy of the project and access to setup.py.

Replace BASE_DISTRO with centos:7, ubuntu:precise, or whatever distro:tag you're needing.

Hope this helps.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants