Commit graph

252 commits

Author SHA1 Message Date
Jeremy Price
14f67a4bf7 dest in s3 module does not work with ~username notation for home directories. Wrapped dest definition in os.path.expanduser() which will return the expanded path in case of successful tilde expansion and otherwise the original value 2013-09-19 00:32:13 -04:00
David Stygstra
c168edc7a4 Add option for DNS nameservers to quantum_subnet module 2013-09-18 19:40:12 -04:00
Ralph Bean
1d0a7baaa1 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.
2013-09-18 16:07:22 -04:00
Ralph Bean
277a918e12 Fix an example with a yaml syntax error. 2013-09-18 15:49:41 -04:00
Ralph Bean
a1738163a8 Fix some "make pep8" errors in the digital_ocean module. 2013-09-18 15:41:55 -04:00
Ralph Bean
06edce08f6 Remove trailing whitespace in digital ocean module. 2013-09-18 11:06:32 -04:00
Ralph Bean
46c18d44f0 Remove duplicate docs in digital ocean module.
The EXAMPLES block here has two copies of the same docs,
one nicely formatted, the other less so.

It looks like a pass was made to clean up the docs but the old
cruftier ones were never removed.
2013-09-18 11:05:06 -04:00
Lorin Hochstein
840da0aaa0 AWS elastic IP: Support for allocating IPs
This commit adds support for allocating new elastic IPs with the
ec2_eip module.
2013-09-12 21:11:24 -04:00
Charles Blonde
4639295563 Update instance_profile_name message 2013-09-12 22:14:27 +02:00
Charles Blonde
637e4216ac Add support to Boto library < 2.5.0 2013-09-09 23:48:35 +02:00
Charles Blonde
402320dd26 Fix wait_for default value to follow the documentation (documentation = 180, default value = 120) 2013-09-08 23:52:40 +02:00
Charles Blonde
ec3b67c7ec Fix wait_for conversion between String to int 2013-09-08 23:49:33 +02:00
James Cammarata
21ad089361 Merge branch 'rdsfixes' of https://github.com/jamespharaoh/ansible into jamespharaoh-rdsfixes 2013-09-05 23:47:32 -05:00
James Cammarata
7db7be192b Modified ec2_elb doc per issue #3849 2013-09-03 16:13:25 -05:00
James Pharaoh
b9c602ea83 make rds handle vpc security groups properly 2013-09-02 20:40:41 +02:00
James Pharaoh
866090efb1 fix for rds region variable 2013-09-02 20:40:32 +02:00
Michael DeHaan
b569e6cb78 Merge pull request #3963 from djoreilly/quantum-net-doc
quantum_network: fix some doc mistakes
2013-08-28 13:53:03 -07:00
Darragh O'Reilly
0033e06129 quantum_network: fix some doc mistakes
- tenant_name was missing.
- comments were on wrong tasks.
- error message had a reference to glance.
2013-08-28 21:19:24 +01:00
Jharrod LaFon
ab85538e9d The cloudformation module argument spec should match the documentation, so that template_parameters is a required argument. 2013-08-27 15:09:30 -06:00
Michael DeHaan
b0b4898e64 Merge pull request #3861 from djoreilly/quantum_net_types
quantum_network should not default network provider type to local
2013-08-27 05:57:21 -07:00
James Cammarata
f54b72faea Fixed small typo from the merge conflict in the route53 module 2013-08-23 13:40:57 -05:00
James Cammarata
254e43ac07 Merge branch 'rb2' of https://github.com/bpennypacker/ansible into bpennypacker-rb2 2013-08-23 13:07:48 -05:00
Bruce Pennypacker
99c8362a82 Added wait parameter 2013-08-23 13:56:59 -04:00
James Cammarata
d9c460ed07 Merge branch 'rb2' of https://github.com/bpennypacker/ansible into bpennypacker-rb2
Conflicts:
	library/cloud/route53
2013-08-23 11:36:45 -05:00
Arthur Taylor
8fc13062aa Added Overwrite option for Route53 record creation 2013-08-22 12:46:20 -05:00
Joshua Lund
fe5154f0c6 Fixing typo in EC2 modules 2013-08-21 18:13:05 -06:00
Bruce Pennypacker
97925d7af6 yet another rebase attempt 2013-08-20 15:15:58 -04:00
Bruce Pennypacker
11470fea04 Rebase attempt
No idea if I'm rebasing properly or not.  This is my first attempt.
2013-08-20 15:14:16 -04:00
Michael DeHaan
d513647165 Merge pull request #3874 from mscherer/relax_nova_compute_argument
image_id is not required to delete a vm from openstack
2013-08-19 12:16:04 -07:00
James Cammarata
9abc7bf5cc Minor fix, vpc_id is not required for the ec2_group 2013-08-19 11:38:06 -05:00
Andrew de Quincey
fad1ba7998 Add module to control EC2 security groups 2013-08-19 11:38:06 -05:00
Michael Scherer
ee6477a9b0 image_id is not required to delete a vm from openstack
Since deletion do not check the type of image or anything,
and since that's tedious to keep track of the image_id and
just adding noise to add image_id for nothing, this commit
just relax the requirement.
2013-08-17 17:56:19 +02:00
Darragh O'Reilly
986aebb284 quantum_network should not default network provider type to local
It should allow the Quantum service to decide based on its configuration.
2013-08-15 19:51:22 +01:00
lwade
649bc49d97 Basic module to tag resources in EC2. 2013-08-13 12:55:06 -05:00
Vincent Van der Kussen
367c3e202b added nwe module "ovirt" 2013-08-13 19:25:40 +02:00
asmajlovic
686a6f5557 Comparison data type mismatch corrected 2013-08-13 09:28:53 -05:00
Michael DeHaan
5dfb9479dc Merge pull request #3763 from j2sol/rax-updates
Update rax to sync with rax_clb_nodes
2013-08-11 13:37:25 -07:00
Michael DeHaan
529e78be01 Smite tabs in whitespace. 2013-08-10 17:58:03 -04:00
Michael Scherer
509d1c5381 Fix traceback when openstack do not have OS-EXT-IPS:type attached to address
failed: [127.0.0.1] => {"failed": true, "parsed": false}
    invalid output was: Traceback (most recent call last):
      File "/tmp/ansible-1376083321.99-111209413777779/nova_compute", line 1176, in <module>
        main()
      File "/tmp/ansible-1376083321.99-111209413777779/nova_compute", line 239, in main
        _get_server_state(module, nova)
      File "/tmp/ansible-1376083321.99-111209413777779/nova_compute", line 198, in _get_server_state
        private = [ x['addr'] for x in getattr(server, 'addresses').itervalues().next() if x['OS-EXT-IPS:type'] == 'fixed']
    KeyError: 'OS-EXT-IPS:type'

This extension was added less than 6 month ago, and so cannot be used on a release
older than Grizzly ( like Folsom ).

Commit of the extension : https://review.openstack.org/#/c/21453/

See https://wiki.openstack.org/wiki/ReleaseNotes/Grizzly#Key_New_Features_2
2013-08-09 23:26:12 +02:00
Lorin Hochstein
703d50212a Fix typo: alises -> aliases 2013-08-08 10:14:08 -04:00
Lorin Hochstein
1fd7eca5fb Add AWS EC2 elastic IP module
Adds a new AWS EC2 module to associate/disassociate instances and
elastic IP addresses.
2013-08-07 15:41:16 -04:00
Michael DeHaan
35c58b5fc2 Merge pull request #3772 from lorin/s3-docpatch
Minor doc update to s3 & ec2 modules
2013-08-06 13:30:20 -07:00
Michael DeHaan
42eda799c8 Merge pull request #3709 from lwade/devel
S3folder
2013-08-06 13:01:43 -07:00
Michael DeHaan
e892450031 add version_added attribute to module docs. 2013-08-06 15:54:20 -04:00
Michael DeHaan
0b7d60f351 Merge pull request #3741 from podollb/feature_ec2_vol
adding param to the ec2_vol module allowing custom iops setting when creating EBS volume
2013-08-06 12:53:35 -07:00
Lorin Hochstein
2281cb66a3 Minor doc update to s3 & ec2 modules
Adds some additional docs about the module parameters for s3
and ec2 modules.
2013-08-06 12:23:25 -04:00
Michael DeHaan
f0763558ad Fixup docs formatting. 2013-08-06 10:53:56 -04:00
Jesse Keating
e4a83767a8 Update rax to sync with rax_clb_nodes
Both modules dealing with rax resources should use the same arguments
and environmental variables. The author of rax_clb_nodes did some things
better so sync rax with that effort.
2013-08-05 15:53:02 -07:00
Michael DeHaan
74679c1c87 Slight docs tweak and remove redundant sys.exit call 2013-08-03 14:25:27 -04:00
Michael DeHaan
b9e0215494 Merge branch 'devel' of git://github.com/peterkh/ansible into devel 2013-08-03 14:24:47 -04:00
Michael DeHaan
2387cfeb9b Merge pull request #3748 from lorin/ec2-idempotency
Add description to id parameter of ec2 module
2013-08-03 10:31:07 -07:00
Lorin Hochstein
099936da22 Add description to id parameter of ec2 module
Add some details in the docs about how the id parameter of the ec2
module behaves.
2013-08-02 23:01:17 -04:00
Lorin Hochstein
262808cf7c ec2: Removed unused line
Remove the reference to the unused "termination_list" parameter
in the ec2 module. The instance_ids parameter is the one that contains
the list of instance ids to be terminated.
2013-08-02 22:35:24 -04:00
Lorin Hochstein
3840a9f8f5 ec2: check for changes
In the ec2 module, if an id is specified, check if there have been
any changes. If not, return changed=False

Fixes #3746
2013-08-02 22:23:41 -04:00
Ben Podoll
279aab42c5 adding param to allow for specifying custom iops setting when creating an EBS volume 2013-08-02 11:31:31 -05:00
Michael DeHaan
5d6a0f3515 Merge pull request #3651 from nicholaskuechler/rax-update-files-docs
Update docs and example for injecting files.
2013-08-01 17:32:15 -07:00
Michael DeHaan
87e2f74f07 Merge pull request #3728 from bpennypacker/ec2_elb_updates
Added optional region parameter.  Fail if you specify an ELB that doesn'...
2013-08-01 17:20:45 -07:00
Michael DeHaan
38055e33c5 Merge pull request #3648 from echohead/glance-image-timeout
Fix 'timeout' parameter of glance-image module.
2013-08-01 17:09:44 -07:00
Bruce Pennypacker
6d6e0d5ab8 Added optional region parameter. Fail if you specify an ELB that doesn't exist.
Boto blindly assumes the us-east-1 region if you don't hardcode a
region in it's config, so you could end up attempting to modify ELB's
in one region from a totally different region.  If a region isn't
specified then default to the region that the module is being run
within rather than the default us-east-1 region since it's a pretty
safe assumption that you intend to work on the ELB's within your
current region.

Also throw an error if a specified ELB instance doesn't exist.  The old
behavior would be to silently succeed with changed=false, so if you had
so much as a typo in the name of your ELB (or were in the wrong region
like my initial testing) you wouldn't get a clear indication that a
problem had occurred.
2013-08-01 16:50:01 -04:00
lwade
9128f9f313 Added ability to create virtual directories. 2013-07-31 11:51:57 +01:00
Nicholas Kuechler
50f8a2ffc8 Change equals to colon 2013-07-30 20:08:22 -05:00
Nicholas Kuechler
d49220b830 Fixed a problem on my side. Was doing weird things. 2013-07-30 20:07:20 -05:00
Nicholas Kuechler
b9a67d0adb Remove tailing bracket 2013-07-30 18:01:34 -05:00
Nicholas Kuechler
a89007ec8d Update example to be more yaml friendly 2013-07-27 13:33:30 -05:00
Lukasz Kawczynski
27cc519748 Module for managing nodes in a Rackspace Cloud Load Balancer 2013-07-26 22:19:38 +01:00
Tim Miller
d56518d9ac Fix 'timeout' parameter of glance-image module.
The timeout parameter of glance-image was not being parsed into a
numeric type, causing the following error when specifying timeout:

    msg: Error in creating image: unsupported operand type(s) for +: 'float' and 'str'
2013-07-25 14:54:21 -07:00
Nicholas Kuechler
2eb208cfd9 Add example with multiple files. 2013-07-23 23:09:02 -05:00
Nicholas Kuechler
e76c27d89b Update docs and example for injecting files. 2013-07-23 22:49:17 -05:00
Peter Hall
0517a104e6 Adding getstr mode to download an object into a variable 2013-07-23 11:03:00 +10:00
Ralph Tice
151f73138f fixed vpc provisioning / clarified group_id usage 2013-07-22 17:00:13 -05:00
Michael DeHaan
71b3d7043b Remove end of line semicolons. 2013-07-21 11:55:38 -04:00
Michael DeHaan
8d0a14ae7d Fix route53 module docs version/module name 2013-07-21 11:20:37 -04:00
Michael DeHaan
5c8e5c81de Fix YAML doc errors. 2013-07-21 11:15:06 -04:00
Michael DeHaan
df0e4666c0 Merge pull request #3413 from evan82/devel
Added module for baking EC2 AMIs
2013-07-21 07:53:54 -07:00
Michael DeHaan
e7b6eeefb2 Merge pull request #3574 from bpennypacker/route53
AWS route53 module
2013-07-21 06:54:14 -07:00
Michael DeHaan
d0e319b6f7 Merge pull request #3440 from lwade/s3mode
Rewritten s3 module to allow for additional modes of operation.
2013-07-20 09:26:03 -07:00
Michael DeHaan
48ca6a16ff Merge pull request #3487 from djoreilly/ks-auth-error
Keystone_user module: fix authentication needs tenant_name too
2013-07-20 09:05:03 -07:00
Michael DeHaan
6ec5d706ef Merge pull request #3502 from bryanlarsen/digital_ocean_no_ip
digital_ocean: don't run update_attr if wait=no
2013-07-20 09:04:31 -07:00
Michael DeHaan
24e83c782f Merge pull request #3550 from lwade/ec2role
Added IAM role support
2013-07-20 08:55:45 -07:00
Michael DeHaan
fe6c6e6779 Revert "Added an elb_region parameter for interacting with the ec2 elastic load balancer to work with regions other than us-east-1"
This reverts commit 1264a5b47d.
2013-07-20 10:48:39 -04:00
Ian O Connell
8fc80f296e Added an elb_region parameter for interacting with the ec2 elastic load balancer to work with regions other than us-east-1 2013-07-19 18:21:51 -07:00
Michael DeHaan
43429e9663 Removing legacy variable usage. 2013-07-19 09:42:22 -04:00
Michael DeHaan
957d0a79c0 Legacy variable usage removed. 2013-07-19 09:40:53 -04:00
Bruce Pennypacker
d20ab9eaf3 added AAAA example 2013-07-18 17:12:14 -04:00
Bruce Pennypacker
ad64b8416e fixed doc typos 2013-07-18 15:41:44 -04:00
Bruce Pennypacker
7fe34e0b37 AWS route53 module 2013-07-18 13:45:00 -04:00
Andrew Todd
bd9d3d4fdd Changed shebangs that use /usr/bin/env to use /usr/bin/python and therefore be compatible with the ansible_python_interpreter variable. 2013-07-17 16:37:04 -04:00
Lester Wade
7984891d36 Added IAM role support 2013-07-16 13:31:30 +01:00
Michael DeHaan
1ba8322277 Merge pull request #3508 from ipauldev/devel
Allow check mode when gathering ec2 facts
2013-07-12 08:20:33 -07:00
Michael DeHaan
2596f892f0 Merge pull request #3510 from echohead/quantum-typo
Correct typo in error message.
2013-07-12 05:39:12 -07:00
Tim Miller
63c105beb1 Correct typo of 'quantun' in error message. 2013-07-11 21:12:24 -07:00
ipauldev
9dd620c687 Allow check mode when gathering ec2 facts 2013-07-11 19:50:55 -05:00
Bryan Larsen
f440b5b46a update_attr should wait for the full wait timeout before checking for a missing IP addres 2013-07-11 14:05:26 -04:00
Bryan Larsen
3fe9756281 digital_ocean doc update 2013-07-11 13:33:42 -04:00
Bryan Larsen
69ff43d253 digital_ocean: don't run update_attr if wait=no
Sometimes when using digital_ocean with wait=no I get the error "No ip is found".  But with wait=no I wouldn't expect there to be any IP, that gets allocated later.   However, looking at the code, it turns out that with even with wait=no it waits up to 10 seconds for an IP to be allocated.  We could wait longer, but with wait=no that seems like the wrong choice; it's easy enough to grab an IP later with a wait=yes command.

To make this change I removed the call to update_attr in @classmethod add.  An add is always followed by an ensure_powered_on which will do the update_attr if wait=yes.   It would be possible to instead do a call to update_attr with no retries and ignore the errors but I figured it would be better to be consistently not return an IP than to sometimes return it and sometimes not.   Inconsistent behaviour makes debugging deployment scripts very difficult.
2013-07-11 13:30:42 -04:00
Darragh O'Reilly
e3fabe8050 Keystone_user module: fix authentication needs tenant_name too
The keystone client needs to be passed tenant_name when authenticating the
user/password way. Also it needs auth_url instead of endpoint.
This fix adds login_tenant_name as a module parameter which is consistent
with the other OpenStack modules.
2013-07-10 07:21:07 +01:00
Evan Duffield
c9cd296a09 added note about AMI security 2013-07-08 10:24:22 -07:00
Evan Duffield
56471c52a1 Merge branch 'devel' of https://github.com/evan82/ansible into devel 2013-07-08 09:26:04 -07:00
Evan Duffield
dcc850dccf added region to spec 2013-07-08 09:24:18 -07:00
lwade
99ac050a43 Rewritten s3 module to allow for additional modes of operation. 2013-07-04 15:55:06 +01:00