You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Ralph Bean a9a2a96218 Add a new unique_name param to the digital_ocean module for idempotence.
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.
13 years ago
bin Fixed -e "" on ansible-playbook. 13 years ago
docs/man Adding sshpass as packaging requirement and fixing VERSION 13 years ago
docsite Fixing up some search/replace errors regarding user/remote_user 13 years ago
examples Added accelerate_port to plays, and made it configurable 13 years ago
hacking Fixup docs formatting. 13 years ago
lib/ansible Fix how module_common handles selevel (issue #4142) 13 years ago
library Add a new unique_name param to the digital_ocean module for idempotence. 13 years ago
packaging Adding sshpass as packaging requirement and fixing VERSION 13 years ago
plugins zabbix inventory: print errors to stderr 13 years ago
test Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 13 years ago
.gitignore Update .gitignore 13 years ago
CHANGELOG.md Added standardized includes to the CHANGELOG 13 years ago
CONTRIBUTING.md Update CONTRIBUTING.md 13 years ago
COPYING license file should be in source tree 14 years ago
MANIFEST.in Add some docs/examples 14 years ago
Makefile Simplify the selection of date command 13 years ago
README.md Update README.md 13 years ago
RELEASES.txt Update releases.txt 13 years ago
VERSION Adding sshpass as packaging requirement and fixing VERSION 13 years ago
setup.py Update URLs and email address in setup.py 13 years ago

README.md

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

AnsibleWorks