Commit graph

1016 commits

Author SHA1 Message Date
Monty Taylor
481911eb4e Add nova config drive support
Config drive can be enabled on nova by passing config_drive=True.
That's a pretty easy feature to support.
2014-08-03 09:05:45 -07:00
Monty Taylor
95ee9d91f0 Update the nova inventory plugin with new ip code
The provisioning module knows more about how nova deals with IP
addresses now. Ensure that the inventory module is similarly as smart
by separating out the logic into the openstack/module_utils.
2014-08-02 22:31:27 -07:00
Monty Taylor
4f96a372b7 Update existing nova instances with current ip
During the state check, check IP address information. This gets us
two things. The most obvious is that for direct IP management, a
change to the config will reflect in the config of the instance. But
also, if we succeed in creating the instance but fail in adding an IP,
this should let us re-run and arrive in the state we were expecting.
2014-08-02 21:13:17 -07:00
Monty Taylor
e8901aaa47 Cleaned up nova_compute documentation
Added version_added tags as well as a few more examples.
2014-08-02 20:45:35 -07:00
Monty Taylor
78d738ecf9 Add ability to filter on image and flavor names
The fun part about having multiple vendors providing the same cloud
is that while their APIs are the same, what they do with their metadata
tends to be ... fun. So in order to be able to express sanely what you
want without needing to stick tons of unreadable uuids in your config,
it turns out what sometimes you need to further filter image and flavor
names. Specific examples are (deprecated) images in HP Cloud and the
Standard and Performance flavors on Rackspace.
2014-08-02 20:31:31 -07:00
Monty Taylor
aa351e010f Specify nova image and flavor by name
Putting uuid and numberic identifies in playbooks is fragile, especially
with cloud providers who change them out from under you. Asking for
Ubuntu 14.04 is consistent, the UUID associated with that is not. Add
mutually exclusive parameters to allow for specifying images by name and
flavors by RAM amount.
2014-08-02 18:51:27 -07:00
Monty Taylor
e45119f2d0 Use mutually exclusive on nova floating ip params
ansible knows how to deal with mutually exclusive parameters, so
instead of coding that ourselves, use it.
2014-08-02 18:26:23 -07:00
Monty Taylor
724ed2713c Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-02 17:39:19 -07:00
Monty Taylor
967efdd451 Consume standard OpenStack environment settings
The OpenStack client utilities consume a set of input environment
variables for things like username and auth_url, so it's very
common for OpenStack users to have such settings set in their
environment. Indeed, things like devstack also output a shell file
to be sourced to set them. Although in a playbook it's entirely
expected that variables should be used to pass in system settings
like api passwords, for ad-hoc command line usage, needing to pass
in five parameters which are almost certainly in the environment
already reduces the utility.

Grab the environment variables and inject them as default. Special care
is taken to ensure that in the case where the values are not found, the
behavior of which parameters are required is not altered.
2014-08-02 17:39:19 -07:00
Monty Taylor
5fa9439df8 Cleanup in nova after a failed floating ip
There is a potential leak of resources if there is somehow a failure
adding a floating ip to a server. Clean up after ourselves.
2014-08-02 17:39:19 -07:00
Monty Taylor
5783a4e183 Find IPs on OpenStack clouds without floating-ips
The floating-ip extension, while pretty ubiquitous, is not a
foregone conclusion. Specifically, Rackspace, while also
served by the rax module, is a valid OpenStack cloud and can
be interacted with directly via nova interfaces.

Add support for determining public and private IPs for
OpenStack clouds that don't use floating ips by reading
the public and private keys from the addresses dict.
2014-08-02 17:39:15 -07:00
Monty Taylor
88c7027246 Add support for nova availability zones
If a cloud has availability zone support, it's possible to specify
an availability zone via the nova client. Add that as a config param.
2014-08-02 17:15:15 -07:00
Monty Taylor
e001fcb574 Pass through nova region name
If the region name is specified in the config, we need to pass it
in to the nova client constructor. Since key_name is similarly optional,
go ahead and handle both parameters the same.
2014-08-02 17:15:15 -07:00
Monty Taylor
ef33af1e22 Split nova floating-ip pool logic
The desires around getting a floating ip associated with a pool and
getting a floating ip not associated with a pool is just different
enough that following it as one set of nested ifs is tricky. Split
the function into two, one for the pool and one for the non-pool logic.
2014-08-02 17:15:15 -07:00
CaptTofu
d4688477e2 Added floating IP functionality to nova_compute 2014-08-02 17:15:15 -07:00
Lorin Hochstein
6597d005ae ec2 module: document valid states 2014-07-31 15:29:52 -06:00
James Cammarata
8ba03a7f05 Merge pull request #8174 from altruism/devel
Make ec2_group module not just fail
2014-07-31 15:02:30 -05:00
James Cammarata
97f5174c09 Check for the numeric "all" value (-1) for the rule protocol
Fixes #7832
2014-07-31 14:01:44 -05:00
James Cammarata
5cb682b3b0 Merge pull request #8363 from greenmoss/devel
Fix Docker image name parsing
2014-07-31 11:27:19 -05:00
James Laska
ff401c41c6 Several azure fixes
Several azure fixes/improvements, including:
* Improve failure message when python-azure is not installed
* Improve required argument handling
* Fixes a traceback on instance termination when the variable
'deployment' was not set.
* Fixes a traceback (#8298) when creating instances using the newer SDK
2014-07-30 16:28:13 -04:00
Michael DeHaan
a6da95ec7e Merge pull request #8353 from gdamjan/ec2-running-return-info
return the most up-to-date info about an instance when starting/stopping it
2014-07-30 16:07:50 -04:00
Dave Johnson
ceedb76f25 Parameters to disable_rollback are "true" or "false" 2014-07-30 15:48:30 -04:00
Kurt Yoder
2f74c0bade Fix Docker image name parsing
Fixes #8357
2014-07-30 14:33:01 -04:00
Damjan Georgievski
2b5c73054d return the most up-to-date info about an instance when starting/stopping it
otherwise the module will return the info about the instance that it got prior to the action taken
So if you had a task to start an instance:

      ec2:
         instance_ids: ...
         state: running
      register: ec2_info

the registered data would have empty public_dns_name, public_ip, private_dns_name, private_ip
2014-07-30 15:15:49 +02:00
Michael DeHaan
fe7d092f0b Merge pull request #8313 from sivel/issue/8250
Make sure to assign pyrax.cloudservers to cs. Fixes #8250
2014-07-28 15:48:51 -04:00
Matt Martz
938d5f210e Make sure to assign pyrax.cloudservers to cs. Fixes #8250 2014-07-28 12:44:42 -05:00
James Laska
9561cbcc8d Correct BotoServerError typo in ec2 module
Resolves a traceback due to an undefined 'BotoSeverError' exception.
2014-07-26 12:11:25 -04:00
James Cammarata
6e2c35c65c Minor indentation fixes on ec2_eip 2014-07-25 12:41:25 -05:00
James Martin
c3d42d0488 Fixes #8290. 2014-07-25 11:08:49 -04:00
Michael DeHaan
9f294530e9 Update version_added attribute on recent GCE module additions. 2014-07-19 19:08:28 -04:00
Michael DeHaan
16ed24d0c0 Merge pull request #6976 from clconway/gce-snapshots
Adds support for snapshots and extra persistent disks to the gce modules
2014-07-19 19:07:29 -04:00
Jacob Hickey
fae00fcb94 Add missing params to get_target_from_rule
get_target_from_rule was extracted from main() without enough parameters for
all the local variables it took with it from the extraction site.
2014-07-17 11:03:38 -04:00
Michael DeHaan
dc2c62c9c2 Merge pull request #8145 from amandolo/ec2_tag
Fix EC2_TAG module output structure when listing tags
2014-07-17 07:45:53 -04:00
James Cammarata
99d2e4d66c Merge branch 'patch-2' of https://github.com/napkindrawing/ansible into napkindrawing-patch-2 2014-07-16 13:46:00 -05:00
James Cammarata
56eaaec53c Merge pull request #8124 from dataxu/dev-asg-set-health-checks
Added setting of the health_check options on an existing ASG
2014-07-16 13:19:52 -05:00
Andrea Mandolo
09006cc374 Fix EC2_TAG module output structure when listing tags 2014-07-15 14:26:53 +02:00
napkindrawing
aec1aae285 New option for route53: retry_interval
The current (hard-coded) retry interval of 500 seconds can cause ansible to have excessive run-times in the case of many domains. `retry_interval` provides a way to customize the wait between retries of calls to route53.
2014-07-14 15:07:47 -04:00
James Cammarata
f20cb04a2c Adding a note about 'type' field becoming required in rax_dns_record 2014-07-14 12:30:39 -05:00
James Cammarata
b1e99c2067 Merge branch 'rax-ptr' of https://github.com/sivel/ansible into sivel-rax-ptr 2014-07-14 12:27:46 -05:00
Matt Ferrante
529c6b5f3c Added setting of the health_check options on an existing ASG 2014-07-14 13:21:02 -04:00
James Cammarata
488a337e01 Merge pull request #7478 from sivel/rax-keypair-filepath
rax_keypair module: Allow public_key to be a path to a file
2014-07-14 10:41:38 -05:00
James Cammarata
b14c77fc79 Merge pull request #7477 from sivel/rax-user-data
rax module: Support config_drive and user_data
2014-07-14 10:25:28 -05:00
James Martin
787c830835 Updated tag behavior. 2014-07-11 16:48:37 -04:00
Graham Mainwaring
2bb80002df Fixed tracebacks when datacenter not found, when notes not given, and when collecting facts after VM creation. Fixes #8067. 2014-07-10 23:05:23 -04:00
James Cammarata
165acc4897 Merge pull request #8086 from dataxu/dev-fix-typo
Bug Fix - fixed the choices typo got the ec2_asg module
2014-07-10 12:20:21 -05:00
James Cammarata
66b0621e2d Add note about changing resource_tags to required in ec2_vpc 2014-07-10 12:18:35 -05:00
James Cammarata
fce2c33c7a Merge branch 'psa-resource-tag-required' into devel 2014-07-10 12:17:39 -05:00
Matt Ferrante
ffdd69f2fa fixed the choices typo got the ec2_asg module 2014-07-10 11:01:19 -04:00
James Cammarata
d15ca75dd2 Adding version_added for new vm_hw_version field in vpshere_guest 2014-07-10 08:53:56 -05:00
James Cammarata
a398b422df Merge branch 'fix-7206' of https://github.com/hiciu/ansible into hiciu-fix-7206 2014-07-10 08:19:05 -05:00
James Cammarata
778503c859 Merge branch 'issue_7848' of https://github.com/mpeters/ansible into mpeters-issue_7848 2014-07-09 12:24:06 -05:00
James Cammarata
812098b07e Merge branch 'issue_7906' of https://github.com/mpeters/ansible into mpeters-issue_7906 2014-07-09 12:09:40 -05:00
James Cammarata
56b87e8bba Merge branch 'resource-tag-required' of https://github.com/psa/ansible into psa-resource-tag-required 2014-07-09 11:49:41 -05:00
James Cammarata
2e614c8a63 Merge branch 'bug/8057' of https://github.com/ericwb/ansible into ericwb-bug/8057 2014-07-08 14:38:35 -05:00
James Cammarata
7793bd9638 Merge pull request #8049 from ranjan/dev
Provision VM using virtual network.
2014-07-08 10:11:18 -05:00
Joe Moretti
ca7498aeb7 Add optional docker_api_version parameter to Docker Module 2014-07-08 10:06:31 -05:00
Eric Brown
7bbe3dc30c Adds an option to specify the glance endpoint type
Some environments that utilize an SSL terminator with a self-signed
certificate can use the publicURL without getting certificate
verify errors.  This allows using the internalURL with in my case
is HTTP and not HTTPS.

Closes issue: #8057
2014-07-08 00:30:40 -07:00
James Cammarata
0a33ac418a Merge pull request #8038 from caphrim007/correct-missing-msg-argument
Fix missing msg argument
2014-07-05 00:30:20 -05:00
James Cammarata
4ad4c8802a Merge pull request #8036 from sqs/remove-fragile-RDS-instance-type-validation
Remove validation of RDS DB instance type names because Amazon frequently adds new ones
2014-07-05 00:29:12 -05:00
James Cammarata
62456f5e27 Merge pull request #8022 from psa/vpc-gateway-peering
Fix for #7368 breaks peering connections. Unreak them.
2014-07-05 00:08:04 -05:00
Tim Rupp
821c133ff8 Fix missing msg argument
The following patch adds a missing 'msg=' syntax. An exception is raised
in ansible if this block is reached during the execution of the module

    TypeError: fail_json() takes exactly 1 argument (2 given)

With the 'msg=' added, you get a more informative error. For example

    msg: No settings provided to update_domain().
2014-07-04 14:00:15 -05:00
Quinn Slack
73c65e3db8 Remove validation of RDS DB instance type names because Amazon frequently adds new ones 2014-07-03 15:57:28 -07:00
Ranjan Kumar
8ef95374e7 Provision VM using virtual network. 2014-07-03 15:36:51 +05:30
Paul Armstrong
7b40939231 Fix for #7368 breaks peering connections. Unreak them. 2014-07-02 23:13:29 +00:00
James Cammarata
0a3e8c8e36 Merge pull request #7896 from botify-labs/feature/add-instance-monitoring-to-ec2-lc
Adds support for Cloudwatch detailled monitoring in ec2_lc module.
2014-07-02 09:50:27 -05:00
James Cammarata
2b1af586a2 Make sure subnets and route_tables are initialized before using
Fixes #7712
2014-07-02 09:26:51 -05:00
Paul Armstrong
714a9fda64 Make resource_tags required and do whitespace cleanup 2014-07-01 12:33:06 -07:00
Lorin Hochstein
2740ec9f30 ec2_ami_search: new EBS types
In ec2_ami_search module, add support for the new SSD-backed EBS (ebs-ssd)
volume as well as support for provisioned IOPS (ebs-io1).
2014-06-29 16:53:52 -04:00
James Cammarata
935acf9efb Merge pull request #7925 from devpopol/fixes/api_error
fixes the now-incorrect module for ApiError -- noticed since 0.3.2
2014-06-25 22:33:22 -05:00
Tim Ruffles
5aba816396 grammar fix 2014-06-25 14:00:01 +01:00
Stephen Paul Suarez
1fa9c2adcc support old and new versions of APIError 2014-06-25 14:52:00 +08:00
Stephen Paul Suarez
8efce857b8 fixes the now-incorrect module for ApiError
https://github.com/dotcloud/docker-py/blob/0.3.2/docker/errors.py
- ApiError is now(0.3.2) under the docker.errors
2014-06-25 14:20:07 +08:00
James Cammarata
c61d04dd1f Check to make sure key exists in tag list before using it
Fixes #7910
2014-06-24 13:54:33 -05:00
Michael Peters
0d7a99d114 Fixing issue #7906
Catch any InvalidInstanceID.NotFound errors coming from the boto library
when trying to find the newly created instance. When this happens We should
just wait and try again.
2014-06-23 16:58:07 -04:00
Frédéric de Villamil
b535c2b2ca Adds support for Cloudwatch detailled monitoring in ec2_lc module.
Enabling detailled monitoring in the launch config is mandatory to be able to activate cloudwatch in the to be created autoscaling group.
2014-06-23 21:00:58 +02:00
James Cammarata
39e020abcc Merge pull request #7904 from loglevel9/7903
force evaluation of vars memory_mb, num_cpus to be int fixes #7903
2014-06-23 12:35:08 -05:00
James Cammarata
91d2fd89f7 Merge branch 'botify-labs-bug/fix-health-check-to-zero-bug/7898' into devel 2014-06-23 12:32:01 -05:00
Dann Bohn
cfea98e90b force evaluation of vars memory_mb, num_cpus to be int fixes #7903 2014-06-23 11:16:03 -04:00
Frédéric de Villamil
b4fc3cdb9a Adds support for health_check_period and health_check_type in ec2_asg module.
Default is set to 300 seconds, which is AWS default.

This PR fixes a bug (#7898) where instances created within an autoscaling group using the `ec2_asg` module gets immediately terminated because the `health_check_period` is set to 0, which causes the instance to be checked without having the time to actually boot.

Adding `health_check_type` is needed because you may want to check your instance health against an ELB instead of just EC2 default cloudwatch.
2014-06-23 12:09:31 +02:00
Frédéric de Villamil
72035367fe Adding support for spot instances in ansible_lc.
AWS allows to define launch configuration with spot instances. This is also natively supported by boto (see http://boto.readthedocs.org/en/latest/ref/autoscale.html)
2014-06-23 09:05:47 +02:00
James Cammarata
649cd5838c Conditionally try to get ebs_optimized parameter from instance 2014-06-20 14:26:21 -05:00
Yap Sok Ann
79c948e73d ec2_vpc: Fix error when using InstanceId as a route gateway.
See https://github.com/ansible/ansible/issues/7368

Fixes #7368
2014-06-20 14:08:22 -05:00
James Cammarata
5006ef9732 Merge branch 'exit_json' of https://github.com/psa/ansible into psa-exit_json 2014-06-20 13:59:55 -05:00
Michael Peters
dda0889aec Use the right name for the vpc_id parameter
Fixes #7853
2014-06-20 10:49:41 -05:00
Michael Peters
ef11416771 This should fix issue #7848
We need to catch any InvalidVpcID.NotFound errors and treat them
just like getting back a vpc that's not "available"
2014-06-19 14:25:05 -04:00
James Cammarata
43e661df0b Merge pull request #7829 from bennojoy/asg_policy
return properties of the newly created scaling policy
2014-06-19 10:38:38 -05:00
James Cammarata
56583f6006 Merge pull request #7827 from willthames/delay_tagging_in_ec2
ec2 module: Delay instance tagging to later in the instance creation process
2014-06-19 10:37:59 -05:00
James Cammarata
606ad373da Merge branch 'issue_7828_rds_param_group' into devel 2014-06-19 10:31:33 -05:00
Benno Joy
ce939b77a2 return properties of the newly created scaling policy 2014-06-19 08:09:39 +00:00
James Cammarata
a3c79eebb7 Fixing doc typos and adding version_added for tags param in ec2_asg 2014-06-19 00:10:59 -05:00
James Cammarata
ff6d21919f Merge branch 'ec2_asg_info' of https://github.com/dataxu/ansible into dataxu-ec2_asg_info 2014-06-19 00:09:11 -05:00
James Cammarata
46ba655cfa Handle integer param values that are calculated values
Fixes #7828
2014-06-19 00:04:04 -05:00
willthames
e45858ba7f Delay instance tagging to later in the instance creation process
Tagging recently created instances can result in
InvalidInstanceID.NotFound errors.

By delaying the tagging until the last part of instance creation,
we should be typically more fortunate (avoiding all such race
conditions might need more work)
2014-06-19 11:21:28 +10:00
Roberto Migli
ab9d6ad38b Fixed error in docs 2014-06-18 18:29:06 +02:00
Roberto Migli
0353ccb603 Fixed typo in docs 2014-06-18 18:22:50 +02:00
James Cammarata
d604bb6dc6 Merge pull request #7755 from sivel/rax-asg-normalize-nic
module rax_scaling_group: safe normalization of nics
2014-06-16 11:42:44 -05:00
Brice Leroy
f65f5bc4c7 Fix task description 2014-06-13 15:15:29 -07:00
Matt Martz
b29535c981 Perform safe normalization of nics to use uuid 2014-06-13 12:17:42 -05:00
James Cammarata
de94863eb1 Catch error in azure related to a failed deployment when creating a vm 2014-06-12 10:25:31 -05:00
James Cammarata
09b16c987d Merge branch 'devel' of https://github.com/matlockx/ansible into matlockx-devel 2014-06-12 09:32:03 -05:00