mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
a9a2a96218
As it stands now, it is difficult to write idempotent tasks for digital ocean droplets. Digital ocean assigns new nodes a random id when they are provisioned and that id is the only key that can be used to identify it in subsequent runs of that play. The workflow previously involved manual intervention: - write a play defining a new node with no specified id - run it, collect the randomly assigned id by hand - modify the play to add the id by hand so future runs don't create duplicate nodes - perform future re-runs that check if the node exists (by its id) - if it does exist then do nothing. - if it does not exist, then create it and return a *new random id* - collect the new random id by hand, modify the playbook file, and start all over. Its a huge pain. The modifications in this commit allow you to use the 'hostname' as a primary key for idempotence with digital ocean. By default, digital ocean will let you create as many hosts with the same hostname as you like. Here, we provide an option to constrain the user to using only unique hostnames. The workflow will now look like: - write a play defining a new node with a specified hostname and "unique_name: true"" - run it, create the new node and move on. - re-run it, notice that a node with that hostname is already created and move on. |
||
---|---|---|
bin | ||
docs/man | ||
docsite | ||
examples | ||
hacking | ||
lib/ansible | ||
library | ||
packaging | ||
plugins | ||
test | ||
.gitignore | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
COPYING | ||
Makefile | ||
MANIFEST.in | ||
README.md | ||
RELEASES.txt | ||
setup.py | ||
VERSION |
Ansible
Ansible is a radically simple configuration-management, deployment, task-execution, and multinode orchestration framework.
Read the documentation and more at http://ansibleworks.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 on http://ansibleworks.com/docs/gettingstarted.html for a variety of platforms. If you want a tarball of the last release, go to http://ansibleworks.com/releases/ and you can also install with pip (though that will bring in some optional binary dependencies you normally do not need).
Design Principles
- Dead simple setup
- Super fast & parallel by default
- No server or client daemons; use existing SSHd
- No additional software required on client boxes
- Modules can be written in ANY language
- Awesome API for creating very powerful distributed scripts
- Be usable as non-root
- The easiest config management system to use, ever.
Get Involved
- Read Contributing.md 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.
- irc.freenode.net: #ansible
Branch Info
- Releases are named after Van Halen songs.
- The devel branch corresponds to the release actively under development.
- Various release-X.Y branches exist for previous releases
- We'd love to have your contributions, read "CONTRIBUTING.md" for process notes.
Author
Michael DeHaan -- michael@ansibleworks.com