2

Ansible Tower 3.3.0 Currently we are using Ansible 2.4.2, need to upgrade to 2.5.x, to take advantage of new features, without breaking existing jobs that have been tested and currently working. Would like to be able to specify the Ansible version, for running jobs, for certification, and if they pass, be promoted to use the new version, and if they fail, continue to use their existing release.

Our playbooks run on network devices, RHEL7, VMware, Openstack, and several flavors of windows.

We had previously upgraded to 2.5.0 and encountered failures with win_copy, win_template and a few other modules, which forced us to roll back to our previous working release.

Later, we will want to patch/update various components including Tower itself, so any ideas for doing these activities will also be appreciated.

Am0s
  • 21
  • 1

1 Answers1

0

Ansible moves fast enough where any major version upgrade has a chance to break non-trivial playbooks. And given the 4 months or so release cycle, can only hold back for a year or so before your release becomes end of life.

You could branch the version control of your playbooks like you would for software development. Fork a stable 2.4 branch for maintenance. Port to the current version of Ansible in a master or trunk main development branch.

Maintain some kind of dev, test, and production environment of what you are deploying. As you would for other changes, deploy new Ansible versions in dev test stage first.

I don't know how you would test different Ansible versions in Tower. I'm pretty sure that would mean a separate test deployment of Tower.

John Mahowald
  • 30,009
  • 1
  • 17
  • 32
  • Tower doesn't know anything about test phases. It's only production, as far as I can tell. There is a concept of virtual environments, one for tower, one for Ansible, but no docs that I can find to support more than one Ansible at a time, or the concept of dev, test, qa, stage and prod for tower workflows. Tower comes with a price tag per x number of nodes, where Ansible itself is free. We're still determining how to support multiple releases, within tower. For Ansible itself, it's easy. I need a tower answer. – Am0s Jun 11 '18 at 16:36
  • I have not used Tower or AWX. All I can think of is branch the playbook and try some ansible-playbook runs with the new version. – John Mahowald Jun 13 '18 at 12:22
  • The answer does not at all match the question asked. – Baptiste Mille-Mathias Nov 22 '19 at 10:47