No description
Find a file
Evgeni Golov 7c9c8396d1 cron: don't force changed=True when old crontab was empty
The cron module forces changed=True when there was no real change,
but the original crontab did not contain a final newline, which is
mandatory.

When the user has no crontab or the user does not exist at all,
crontab -l exits with 1 and the cron module correctly interprets
this as "no crontab" and stores the old crontab as "".

However this triggers changed=True, even if we're not going to
change anything, e.g. when removing a crontab entry from a user
who has no crontabs at all.

Let's special-case the fact that the old crontab is empty and not
force changed=True in that case.

(cherry picked from commit 61579aebb2)
2017-03-28 07:45:45 -07:00
.github Move summary to be next to where github places the commit message. (#22368) 2017-03-07 18:00:22 +01:00
bin fixes ansible-connection working directory (#22964) 2017-03-25 00:36:00 -04:00
contrib Fix Elasticcache issue where ec2 script would fail on finding lack of primary endpoint address on Redis cluster (#20190) 2017-03-10 13:08:54 -05:00
docs fixed passwordstore lookup examples 2017-03-21 15:42:09 -04:00
examples moved network module magic from hardcoded to conf 2017-03-09 21:49:02 -05:00
hacking New metadata 1.0 (#22587) 2017-03-14 09:07:22 -07:00
lib/ansible cron: don't force changed=True when old crontab was empty 2017-03-28 07:45:45 -07:00
packaging Updating packaging release version yaml 2017-03-15 11:37:59 -05:00
test Associate systemd module with service test. (#22847) 2017-03-24 13:30:12 -07:00
ticket_stubs Remove obsolete ticket stubs. 2016-12-08 11:35:20 -05:00
.coveragerc Run unit tests in isolation w/ coverage support. 2017-02-27 17:16:45 -08:00
.gitattributes
.gitignore Create bot friendly sanity output. (#22381) 2017-03-07 14:59:50 -08:00
.gitmodules Code cleanup. 2016-12-08 11:35:04 -05:00
.mailmap Add new mailmap entry for @willthames 2017-01-05 10:59:43 -05:00
.yamllint
ansible-core-sitemap.xml Remove remnants of obsolete fireball mode. 2016-12-09 16:56:34 -07:00
CHANGELOG.md Add ios_banner module (#22687) 2017-03-21 12:29:45 +01:00
CODING_GUIDELINES.md
CONTRIBUTING.md
COPYING
docsite_requirements.txt Fixes the build issue pertaining to sphinx-build which is required to build ansible (#22480) 2017-03-14 14:19:46 -07:00
Makefile clean tests results 2017-03-12 12:30:24 -04:00
MANIFEST.in Move to using a requirements.txt to install the python packages. (#21430) 2017-02-15 06:58:09 -08:00
MODULE_GUIDELINES.md Move GUIDELINES.md from modules repo (#19313) 2016-12-14 11:46:14 -05:00
README.md Remove obsolete files and instructions. (#19079) 2016-12-09 12:42:29 -05:00
RELEASES.txt
requirements.txt Move to using a requirements.txt to install the python packages. (#21430) 2017-02-15 06:58:09 -08:00
ROADMAP.rst Update ROADMAP (#20002) 2017-01-16 11:36:53 +00:00
setup.py Use HTTPS instead of legacy HTTP for ansible.com (#16870) 2017-02-15 16:09:33 -08:00
shippable.yml Split up unit tests on Shippable. (#21931) 2017-02-24 16:58:56 -08:00
tox.ini Pass TEST_FLAGS environment variable to tests run with Tox (#21611) 2017-02-20 15:24:39 -08:00
VERSION New release v2.3.0.0-0.2.rc2 2017-03-27 16:25:02 -05:00

PyPI version Build Status

Ansible

Ansible is a radically simple IT automation system. It handles configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, and multinode orchestration - including trivializing things like zero downtime rolling updates with load balancers.

Read the documentation and more at https://ansible.com/

Many users run straight from the development branch (it's generally fine to do so), but you might also wish to consume a release.

You can find instructions here for a variety of platforms.

If you want to download a tarball of a release, go to releases.ansible.com, though most users use yum (using the EPEL instructions linked above), apt (using the PPA instructions linked above), or pip install ansible.

Design Principles

  • Have a dead simple setup process and a minimal learning curve
  • Manage machines very quickly and in parallel
  • Avoid custom-agents and additional open ports, be agentless by leveraging the existing SSH daemon
  • Describe infrastructure in a language that is both machine and human friendly
  • Focus on security and easy auditability/review/rewriting of content
  • Manage new remote machines instantly, without bootstrapping any software
  • Allow module development in any dynamic language, not just Python
  • Be usable as non-root
  • Be the easiest IT automation system to use, ever.

Get Involved

  • Read Community Information for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use git rebase vs git merge for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
  • Users list: ansible-project
  • Development list: ansible-devel
  • Announcement list: ansible-announce - read only
  • irc.freenode.net: #ansible

Branch Info

  • Releases are named after Led Zeppelin songs. (Releases prior to 2.0 were named after Van Halen songs.)
  • The devel branch corresponds to the release actively under development.
  • For releases 1.8 - 2.2, modules are kept in different repos, you'll want to follow core and extras
  • Various release-X.Y branches exist for previous releases.
  • We'd love to have your contributions, read Community Information for notes on how to get started.

Authors

Ansible was created by Michael DeHaan (michael.dehaan/gmail/com) and has contributions from over 1000 users (and growing). Thanks everyone!

Ansible is sponsored by Ansible, Inc

Licence

GNU Click on the Link to see the full text.