Commit Graph

376 Commits (bdcf310e5d727452344f0351d948d7fdda6ff12d)

Author SHA1 Message Date
Andrea Tartaglia 1d0a629dcc Fixed docs for cloud modules (#23745)
* Fixed docs for cloud modules

* removed blank line in ec2_snapshot_facts
2017-04-27 12:01:11 +01:00
Jamie Lennox 92dc61e869 Allow modifying security groups in os_server (#23207)
When the security groups specified to the os_server module change they
should be updated on the server. This will require shade 1.19 where the
server security group commands were added.

Fixes: #23206
2017-04-12 18:19:15 +02:00
Matt Clay 48eeab8a53 Fix errors reported by pylint. (#23282)
* Fix pylint misplaced-bare-raise errors.
* Fix pylint return-in-init error.
* Fix pylint bad-format-character error.
* Fix pylint too-many-format-args errors.
* Fix pylint too-few-format-args errors.
* Fix pylint truncated-format-string error.
2017-04-06 16:58:16 -07:00
Monty Taylor 443102c9f0 Remove old deprecated OpenStack modules (#23002)
These were deprecated back in the 1.x timeframe, so have been deprecated
for the 2 cycles required. They also do things wrong and should be
avoided anyway. Go ahead and remove them.
2017-03-31 15:17:13 +02:00
Jon "The Nice Guy" Spriggs 8e0c11ebc4 Add examples in os_server module showing userdata (#22997)
* Add examples in os_server module showing userdata

Added an example using Bash and also using Cloud-init. Also, showing using {% raw %} and {% endraw %} to provide a pointer to those hitting similar issues to the ones I had.

* Removed erronious whitespace
2017-03-27 14:44:13 -05:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Matt Martz 02f66b9369 E1 legacy pep8 fixes (#21933)
* E1 pep8 fixes

* e111 fix for rds.py
2017-03-21 21:19:40 -05:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
John R Barker e5b990a55a Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2017-03-09 16:20:25 +00:00
Kamil Cholewiński ec9582fd83 Fix invocations of module.fail_json with no msg=
Bonus: add missing % in cs_nic.py
2017-03-07 10:17:14 -05:00
Ricardo Carrillo Cruz 43aef4e868 Do not pass filters to os_group get_group call (#22321)
As default is set to None, the get_group call doesn't find groups
on domain 'None'.
Only pass filters in case we pass domain_id value.
2017-03-06 19:15:00 +01:00
Chenjun Shen 4ba131d442 Add quota for the number of floating IP's to allow in Network. (#21471)
* Add quota for the number of floating IP's to allow in Network.

* Add nova_floating_ips and neutron_floating_ips aliases to avoid confusion.

* rename aliases to compute_floating_ips and network_floating_ips.
2017-02-28 14:47:57 +01:00
kulawczukmarcin 30bee433c3 Extend os image container and disk formats (#21275)
* Support docker as an os_image container format

As says openstack documentation
http://docs.openstack.org/developer/glance/formats.html
docker can be a container format for glance image.

* Support vhdx and ploop as an os_image container formats

As stands in  openstack documentation
http://docs.openstack.org/developer/glance/formats.html
those are supported disk formats for glance image.
2017-02-28 14:01:52 +01:00
Simon Li ef7dd0cb2c Set os_server metadata on existing instances (#19318)
* Update metadata on existing openstack instances

This adds or updates existing keys, but doesn't remove them
Fixes #5500

* Set meta to {} if None

* Move common metadata parsing into a method
2017-02-24 12:46:03 +01:00
Dave Buckley 776116e809 allow server facts to be retrieved by nova UUID (#20924)
* allow server facts to be retrieved by nova UUID

* update docs to state that a nova UUID can be passed to 'server'
2017-02-23 20:34:46 +01:00
kuboj 551a765ea5 added ability to modify nova flavor metadata in os_nova_flavor module (#20091)
* added ability to modify nova flavor metadata

* documentation for os_nova_flavor module fixed
2017-02-23 12:58:13 +01:00
camradal f7e426e636 os_auth: display proper error message for exceptions (#20891) 2017-02-23 12:04:43 +01:00
Colleen Murphy 352815ecbb Add domain_id parameter to openstack os_group (#20609)
Previously, the os_group module did not have any way to specify under
which domain a group should be created. This meant that a group could
only be created for the default domain. The keystone API supports the
domain_id parameter for group creation[1] as does the shade library[2]
so this patch adds the support in the ansible module.

[1] http://developer.openstack.org/api-ref/identity/v3/index.html?expanded=create-group-detail#create-group
[2] http://docs.openstack.org/infra/shade/usage.html#shade.OperatorCloud.create_group
2017-02-23 10:57:07 +01:00
Paulo Matias 46fee994d1 os_subnet: add support for using the default subnetpool (#20191)
Allows to pass use_default_subnetpool instead of a cidr. This is
required when adding an IPv6 subnet if BGP or prefix delegation is
enabled.
2017-02-21 14:27:59 +01:00
Monty Taylor 9bf33e56dd Move availability_zone docs to each OpenStack module (#21540)
* Move availability_zone docs to each OpenStack module

This argument is in the central list for hysterical raisins (mostly me
being a doofus) but is used in almost none of them. Document it
explicitly in each module to stop the confusion.

* Fix two docs formatting bugs
2017-02-17 21:49:03 +01:00
Matt Martz 7c00346714 Validate EXAMPLES as YAML 2017-02-15 13:01:43 -08:00
Brian Coca 74e8aa22af no log passwords (#21229)
* no log passwords

* removed unneeded no_log
2017-02-10 15:13:59 -05:00
Tatsuya Hoshino 41f3680dfd Mask login_password in log (#21199) 2017-02-09 10:16:54 -08:00
Matt Martz 829c0b8f62 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2017-02-02 11:45:22 -08:00
Matt Clay cb76200c7d PEP 8 E111 & E114 cleanup. (#20838) 2017-01-30 15:01:47 -08:00
Logan V 7ef92e4c7a os_network: Allow freeform provider_network_type string
Prescribing types is not necessary as the underlying shade library
does not do so, and the Neutron API will inform us if a disallowed
or non existent type is used.

Fixes #20830
2017-01-30 13:58:41 -06:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay 63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
David Shrewsbury c950767898 Merge pull request #19320 from manics/ansible-modules-core/pull/5176
Allow creation of Openstack volumes from an existing volume
2017-01-27 10:12:00 -05:00
Colleen Murphy 0890559ab5 Fix OpenStack keystone domain idempotency (#20637)
Without this patch, the os_keystone_domain module is not idempotent if
the description is empty because the description parameter is None in
ansible, but the keystone client returns an empty unicode string.
Following the example of other OpenStack modules, this patch fixes the
issue by checking whether the module parameter is None before going on
to check its value.
2017-01-25 16:57:13 +00:00
Alberto Murillo Silva 5438e0463c Fix typos in os_quota.py
* Replace 'auota' with 'quota'
* Replace 'polcies' with 'policies'
2017-01-18 11:21:22 -06:00
Mohammed Naser ca9387dc0b Pop password from os_user params
The password param conflicts with os-client-config's password grabbing.
The rest of the params really probably should also be popped - but
keeping this just to password for now. Will follow up with a change that
does an audit of all the os_ modules

This patch was previously contributed by @emonty to the former
ansible-modules-core repo however since the merge, it was closed
and not completed.  This patch includes the necessary changes cleaned
up to work with the latest release of Ansible.  This has been
tested to work internally
2017-01-14 08:32:27 -05:00
Michael 583136980d Adding os_quota support to the OpenStack modules (#19590)
* Adding os_quota support to the OpenStack modules

* Updated descriptions in doc string

* Updated version_added to 2.2 based on CI test feedback

* ready_for_review

* Changed exit_json to remove updating host var facts

* Updated version_added and docs

* Added support for state:absent paramater

This includes:
- Updated the doc string with the paramater information
- Updated the example section showing how to reset a project quota
- Added code support to handle state:absent
- Encountered a bug in delete_network_quota where it returns
an error instead of the current quota. Added support code to
workaround that issue until a proper fix can be added.

* Updated security groups kwarg to reflect Neutron kwargs

* Updated iteritems to be items based on CI feedback

* Updated descriptions and import statements based on code review feedback

* Updated CHANGELOG.md to include os_quota under new mods.
2017-01-08 18:55:12 +00:00
John R Barker 40ecc3188f Use M() to link to the replacement module. (#19976) 2017-01-06 16:21:39 +00:00
Paulo Matias d51064a05e os_user: fix typo (self is not defined) 2017-01-04 16:47:43 -08:00
kuboj 5e17eb3053 added os_aggregate module (#19374)
* added os_aggregate module

* various fixed to os_aggregate module

based on comments by @emonty (https://github.com/ansible/ansible-modules-extras/pull/2873)

* updated shade version requirement
2016-12-29 12:51:34 -05:00
Mike Perez 6d32dba3c3 Verify image exists when passed for server creation
If the image doesn't exist, we should fail and raise the error clearly. Fixes #18921
2016-12-22 22:37:59 +00:00
Simon Li de714e5af8 Use `volume` as input parameter name to match `image`. 2016-12-13 23:25:21 +00:00
Simon Li 9bfa2963b6 Add version_added 2.3 as suggested by shippable 2016-12-13 23:25:20 +00:00
Simon Li 178811d174 Return an error if volume_src wasn't found 2016-12-13 23:25:20 +00:00
Simon Li e861195773 Add volume_src to os_volume
Depending on the OpenStack installation it may be quicker to create a volume from an existing volume (copy-on-write) compared to from a snapshot (allocating a completely new volume).

This adds a new `volume_src` parameter to the `os_module` which accepts a volume id or name.
2016-12-13 23:25:19 +00:00
Carlos E. Garcia 0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Matt Clay c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata fa5386c488 Some additional module cleanup of mistakes made during merging 2016-12-08 11:35:20 -05:00
James Cammarata 14833f1c7a A few more organizational cleanups from the repo merge 2016-12-08 11:35:19 -05:00
James Cammarata 011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
James Cammarata 8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati ca047c3881 Unquote urls in YAML - cloud (#5797) 2016-12-08 11:25:34 -05:00
Monty Taylor 509846e6d6 Add a few lines about testing (#5662) 2016-12-08 11:25:31 -05:00
Sam Doran 895179929c Examples syntax batch6 (#5623)
* Change example syntax on os_auth module

* Change example syntax on os_client_config module

* Change example syntax on os_image_facts module

* Change example syntax on os_networks_facts module

* Change example syntax on os_nova_flavor module

* Change example syntax on os_object module

* Change example syntax on os_server module

* Change example syntax on os_subnet_facts module

* Change example syntax on rax_files module

* Change example syntax on rax_files_objects module

* Change example syntax on mysql_db module

* Change example syntax on file module

* Change example syntax on uri module

* Change example syntax on cl_bond module

* Change example syntax on cl_bridge module

* Change example syntax on cl_img_install module

* Change example syntax on cl_interface module

* Change example syntax on cl_license module

* Change example syntax on cl_ports module

* Remove trailing colon
2016-12-08 11:25:31 -05:00
Jesse Keating 4c3f8cbd92 Do not require password when deleting os_user (#5601)
I broke backwards compat with the addition to define when a password
should be updated. It was requiring that a password value be passed when
deleting a user, which seems silly.

This moves the argument logic out of the argument spec and into when it
would be needed, when state is present.
2016-12-08 11:25:31 -05:00
Sam Doran 38c0769abb Examples syntax batch5 (#5622)
* Change example syntax on supervisorctl module

* Change example syntax or _ec2_ami_search module

* Change example syntax on cloudformation module

* Change example syntax on ec2 module

* Change example syntax on ec2_facts module

* Change example syntax on ec2_eip module

* Change example syntax on rds module

* Change example syntax on route53 module

* Change example syntax on s3 module

* Change example syntax on digital_ocean module

* Change example syntax on docker_service module

* Change example syntax on cloudformation module

* Change example syntax on gc_storage module

* Change example syntax on gce module

* Change example syntax on gce_mig module

* Change example syntax on _glance_image module

* Change example syntax on _keystone_user module

* Change example syntax on _nova_keypair module

* Change example syntax on _quantum_floating module

* Change example syntax on _quantum_floating_ip_associate module

* Change example syntax on _quantum_network module

* Change example syntax on _quantum_router module

* Change example syntax on _quantum_router_gateway module

* Change example syntax on _quantum_router_interface module

* Change example syntax on _quantum_subnet module

* SQUASH _quantum_subnet

* Add missing quotes
2016-12-08 11:25:31 -05:00
Lars Van Casteren 0a435058a5 Docs update for `os_security_group` (#5531)
The example used equal characters and not colon characters.
2016-12-08 11:25:27 -05:00
jctanner 06e1141106 replace type() with isinstance() (#5541)
Replace all use of type() with isintance()

Addresses https://github.com/ansible/ansible/issues/18310
2016-12-08 11:25:27 -05:00
Yair Fried 7eeb3445a4 Expose internal_network in os_floating_ip (#5510)
* Expose internal_network in os_floating_ip

Shade project has finally exposed this argument so now this module
matches old quantum_floatingip module's capabilities.

Use "nat_destination" term instead of "internal_network" to match shade
terminology.

* Add (private|internal)_network aliases to os_floating_ip

* Fix typo in os_floating_ip
2016-12-08 11:25:27 -05:00
Abel Boldú 6077028560 Add uplink provider type (#5282) 2016-12-08 11:25:26 -05:00
Jesse Keating 0ec56bb563 Add update_password argument to os_user (#5219)
There is a desire to not have this module always result in a change if a
password argument is supplied. The OpenStack API does not return a
password back when we get a user, so we've been assuming that if a
password argument was supplied, we should attempt to change the password
(even if nothing else is changing), and that results in a "changed"
state. Now we will only send along a password change attempt if the user
wants one (the default to match history).

Fixes #5217
2016-12-08 11:25:26 -05:00
Ricardo Carrillo Cruz 33d7745794 Add rebuild support to os_server_actions (#4289)
Fixes #2714
2016-12-08 11:25:25 -05:00
Ricardo Carrillo Cruz 10d662ea1b Refactor domain/project handling on os_user module (#5212)
The keys returned by user objects for default domain and
default project are respectively default_domain_id and
default_project_id.
We need to gather those IDs in case the user passed names, so we
can then compare with the user object on the needs_update helper
function.
2016-12-08 11:25:21 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
David Shrewsbury d0f7af4b09 Fix os_network's create_network() call for older shade versions (#5058)
A value for the project_id parameter to shade's create_network()
call was always being sent, even if no value for 'project' was
supplied. This was breaking folks with older versions of shade
(< 1.6).

Fixes PR https://github.com/ansible/ansible-modules-core/issues/3567
2016-12-08 11:25:14 -05:00
David Shrewsbury 56211bd7ed Correct reuse_fips param to reuse_ips (#4939)
This new parameter was incorrectly named. Fixing to match the expected
name in the shade library.
2016-12-08 11:25:12 -05:00
indispeq ecb05b03d4 Fix openstack security group rule vrrp choice apostrophe error (#4750)
Fixes #4444 that was erroneously closed and thought fixed
2016-12-08 11:25:11 -05:00
Monty Taylor 7fe300bb29 Expose the reuse_fips flag on os_server (#4849)
* Expose the reuse_fips flag on os_server

* Remove useless line
2016-12-08 11:25:06 -05:00
David J Peacock 14fb0e4136 description expanded for 112, AKA VRRP protocol) (#4645)
* description expanded for 112, AKA VRRP protocol)

* corrected syntax for description for IP protocols
2016-12-08 11:25:02 -05:00
Arun prasath 7a7ac2ee83 Fixes bug #4546 - Made password optional (#4574) 2016-12-08 11:24:55 -05:00
David J Peacock bcc738bd0d Fix #4412: os_security_group_rule support numbered protocols (#4444) 2016-12-08 11:24:55 -05:00
Karthik Suresh 4d7d3cdbb1 Removing duplicate name: parameter possible typo (#4525)
Removed name:parameter in documentation. Possible typo.
2016-12-08 11:24:52 -05:00
Monty Taylor f441e2c1a9 Rename a confusing variable
I had to read the two lines in question twice. That might just make me
dumb, but if I'm dumb, someone else might be too.
2016-12-08 11:24:46 -05:00
yfried-redhat b1ee47f358 Make os_floating_ip module idempotent
Current module fails when tries to assign floating-ips to server that
already have them and either fails or reports "changed=True" when no
ip was added

Removing floating-ip doesn't require address

Server name/id is enough to remove a floating ip.
2016-12-08 11:24:44 -05:00
Toshio Kuratomi 0364831c22 Remove version-added on name field.
This parameter was actually added in 2.0.  It's just that the
documentation in previous versions of the module were wrong (it said the
name was  "network" rather than "name.)  I've renamed the parameter in
the documentation of prior versions so ansible-module-validate should no
longer think that this is a new parameter.
2016-12-08 11:24:44 -05:00
David Shrewsbury 37edf33955 Fix bug in os_router.py when router is not actually updated. (#4107)
The shade update_router() call will return None if the router is
not actually updated. This will cause the module to fail if we
do not protect against that.
2016-12-08 11:24:43 -05:00
Rene Moser 5e3249b244 os_server, doc: add version added for delete_fip
Also see #3509
2016-12-08 11:24:42 -05:00
David Shrewsbury 530fd1365a Allow os_server to delete FIP (#3509)
The os_server module could automatically generate a floating IP for
the user with auto_ip=true, but we didn't allow for this FIP to be
automatically deleted when deleting the instance, which is a bug.
Add a new option called delete_fip that enables this.
2016-12-08 11:24:42 -05:00
Patrick Uiterwijk 6b4359080e nova_compute: indicate argument type (#4070)
Without this, ansible 2.1 will convert some arguments that are
meant to be dict or list type to their str representation.

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2016-12-08 11:24:41 -05:00
Graham Goldstein 9632b47a85 Change documented options for os_networks_facts (#3970)
* Change documented options for os_networks_facts

os_network_facts currently lists 'network' as an available option, taking the Name or ID. In Ansible 2.0.2 to 2.2.0, this is not valid. Options 'name' and 'id' should be used instead.

* Update os_networks_facts.py

* Update os_networks_facts.py

Set version_added to the only accepted value

* Update os_networks_facts.py

Removed inappropriate 'ID' parameter
2016-12-08 11:24:39 -05:00
Mario David 88e4e1af18 add project to os_router (#3869)
* add project to os_router

* version_added fix

* correct place of version_added

* remove extraneous else

* * add shade version dependency check
* option project only on router creation

* * fix shade minimal version
* remove pop of option project

* * fix square brackets
* delete router by router_id
2016-12-08 11:24:38 -05:00
@ 7960e99310 Fixing open stack compile time errors irt exception handling for Python 3 (#3848) 2016-12-08 11:24:34 -05:00
Ghe Rivero 3ae6583510 Make add ip_floating_ip idempotent
Closes issue #1858
2016-12-08 11:24:31 -05:00
Alvaro Aleman 2f2f80ad4c Fix can_update test in os_subnet (#3664) 2016-12-08 11:24:31 -05:00
René Moser 5fc7bc45ac Add no_gateway_ip option to os_subnet module (#3736)
no_gateway_ip option can provide subnet that is not having a gateway.
fixes #1880
2016-12-08 11:24:31 -05:00
John R Barker d13046a905 ansible-validate-modules part 4: Enable check on ansible-modules-core (#3526)
* Call ansible-validate-modules

* Correct quotes + add newline
2016-12-08 11:24:26 -05:00
tonyqui cb9df31ef3 Fixing a typo, floating-ips has been used instead of floating_ips (#3540) 2016-12-08 11:24:23 -05:00
Donovan Jones 8274f55818 Make remote_group handle name and id in cloud/openstack/os_security_group_rule.py
* Make remote_group handle name and id

* fix regression breaking os_security_group_rule with no remote_group
2016-12-08 11:24:18 -05:00
John Barker d531eb146d Replace BOOLEANS with true/false 2016-12-08 11:24:17 -05:00
Ricardo Carrillo Cruz 682d97b765 Create subnet by domain
A cloud/domain admin should be able to create a subnet on any
project it is granted on.
This change adds the 'project' parameter that accepts either
a name (admin-only) or id.
2016-12-08 11:24:17 -05:00
Ricardo Carrillo Cruz eecceaef6e Add project parameter to os_network
A cloud/domain admin should be able to create a network on any project
it is granted to.
This changes adds the possibility to pass either a project ID or
project name.
2016-12-08 11:24:17 -05:00
Rene Moser aa32ae65a6 openstack: doc fix, add version_added
see #3388
2016-12-08 11:24:16 -05:00
David Shrewsbury dcbbd72cfd Wrap calls to main() with if check
A change was merged to the main Ansible core code that can cause

a potential hang if any libraries are called that use threading.

This change was:

  4b0aa1214c

This affected the os_object module by causing a hang on the shade

create_object() API call (which in turn calls swiftclient which

uses threading). The fix is to make sure all modules have a main()

that is wrapped with an "if __name__ == '__main__'" check.
2016-12-08 11:24:16 -05:00
Ricardo Carrillo Cruz 1b5288b703 Only check default_project on resource creation
The default_project is checked at the beginning of the module.
This raises an exception if the project passed does not exist.
This logic only makes sense on resource creation, if a user
puts state=absent the module fails, even though the default
project is not relevant
2016-12-08 11:24:15 -05:00
Brian Coca 37513ca8bb corrected required docs as only boolean is allowed
these complex values were not displayed and would always show the fields as requried
2016-12-08 11:24:15 -05:00
David Shrewsbury 1bdc3b3bb0 Pass wait/timeout parameters to floating IP APIs in os_server
If a server already exists when os_server is run, but a floating
IP was not assigned to the server when one was requested, the
module will attempt to add an IP to the existing server. But it
would not pass the wait/timeout params to the floating IP APIs.
If wait was True, you could get back a server dict that did not
show the floating IP because it did not wait.
2016-12-08 11:24:15 -05:00
David Shrewsbury 82a1208e64 Set type on floating_ip_pools in os_server
This has been expected as a list, so let's be explicit about it
so it will work correctly in 2.1 release.
2016-12-08 11:24:15 -05:00
Ricardo Carrillo Cruz 5d402f31c8 Fix is_public type on os_image
Without this fix, the is_public value is a string and the shade
call handling the module does not evaluate correctly when
passing is_public: no
2016-12-08 11:24:15 -05:00
David Shrewsbury 4b97cd3a42 Add support for provider network options.
Adds new parameters for specifying options for provider network plugins.
2016-12-08 11:24:14 -05:00
Michael Scherer 55bbe191e5 s/plubic/public/in the doc 2016-12-08 11:24:14 -05:00
David Shrewsbury 285ab7656f Fix allowed_address_pairs and extra_dhcp_opts in os_port
Commit f71542c set the incorrect type for these two parameters to
dict when they are actually list of dicts.

Also, the extra_dhcp_opts was incorrectly named (without the terminal
's') and NEVER worked, so this was corrected.

Fixes #3301
2016-12-08 11:24:13 -05:00
Ricardo Carrillo Cruz 344a559b61 Allow passing domain name on os_server
A cloud admin can search domains, thus it should be possible
to pass a domain name, just like ids.
2016-12-08 11:24:13 -05:00
David Shrewsbury b750b926d3 Fix size parameter documentation
The generated documentation shows the size parameter as required.
Set 'required' to 'false' and move the explanation to the description.

Fixes #3278
2016-12-08 11:24:13 -05:00
Rene Moser facf61366e openstack: os_server: add version_added for scheduler_hints
See #3172
2016-12-08 11:24:13 -05:00
David Hocky d6e32b8245 add explicit type for scheduler hints 2016-12-08 11:24:12 -05:00
David Hocky 3b800f1f34 port 'scheduler_hints' feature from nova_compute to os_server module 2016-12-08 11:24:11 -05:00
Terry Howe a06b07221d Fix openstack module documentation 2016-12-08 11:24:10 -05:00
David Shrewsbury d7568a50e2 Fix parameters where type is assumed.
A change is coming to Ansible where module params will default to str.
Many of our modules were taking advantage of this by not being explicit
about the type, so they will break when that change merges. This hopefully
catches those cases.
2016-12-08 11:24:05 -05:00
David Shrewsbury 66c83fc788 Fix for os_server module when specifying region
Fix the OpenStack os_server module for when region_name is specified.
This should not be passed through to the shade create_server() call
as it's only used with the auth parameters.

Fixes bug: https://github.com/ansible/ansible-modules-core/issues/2797
2016-12-08 11:24:04 -05:00
Monty Taylor 6aaee42604 Add user_data alias for userdata in os_server
The old nova_compute module called the parameter user_data - having an
alias to the old name is friendly.

Fixes Issue #2920
2016-12-08 11:24:04 -05:00
Brian Coca 19b3d43aa5 added missing version_Added 2016-12-08 11:24:01 -05:00
Yair Fried 63a0b99b6a Fix glance_client module
Wrong variable name.
2016-12-08 11:24:01 -05:00
Julia Kreger 060e12a2d3 Add wait support to os_ironic_node
Add support for the os_ironic_node module to be capible of waiting
until the baremetal node activation or deactivation has completed.
2016-12-08 11:24:00 -05:00
David Shrewsbury f6d6895ce9 Add purge option to os_floating_ip module
Add the ability to completely delete a floating IP from the pool
when disassociating it from a server. When state is absent and
purge is true, the IP will be completely deleted. The default
keeps the current behavior, which is to only disassociate the IP
from the server.
2016-12-08 11:24:00 -05:00
David Shrewsbury aed44e8886 Fix OpenStack module failure output
The exception message, when shade fails, will contain much more
specific information about the failure if the exception is treated
as a string. The 'message' attribute alone is usually not helpful.
2016-12-08 11:24:00 -05:00
Timothy R. Chavez 2ef913a288 Pass network argument to add_ips_to_server
The `network` argument needs to be passed through `add_ips_to_server`
so that the default value can be properly overridden from ansible.
2016-12-08 11:23:58 -05:00
Dmitry Labutin b20066ff8e Fix issue #2721: os_object parameters and docs don't align (file/filename) 2016-12-08 11:23:56 -05:00
Brian Coca 7d6c704404 fix bad linebreak 2016-12-08 11:23:55 -05:00
Michael Scherer 69036826a8 Fix #2629, replace choices=BOOLEANS by type='bool' 2016-12-08 11:23:55 -05:00
Sam Thursfield eba767902c os_server: Add some error checking for the 'nics' parameter
If this parameter was not of the right type, the module would fail with a
traceback, with a "AttributeError: 'str' object has no attribute 'get'"
exception.

It now gives a proper error message on type errors.
2016-12-08 11:23:54 -05:00
Alberto Gireud 58c39f47c1 Update root_volume variable 2016-12-08 11:23:53 -05:00
Toshio Kuratomi 8d293651df Fix os_server docs build 2016-12-08 11:23:53 -05:00
Donovan Jones 8b9cd7f410 fix typo in os_server security_groups description 2016-12-08 11:23:53 -05:00
Monty Taylor a715c91d0b Add support for network, boot_from_volume and volumes
nics is a great flexible parameter, but it's wordy. Shade now supports
a simple parameter too, which is just "network" and takes a name or id.
Add passthrough support.

In addition to supporting booting from a pre-existing volume, nova and
shade both support the concept of booting from volume based on an image.
Pass the parameters through.

Shade supports boot-time attachment of additional volumes for OpenStack
instances. Pass through the parameter so that ansible users can also
take advantage of this.
2016-12-08 11:23:52 -05:00
Timothy R. Chavez 37ac954123 Get new server object after adding floating IP
We need a new server object once we add the floating ip, otherwise we
will be operating with the older server object pre-floating-ip
assignment.
2016-12-08 11:23:52 -05:00
Markus Suonto 39d3c3dea6 fixed quantum_ modules to work with minimum access rights if greater access rights are not needed 2016-12-08 11:23:49 -05:00
David Shrewsbury 5c5db04ff0 Bug fix for os_image and min_disk/min_ram
The min_disk and min_ram parameters were not being passed to
the shade API. They also need to be integer values. Also
updated the description of these parameters for better
clarification.
2016-12-08 11:23:49 -05:00
David Shrewsbury ebd977e780 Fix os_user_group module
This module had a couple of errors in it. Also added check mode
support.
2016-12-08 11:23:48 -05:00
Monty Taylor a848d06a04 Use add_ips_to_server API
This module is still using an old pre-release API and needs to update
to use the current API.

Co-Authored-By: Marton Kiss <marton.kiss@gmail.com>
2016-12-08 11:23:47 -05:00
Lars Kellogg-Stedman 35240830f6 os_server_facts returns facts about multiple servers
have `os_server_facts` call `list_servers` rather than `get_server`, and
treat the `server` parameter as a wildcard pattern.  This permits one to
get facts on a single server:

    - os_server:
        server: webserver1

On mutiple servers:

    - os_server:
        server: webserver*

Or on all servers:

    - os_server:

Introduces a `detailed` parameter to request additional server details
at the cost of additional API calls.
2016-12-08 11:23:47 -05:00
Greg DeKoenigsberg 742b452dc1 @lorin stepping down as maintainer 2016-12-08 11:23:45 -05:00
Lars Kellogg-Stedman 51fae74e7c make os_router return a top level 'id' key
make os_router return a top-level 'id' key, much like other
os_* resources.
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman 45cc987fe0 allow os_port to accept a list of security groups
with this commit, the `security_groups` attribute for `os_port` will
accept either a common-delimited string or ` YAML list.  That is, either
this:

    - os_port:
        [...]
        security_groups: group1,group2

Or this:

    - os_port:
        [...]
        security_groups:
          - group1
          - group2
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman c96dd16d5a allow os_server to accept a list of security groups
This commit allows the `security_groups` parameter of the `os_server`
module to be either a YAML list or a common-delimited string (much like
the `nics` attribute).  E.g., this:

    - os_nova_server:
        [...]
        security_groups:
          - default
          - webserver

Or this:

    - os_nova_server:
        [...]
        security_groups: default,webserver
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman 45012ea723 allow empty description attribute for os_security_group
The `os_security_group` module would fail if there was no `description:`
attribute:

    localhost | FAILED! => {
        "changed": false,
        "failed": true,
	"msg": "Error creating security group larstest: Invalid input for
	description. Reason: 'None' is not a valid string."
    }

This commit makes the default description `''` rather than `None`.
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman ff090a1224 make os_keypair return a top level 'id' key
make os_keypair return a top-level 'id' key, much like other os_*
resources.
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman bdd73fdfd0 make os_flavor return a top-level 'id' key
make os_flavor return a top-level 'id' key, much like other os_*
resources.
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman c1e081fcf6 make os_network correctly report changed status
The `os_network` module was incorrectly returning changed=False whether
or not the network was created.  This commit makes the changed return
value useful.
2016-12-08 11:23:43 -05:00
Lars Kellogg-Stedman 70bd95b4f0 return information about created subnet
make os_subnet behave like os_network in terms of returning information
about the created resource.  With this commit, os_subnet will return the
created subnet in `subnet` and the subnet id in `id`.
2016-12-08 11:23:43 -05:00
David Shrewsbury f086279a23 Fix for routers without external interfaces 2016-12-08 11:23:43 -05:00
Monty Taylor c2b695390b Actually pass in is_public to create_image
Fixes #2325
2016-12-08 11:23:43 -05:00
Brian Coca e0d4d397ff fixed mispelled description 2016-12-08 11:23:42 -05:00
David Shrewsbury 024b8365c2 Clarify password requirement and add return docs. 2016-12-08 11:23:42 -05:00
David Shrewsbury c66491c076 Add OpenStack Keystone User module
This is a replacement for PR #1598 and fixes #283
2016-12-08 11:23:42 -05:00
David Shrewsbury 92e6e2f7ea Fix os_router to accept internal interfaces
Allow the 'interfaces' attribute to represent internal router
interfaces, composed of subnet names, and the 'external_fixed_ips'
attribute to represent external interface subnet/IP.
2016-12-08 11:23:41 -05:00
Lars Kellogg-Stedman 413a9d0c62 fix handling of nics argument
The existing code was receiving a list of strings and erroneously
assuming it was being given a list of dictionaries, leading it to fail
with:

    AttributeError: 'str' object has no attribute 'get'

This commit corrects the list handling code to check the type of each
item and handle it appropriately.   Also, based on bcoca's comment
in #2253, thie code removes the special case for a string-only argument.

By transforming string arguments into dicts and then handling them like
any other dict argument, this also permits arguments of the form:

    nics: net-name=mynet

Or:

    nics: port-name=mynet

Previous versions of this code only supported `net-id` and `port-id` in
string specifications.
2016-12-08 11:23:41 -05:00
Monty Taylor db59af564e Make the auto ip parameter auto_ip
There was a parameter in the docs called 'public_ip' that didn't
actually exist. Additionally, auto_floating_ip is not consistent with
the underlying parameter which is auto_ip - for no good reason.

Add auto_ip as the real parameter, and then make public_ip and
auto_floating_ip as aliases for it for backwards compatability.

Fixes #2301
2016-12-08 11:23:41 -05:00
Brian Coca 5ecbd6c63a fixed results docs 2016-12-08 11:23:41 -05:00
Toshio Kuratomi 9c5ce44477 Some docs fixes 2016-12-08 11:23:41 -05:00
dagnello 11f66c0742 Adding string support to metadata argument
This patch adds support to setting metadata key/value through a string
argument.  Variables can now be used for both the metadata key and
value.

example:
meta: "{{ var1 }}:SomeValue,key:{{ var2 }}"
2016-12-08 11:23:41 -05:00