What is ansible-core? What is the ansible community package?
What happened to the Ansible project after version 2.9? Today we’re going to talk about ansible community and ansible-core packages released since 2021. I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
ansible vs ansible-core
ansible community
- Uses new versioning (2.10, then 3.0.0)
- Follows semantic versioning rules
- Does not use semantic versioning
- Maintains only one version at a time
- Includes language, runtime, and selected Collections
- Developed and maintained in Collection repositories
ansible-core (was ansible-base 2.10)
- Continues “classic Ansible” versioning (2.11, then 2.12)
- Does not use semantic versioning
- Maintains the latest version plus two older versions
- Includes language, runtime, and builtin plugins
- Developed and maintained in ansible/ansible repository
What happened to ansible after version 2.9?
Starting with version 2.10, Ansible distributes two deliverables: a community package called ansible
and a minimalist language and runtime called ansible-core
(called ansible-base
in version 2.10). Choose the Ansible style and version that matches your particular needs.
The ansible package includes the Ansible language and runtime plus a range of community curated Collections. It recreates and expands on the functionality that was included in Ansible 2.9.
You can choose any of the following ways to install the Ansible community package:
- Install the latest release with your OS package manager (for Red Hat Enterprise Linux, CentOS, Fedora, Debian, or Ubuntu).
- Install with pip (the Python package manager). Ansible community package release cycle The Ansible community team typically releases two major versions of the community package per year, on a flexible release cycle that trails the release of ansible-core. This cycle can be extended to allow for larger changes to be properly implemented and tested before a new release is made available. See Ansible Roadmap for upcoming release details. Between major versions, the Ansible team releases a new minor version of the Ansible community package every three weeks. Minor releases include new backward-compatible features, modules, and plugins, as well as bug fixes. Starting with version 2.10, the Ansible community team guarantees maintenance for only one major community package release at a time. For example, when Ansible 5.0.0 gets released, the team will stop making new 4.x releases. Community members may maintain older versions if desired.
ansible-core
The ansible-core package is primarily for developers and users who want to install only the collections they need.
What is the ansible-core package?
Ansible Core is the command-line tool that is primarily for developers and users who want to install only the collections they need. It contains a minimal amount of modules and plugins and allows other Collections to be installed. Similar to Ansible 2.9 though without any content that has since moved into a Collection. Ansible core or ansible-core is the main building block and architecture for Ansible and includes:
- CLI tools such as ansible-playbook, ansible-doc. and others for driving and interacting with automation.
- The Ansible language uses YAML to create a set of rules for developing Ansible Playbooks and includes functions such as conditionals, blocks, includes loops, and other Ansible imperatives.
- An architectural framework that allows extensions through Ansible collections. ansible-core releases a new major release approximately twice a year.
ansible community
The Ansible community package offers the functionality of Ansible 2.9, with 85+ collections containing thousands of modules and plugins.
What is the ansible community package?
Each major release of the Ansible community package accepts the latest released version of each included Collection and the latest released version of ansible-core. Major releases of the Ansible community package can contain breaking changes in the modules and other plugins within the included Collections and/or in core features. The Ansible package depends on ansible-base (soon ansible-core). So when you do pip install ansible, pip installs ansible-core automatically. Ansible 3.0.0 and following contains more Collections thanks to the wider Ansible community reviewing Collections against the community checklist. The Ansible community team typically releases two major versions of the community package per year, on a flexible release cycle that trails the release of ansible-core.
Links
- Ansible 3.0.0 Q&A
- Releases and maintenance
- Installing Ansible
- Ansible community changelogs
- Ansible Core Documentation
- pip install ansible-core
- pip install ansible
Conclusion
Now you know more about the ansible package releases of ansible-core
and ansible
community packages.
You know how to use it based on your use case.
Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate