Commit graph

5523 commits

Author SHA1 Message Date
Michael DeHaan
c022855237 Update openstack module parameters to read 1.8 for version_added on new attributes. 2014-08-08 11:07:27 -04:00
Michael DeHaan
1511f9e286 Merge branch 'nova-compute-enhancements' of git://github.com/emonty/ansible into devel
Conflicts:
	lib/ansible/module_utils/openstack.py
	library/cloud/nova_compute
2014-08-08 11:05:13 -04:00
Michael DeHaan
ca7b0f3673 Merge pull request #8449 from emonty/feature/openstack-auth-handling
Handle auth arguments across openstack modules consistently
2014-08-08 10:56:21 -04:00
Alexey Wasilyev
6bd986b80e Fix for #8344 2014-08-08 18:42:40 +04:00
Michael Peters
dfb7e56282 better way to document "state" choices 2014-08-08 09:35:15 -04:00
Michael Peters
971d72150b Small doc addition to ec2_group to show the various values for "state" 2014-08-08 09:20:23 -04:00
James Martin
6137b1909c Implements the proper method for terminated an auto scale group. 2014-08-07 14:50:21 -07:00
Will Thames
de16785b8c Unarchive should work when parent directory is not writable
Correct unarchive so that the checks for writeability are
sensible.

Added a test for when parent directory is not writable
2014-08-07 16:11:02 +10:00
Matt Martz
050b2e5386 Dedupe PTR record related code in rax_dns_record 2014-08-06 16:47:33 -05:00
Matt Martz
a96fb6fab9 Use new shared rax_to_dict and normalize the services key into something that makes sense 2014-08-06 16:28:42 -05:00
Matt Martz
07d80b5f1e Move additional rackspace common code into module_utils/rax.py 2014-08-06 16:26:48 -05:00
James Martin
efbf3cfd69 Adds support for public_ip boolean for launch configurations. 2014-08-06 14:18:56 -07:00
Christophe Biocca
4f43607c9b Ensure named packages not in top level are marked as missing. 2014-08-06 10:52:58 -04:00
Serge van Ginderachter
961d4b0d6c execute the mount after path validation
This avoids a stale situation where name/path contains some impossible path,
but gets configured (faultly) in fstab, and the module only fails after that,
when creating that path.
2014-08-06 10:52:08 +02:00
Michael DeHaan
f0ae6204e4 Merge pull request #8455 from nicocesar/version_check
if python >=2.7  use the option allow_no_value=True for ini_file.
2014-08-05 21:00:37 -04:00
Michael DeHaan
f228e0bff4 Some stray doc tweaks with file modules. 2014-08-05 20:45:16 -04:00
Michael DeHaan
d78e16ff36 Move doc fragments back into file module. 2014-08-05 20:45:16 -04:00
James Cammarata
18059b39d7 Merge branch 'asg_update' of https://github.com/jsmartin/ansible into jsmartin-asg_update 2014-08-05 10:20:29 -05:00
Nico Cesar
31b34906d0 if python >=2.7 use the option allow_no_value=True for ini_file. 2014-08-05 10:56:20 -04:00
Monty Taylor
b91f129d87 Pass region_name to nova_keypair
Again, on things with regions, when we're configuring it, we should
actually pass it in to the compute constructor.
2014-08-04 21:01:10 -07:00
Monty Taylor
8a6a8d8af2 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-04 20:55:30 -07:00
Monty Taylor
f254c915f0 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-04 20:52:29 -07:00
James Cammarata
6ff1d10e5f Merge branch 'fix_eip_regression' of https://github.com/jsmartin/ansible into jsmartin-fix_eip_regression 2014-08-04 22:48:46 -05:00
Jonathan Mainguy
e7cbbd8b73 Removed max 8192 bytes, fixes #8424 2014-08-04 20:55:49 -04:00
James Martin
10011b361b Updated docs for health_check_type parameter. 2014-08-04 13:25:41 -07:00
James Martin
6f5eff0c5a Fixes a regression in 1453f7b013 that would causes unecessary wait_timeouts in certain module operations when a given IP address could not be found. Now wait_timeouts are only active during address associations of newly provisioned EIPs.
Cleanup and comment of main().

s Added wait timeout.
2014-08-04 12:21:28 -07:00
Michael DeHaan
4a9387f976 Merge pull request #8415 from ebargtuo/patch-1
Fix a typo in gem module documentation
2014-08-04 14:22:30 -04:00
Michael DeHaan
43fb9e31ec Merge pull request #8409 from Jmainguy/hostname_8339
Fixes issue #8339 where Scientific Linux incorrectly tries to use Fedora...
2014-08-04 14:14:22 -04:00
Michael DeHaan
04568cd767 Revert ""allow_no_value=True" for ini_file module so /etc/my.cnf can be read without a problem"
This reverts commit cbdc9f1153.

Code needs to make allowances for particular python versions and try/except
around this block.
2014-08-04 11:49:55 -04:00
Michael DeHaan
c05a5eba58 Add version_added attribute for regexp parameter. 2014-08-04 07:51:29 -04:00
Takeharu Oshida
b42ff30505 Escape "_" in database name for "SHOW DATABASES" statement 2014-08-04 20:15:58 +09:00
Will Thames
7f11c3d7cc Improved handling of already terminated instances
It is possible to create an instance, terminate the instance and then
attempt to recreate the instance with the same parameters. In this case
`ec2.run_instances` returns a reservation list containing the instance ids
but the logic gets stuck waiting for the instance to exist in the call to
`ec2.get_all_instances`, even if wait is no).
2014-08-04 11:58:57 +10:00
Monty Taylor
5f48bf1da7 Pass region_name to nova_keypair
Again, on things with regions, when we're configuring it, we should
actually pass it in to the compute constructor.
2014-08-03 10:43:39 -07:00
Monty Taylor
b89cac909a Rename nova filters to include and exclude
jeblair says: "having 'flavor_filter' be inclusive, and 'image_filter'
be exclusive is kind of mind blowing" and I agree. Let's be more
explicit.
2014-08-03 09:21:14 -07:00
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
ebargtuo
e6090d2f9e Fix a typo in gem module documentation 2014-08-03 14:52:24 +02: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