-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ansible-builder 3.0 feature branch #411
Conversation
Since we are here, can we think about -
|
3 questions while I think of them, Can the build def be left in the EE? Here is how navigator introspects the image today: https://github.com/ansible/ansible-navigator/blob/main/share/ansible_navigator/utils/image_introspect.py Collection/plugin are "cached" but here is how they are cataloged, note ansible-doc wasn't used here due to the need to show shadowed collections: https://github.com/ansible/ansible-navigator/blob/main/share/ansible_navigator/utils/catalog_collections.py |
eg the source Need to figure out where to dump it (and the related deep introspection below, assuming we do it). Something like
Technically yes, but it seems like a slippery slope.
Yes, I think that would be a reasonable thing, though we'd need to talk through how we'd version that format and where the thing that creates it will live... |
Yes, I've been assuming we'd add pre/post hook steps for the Galaxy and Build stages (and maybe more)- I'd probably just do arbitrary steps to replace the existing
I think this could also be accommodated for build-time stuff with the pre/post Galaxy steps I mentioned above- the implementation would likely be highly dependent on knowing where the base OS image hangs its certs, so we probably don't want to provide a high-level interface for doing so, but having the ability to inject extra steps and files into the context should cover that need. |
The biggest user experience pain point challenge we get is using builder tooling in a disconnected environment. Can we consider this in the architect up front? We'll need options to be able to NOT pull from the internet for deps etc. I'd also like to get any container builds resulting from this put through the RH deptopia mill as this is or is becoming the SoT for container imaging introspection and is currently presenting a gap challenge for productization @Spredzy FYI |
I'm happy to test this when ready in a working state. |
fi | ||
fi | ||
|
||
# NOTE(pabelanger): Ensure all the direcotry we use exists regardless |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# NOTE(pabelanger): Ensure all the direcotry we use exists regardless | |
# NOTE(pabelanger): Ensure all the directory we use exists regardless |
How is this going? It's likely that in the next 1-2 months we'll have to add some hacks to the awx-ee in order to start moving new features into the community that require new Ansible / runner, and @shanemcd has approaches that would work, but we would prefer to work this into it instead. |
I hope this will allow the usage of overriding the default yum repos. The assemble function overwrites all my internal yum proxy details which would likely be an issue for those with air gaped environments. |
@ryanmerolle yes, it will be possible (and much easier) to do so with explicit pre/post stage tasks for each build stage, but we probably won't add an explicit first-class feature for declarative repo management (starts to duplicate a lot of Ansible itself there 😆 ) |
Well I know you guys have been hard at work. I appreciate the update! |
* Fix linting * Fix unit tests * Remove py38 testing * Fix integration tests
- split out Containerfile class into separate file - move logic for writing container file steps from AnsibleBuilder to Containerfile
* Add pre-/post- steps * Add docs * Handle schema key upgrade aliasing * Add var for jsonschema multi-type and improve testing of such values * Handle ARGs better and fix bug for missing schema defs and bug for builder image name
Co-authored-by: Matt Davis <[email protected]>
Co-authored-by: Matt Davis <[email protected]>
* Bump schema version 3 * Name final image * Update definition doc for v3 and fix v3 test * Various v3 bug fixes - Fix the v3 schema for inline values and add tests. - Always run ensure pip in base image so pip is available for later stages. - Set UserDefinition.builder_image only when a builder image is specified so checks for it work correctly. * Changes to definition.rst doc
- New script added to run a check for Ansible and Runner installations. - New 'options' EE keyword introduced to control builder runtime decisions. First option is for skipping the new Ansible/Runner check.
* Add option for package manager - Fixes bug where we incorrecty assume dnf for python interpreter install - Add pulp tests that verify check_ansible and new pkg manager option * Use 'upgrade' instead of 'update'
* default to pip-installed dumb-init and bash
A 3.0 evolution of
ansible-builder
to address a number of pain points with currentansible-builder
:demo/v3_demo/execution-environment.yml
for a working sample tested with Fedora, CentOS Stream 8/9, UBI9...ENTRYPOINT
andCMD
.