Commit graph

954 commits

Author SHA1 Message Date
Monty Taylor
38beae3b19 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
a05804bf8d 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
a12086f1bf 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
c6975552d7 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
b80be42ed9 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
65adb6465b 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
3fe1083192 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
d17a1b5c19 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
ac420fd483 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
2611246b89 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
6045923cab 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
1e0e7a6b28 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
8938222029 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
10a50b4a61 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
6da266f64c Added floating IP functionality to nova_compute 2014-08-02 17:15:15 -07:00
Lorin Hochstein
42df1f890a ec2 module: document valid states 2014-07-31 15:29:52 -06:00
James Cammarata
22f3f2b74a Merge pull request #8174 from altruism/devel
Make ec2_group module not just fail
2014-07-31 15:02:30 -05:00
James Cammarata
745b28072a Check for the numeric "all" value (-1) for the rule protocol
Fixes #7832
2014-07-31 14:01:44 -05:00
James Cammarata
00ce87484b Merge pull request #8363 from greenmoss/devel
Fix Docker image name parsing
2014-07-31 11:27:19 -05:00
James Laska
7288a6095b 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
19bf388a17 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
76c925c22a Parameters to disable_rollback are "true" or "false" 2014-07-30 15:48:30 -04:00
Kurt Yoder
8ee6906885 Fix Docker image name parsing
Fixes #8357
2014-07-30 14:33:01 -04:00
Damjan Georgievski
16e5b1b9e6 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
f948a94f51 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
571f343e7d Make sure to assign pyrax.cloudservers to cs. Fixes #8250 2014-07-28 12:44:42 -05:00
James Laska
d51e10a3f4 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
1134f6169c Minor indentation fixes on ec2_eip 2014-07-25 12:41:25 -05:00
James Martin
1453f7b013 Fixes #8290. 2014-07-25 11:08:49 -04:00
Michael DeHaan
2769b3d0b2 Update version_added attribute on recent GCE module additions. 2014-07-19 19:08:28 -04:00
Michael DeHaan
98c6688343 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
ea9af2cbb1 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
3aa10d9db5 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
68e59332c7 Merge branch 'patch-2' of https://github.com/napkindrawing/ansible into napkindrawing-patch-2 2014-07-16 13:46:00 -05:00
James Cammarata
02a6d5224f 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
d346b76fb7 Fix EC2_TAG module output structure when listing tags 2014-07-15 14:26:53 +02:00
napkindrawing
fe74cb0ad0 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
49d07ca4cc Adding a note about 'type' field becoming required in rax_dns_record 2014-07-14 12:30:39 -05:00
James Cammarata
b2f09d3989 Merge branch 'rax-ptr' of https://github.com/sivel/ansible into sivel-rax-ptr 2014-07-14 12:27:46 -05:00
Matt Ferrante
66d3d75b35 Added setting of the health_check options on an existing ASG 2014-07-14 13:21:02 -04:00
James Cammarata
d52b50cb03 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
8753849959 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
Graham Mainwaring
fb83bdffa8 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
4d86bbe6dc 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
3a6d00f81d Add note about changing resource_tags to required in ec2_vpc 2014-07-10 12:18:35 -05:00
James Cammarata
2184b15542 Merge branch 'psa-resource-tag-required' into devel 2014-07-10 12:17:39 -05:00
Matt Ferrante
03fc2714f1 fixed the choices typo got the ec2_asg module 2014-07-10 11:01:19 -04:00
James Cammarata
3e7d91723f Adding version_added for new vm_hw_version field in vpshere_guest 2014-07-10 08:53:56 -05:00
James Cammarata
87d1cdd035 Merge branch 'fix-7206' of https://github.com/hiciu/ansible into hiciu-fix-7206 2014-07-10 08:19:05 -05:00
James Cammarata
0798f3cda4 Merge branch 'issue_7848' of https://github.com/mpeters/ansible into mpeters-issue_7848 2014-07-09 12:24:06 -05:00