Bullhorn #20

Ansible Bullhorn banner

The Bullhorn

A Newsletter for the Ansible Developer Community Issue #20, 2021-02-18 (Past Issues)

Welcome to the Bullhorn, our newsletter for the Ansible developer community. If you have any questions or content you’d like to share, please reach out to us at the-bullhorn@redhat.com, or comment on this GitHub issue.

KEY DATES

ANSIBLE 4.0.0 ROADMAP AND DATES

  • 2021-03-03: Ansible-4.0.0 alpha1 (biweekly ansible alphas. These are timed to coincide with the start of the ansible-core-2.11 pre-releases).
  • 2021-04-13: Last day for new collections to be submitted for inclusion in Ansible 4. Note that collections MUST be reviewed and approved before being included. There is no guarantee that we will review every collection. The earlier your collection is submitted, the more likely it will be that your collection will be reviewed and the necessary feedback can be addressed in time for inclusion.
  • 2021-04-26: Last day for collections to make backwards incompatible releases that will be accepted into Ansible 4.
  • 2021-04-27: Ansible-4.0.0 beta1 – feature freeze 1 (weekly beta releases. Collection owners and interested users should test for bugs).
  • 2021-05-18: Ansible-4.0.0 general release.

For the full Ansible 4.0.0 schedule please see the Ansible 4.0.0 roadmap.

ANSIBLE 3.0.0 NOW GENERALLY AVAILABLE

Ansible 3.0.0 has been released on February 18th. 🎉

This version of the Ansible community package marks the end of the restructuring of the Ansible ecosystem. This work culminates what began in 2019 to restructure the Ansible project and shape how Ansible content was delivered.

To learn more about how and why we got to 3.0.0, we invite you to visit our blog for the background as well as a Q&A: * Announcing the Community Ansible 3.0.0 Package * Ansible 3.0.0 Q&A

This Ansible 3.0.0 release is based on the ansible-base-2.10.x package just like ansible-2.10 was, so the changes shouldn’t be too large. However, it does contain new major versions of many collections which means that there will be some backwards incompatible changes in the modules and plugins. The version number has been bumped to 3.0.0 because we have moved to semantic versioning. See the release announcement by Toshio Kuratomi for more information on how we're using semantic versioning, and the other changes in Ansible-3.0.0.

ANSIBLE 2.10.7 RELEASED

The Ansible Community Team released Ansible 2.10.7 containing several important bugfixes. For full details, see the release announcement by Toshio Kuratomi. This is the last planned release of ansible-2.10.x. Further updates will be made to ansible-3.x.

CHANGES IMPACTING COLLECTION OWNERS

  • If your collection is tested with ansible-test using the --docker option and you test against devel or the stable-2.11 branch, the following containers will be removed fedora30, fedora31, ubuntu1604 on March 1st. See this note for futher details.
  • Collection repositories that were previously using Shippable for CI testing are moving to Azure Pipelines as Shippable is approaching End of Life. For repositories using GitHub Actions for CI there is no change. You can track the progress here.
  • Security: avoid information leaks (that are easily avoidable) in your modules by using no_log=True. Now detected by CI in ansible-core devel, details.
  • The import sanity test has been extended to cover plugins. Previously it only covered modules (details).
  • Updated pylint Sanity Test (details).

To be aware of changes as soon as they happen, we suggest that you subscribe to Changes impacting Collection Contributors and Maintainers. The "Subscribe" button is on the right below GitHub Labels.

NEW/UPDATED COMMUNITY COLLECTIONS

REQUEST FOR FEEDBACK - ANSIBLE NETWORKING

The Ansible Networking team would like to gather feedback from the network community on how to improve the behaviour of network config module warning messages. Please add your comments in this discussion on GitHub.

ANSIBLE-LINT 5.0.0 RELEASED

A major v5 new release of ansible-lint was made, one that addresses lots of user requests and bugs. Among the most notable changes we should mention:

  • Execution of both ansible-playbook --syntax-check and yamllint (optional) is included, so you no longer need to run them separately.
  • New ansible file-type detection logic based on glob patterns.
  • Support for collections and installation of requirements.yml inside isolated environments. Those that do not want to install requirements can use offline mode and mock missing collections, roles, modules or extra vars.
  • All internal rules now have text based tag names, as they are more human-friendly.
  • Rules API changed and custom rules must be updated in order to use with the version.
  • Installation instructions were updated and you must make sure to mention which version of Ansible you want to use it with.

Read the upgrade guidelines on the forum before upgrading. Please use the same thread for feedback and feel free to make pull-requests with fixes if needed.

BRAND NEW COLLECTION DEPENDENCY RESOLVER IN ansible-galaxy CLI

If you install any Ansible Collections from Galaxy, it'll mean the world to us if you could try out our new and refined ansible-galaxy collection [download|install|list|verify] subcommands introduced by ansible-core PR #72591. As a part of the ansible-core 2.11 effort to improve and refine the UX of the ansible-galaxy CLI related to managing third-party collection installs, this pull request introduced a new runtime dependency — resolvelib. This library implements an agnostic dependency resolver with the support for backtracking that has recently been incorporated by pip (Python package installer), by default. Doing so allowed us to substantially simplify the codebase in ansible-core and helped us implement new features that made the behavior of ansible-galaxy collection subcommands closer to how pip works.

If you want to learn more about the internals, check out this post.

Among new features, this change allows upgrading pre-installed collections to newer versions without requiring --force or --force-with-deps options when the existing installation does not satisfy the user request or any transitive requirements discovered during the process of dependency resolution.

Another feature is the new --upgrade (or -U) option that allows you to explicitly request updating the installed collections.

This change has already been accepted, so doing pip install https://github.com/ansible/ansible/tarball/devel should be enough to get a version that contains the refactoring. Another option would be to install a pre-release (like a release candidate) of ansible-core from PyPI, but it's not yet published at the time of writing.

Please try out these updates — we'd love to hear what you think!

NEW COMMUNITY STATISTICS MAP

There has been a map for community data (Meetup locations, PR counts) for a while, but it was a bit buried and hard to find. Greg has just released the first version of a new map stats app, which you will find on the stats server or via the direct link. Suggestions for more things to map or other ways to display the data are welcome by raising issues on GitHub.

DIVERSITY AND INCLUSION WG SEEKING EXPERIENCE IN ACCESSIBLE DESIGN

The Ansible Diversity and Inclusion Working Group is seeking members of the community with experience in accessible design or use of assistive technologies to help identify areas for improvement and implement changes to our online media (documentation, Github templates and forms, etc). Please reach out to the group on Freenode IRC in channel #ansible-diversity if you would like to participate.

CONTENT FROM THE ANSIBLE COMMUNITY

ANSIBLE CONTRIBUTOR SUMMIT 2021.03

The next Ansible Contributor Summit will be held on Tuesday, March 9, from 12:00-20:00 UTC. Please see the details and register on Eventbrite, and propose topics you’d like to discuss in this HackMD note.

ANSIBLE VIRTUAL MEETUPS

We're happy to introduce a new meetup group: Ansible Iraq! They have planned their first meetup for Sun, Feb 28 · 8:00 PM GMT+3. More details and RSVP on the event page.

FEEDBACK

Have any questions you’d like to ask, or issues you’d like to see covered? Please send us an email at the-bullhorn@redhat.com.