Commit Graph

338 Commits (313e7ba55e7464f46862e9c178460d7a479e1bfa)

Author SHA1 Message Date
Kevin Jones 09f4c51f9f [openstack] add endpoint_type parameter to examples (#41979)
Certain project functions are not available on the openstack public api. Creating and deleting projects are examples where you must use the admin api.

In most devstack or simple openstack deployments the public, internal and admin apis may live at the IP. However in most production deployments the admin APIs are on a separate network than the public APIs. Therefore for these examples to consistently work, we must specify the admin endpoint_type.
2018-06-27 08:26:03 -04:00
Monty Taylor 123b01aaeb Bump python support version for openstack modules (#40750)
The openstack modules do not support python 2.6 as the underlying
library dependency (openstacksdk) does not support python 2.6. Update
the docs to make this clear.
2018-05-29 08:51:58 -04:00
Mário Santos 9d52e54ae6 Add extra_specs to os_subnet module
PR #39373

* Add extra_specs to os_subnet module

This change removes the parameter limitation on `os_subnet` module for
Neutron subnet creation.
This way, any key value passed via `extra_specs` argument is included in
shade's API call.

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Set default value of extra_specs to None

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Raise ValueError in case of duplicate keys found

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Update docs default value of extra_specs to {}

* Move cidr to kwargs to avoid positional argument

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Print explicit list of duplicate keys

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Fix precedence on the dict merge

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Bump version_added of the extra_specs parameter

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>
2018-05-28 19:21:51 +02:00
Jeffrey Zhang f488d3cf79 Fail with more meaningful message when the volume can not be found (#37508) 2018-05-26 08:32:12 -07:00
Vasily Angapov e2bd4adf6e os_image_facts: add ability to list all Openstack images 2018-05-25 19:04:05 -07:00
Dave Buckley 02cb0fd30d fix capitalization on os_project_access examples (#37965) 2018-05-25 19:00:27 -07:00
Artem Goncharov 89ce826a9f retire shade in favor of openstacksdk for openstack modules (#40532)
* Establish connection through openstacksdk
* Switch from shade to openstacksdk
* fix typo in link to openstacksdk
* remove nova_client usage
* further remove of min_version from openstack modules
2018-05-25 18:40:39 -07:00
Jesse Pretorius 1579178f2d os_project_access: clean up some things (#40464)
* os_project_access: correct example tasks

The example task does not work. Fix it so that it does.

* os_project_access: Remove unused function

The _get_allowed_projects function is not used anywhere,
so we can remove it and be free of nova_client for this
module.
2018-05-25 10:43:46 -07:00
Jesse Pretorius f53a29f392 os_server: Remove nova_client usage (#40462)
The os_server module uses the deprecated nova_client function, and
therefore ends up requiring python-novaclient installed. In this
patch we switch the ip detachment to make use of a shade function,
removing the need for python-novaclient.
2018-05-25 10:43:12 -07:00
Mário Santos 7e2087731e Add new OpenStack module for changing metadata of compute instances (#19113)
* Add new OpenStack module for changing metadata of compute instances

* Add missing RETURN documentation

* Fix API calls to match shade's implementation.

API was changed in the following PR (openstack-infra/shade):
https://review.openstack.org/#/c/319395

* Replace type by isinstance when type checking

* Add ANSIBLE_METADATA

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Bump the ansible version

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Add support for check_mode

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Fix sanity tests

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Force the meta parameter to be a string

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Use short GPL license

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Change meta argument to dict

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>
2018-05-17 17:24:28 -04:00
Monty Taylor fea71d2767 Update Jesse Keating's github id (#39904)
Jesse is no longer j2sol, he's now omgjlk.
2018-05-11 07:38:15 +02:00
Adam Miller d49a09d05e
fix sanity checks to make shippable happy (#39685)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-03 10:36:08 -05:00
Mário Santos 947aa52327 Add new OpenStack module for managing cinder volume snapshots (#19122)
* Add os_volume_snapshot Ansible Module

* Add missing RETURN documentation

* Fix YAML syntax

* Add ANSIBLE_METADATA

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Bump the ansible version

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Add support for check_mode

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Fix sanity tests

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>
2018-05-03 09:15:39 -05:00
Artem Goncharov 59b9c5f119 Fixes 30786 - add server response to the failure (#39371)
* Fixes 30786 - add server response to the failure

* replace str(e) with to_native(e) according to code review
2018-04-30 14:18:06 -04:00
Dag Wieers cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
Adrian Joian 123694397a [openstack][docs] Fixing spelling error (#37351) 2018-03-13 14:21:23 -04:00
Monty Taylor 0f893027c4 Add a module_utils OpenStack Cloud constructor (#20974)
Start using this to construct shade OpenStack Cloud objects in a
consistent manner. This will let us centralize things like dealing with
password arguments and whatnot. It also allows us to introduce the
ability to pass a fully formed config dict directly to the module.

Migrate all OpenStack modules to use openstack_cloud_from_module.

Have it return the shade library since it's responsible for
importing shade and shade is needed for the exceptions.

Only pull specific OpenStack arguments for the constructor

Rather than passing **module.params to the shade constructor, pull out
only the values that make sense. This should prevent the issues with
module parameters stepping on shade parameters.

Replace module.params.pop with module.params.get

We don't need to pop these anymore since the shade constructor is now
using opt-in values.

Using real urls is ungood. Use example.com domains. Also, get rid of the
antiquated port numbers.
2018-02-15 15:20:49 +01:00
Dave Buckley cef1a666f3 name is not a required parameter (#35434) 2018-02-08 08:47:50 -05:00
s-hertel 927ef22ad6 Fix docs and imports for os_project_access 2018-02-07 20:06:36 -05:00
s-hertel 2bcce99994 PEP8 os_project_access 2018-02-07 19:29:48 -05:00
s-hertel 2855f22e2b Fix spacing in os_project_access docs
Import openstack_module_kwargs
2018-02-07 19:28:42 -05:00
Ryan S. Brown dff5fa3ec2 Fix os_project_access metadata and argspec import 2018-02-07 19:11:20 -05:00
Adam Miller 6791990992 fix version_added in modules/cloud/openstack/os_project_access.py for merge
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-02-07 17:05:27 -06:00
Adam Miller 13ec1d874d Merge branch 'os-project-access' of https://github.com/ioggstream/ansible into ioggstream-os-project-access
* 'os-project-access' of https://github.com/ioggstream/ansible:
  Module granting project_access to various resources
2018-02-07 17:04:38 -06:00
Daniel Mellado ed806f0fee Add support for heat stack metadata (#34573)
This commit adds support for heat tag metadata when creating a new
stack.
2018-01-15 14:19:02 +01:00
John R Barker 18529a275b Bulk pep8 fixes - hand crafted (#33690)
* Bulk pep8 fixes - hand crafted

Fix by hand the remaining issues that autopep8 couldn't

* Next batch of hand crafted pep8 fixes

* Ignore W503

https://github.com/PyCQA/pycodestyle/pull/499

* Revert more of W503
2017-12-07 19:29:21 -08:00
John Barker c57a7f05e1 Bulk autopep8 (modules)
As agreed in 2017-12-07 Core meeting bulk fix pep8 issues

Generated using:
autopep8 1.3.3 (pycodestyle: 2.3.1)
autopep8 -r  --max-line-length 160 --in-place --ignore E305,E402,E722,E741 lib/ansible/modules

Manually fix issues that autopep8 has introduced
2017-12-07 20:25:55 +00:00
BhujayKumarBhatta 452028ab7d Issue 19612 os router to allow adding interface by port ip (#30409)
* check if need update for internal port

* validate port ip

* os_router modified in local

* my_os_router.py tested upto port not found

* tested need update

*  default port attached with subnet getting deleted

* update happened with subnet and port id but rerun update=true?

* update working with portid converted subnetid for match checking

* tested and worked

* extra debug commnets cleaned up

* os_router with port ip tested fine

* deleted test files used wq for my development

* interface type changed for backward compatibility

* check if need update for internal port

* validate port ip

* os_router modified in local

* my_os_router.py tested upto port not found

* tested need update

*  default port attached with subnet getting deleted

* update happened with subnet and port id but rerun update=true?

* update working with portid converted subnetid for match checking

* tested and worked

* extra debug commnets cleaned up

* os_router with port ip tested fine

* deleted test files used wq for my development

* check if need update for internal port

* validate port ip

* os_router modified in local

* my_os_router.py tested upto port not found

* tested need update

*  default port attached with subnet getting deleted

* update happened with subnet and port id but rerun update=true?

* update working with portid converted subnetid for match checking

* tested and worked

* extra debug commnets cleaned up

* os_router with port ip tested fine

* deleted test files used wq for my development

* interface type changed for backward compatibility

* interface type changed for backward compatibility

* restoring requirement.txt which was deleted accidentally

* isinstance instead of type and white space removal

* trailing spaces removal

* multiple space after keyword 379,441

* fail.json interface type and deug msg changes

* test for membership should be 'not in'
2017-11-28 09:46:08 -05:00
Sorin Sbarnea 3fedd88a9f Avoid AttributeError: internal_network on os_floating_ip (#32887)
Fixes #32884

Change-Id: I3be1dc81266b32dd8f545b743365c2bbc02dfdeb
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2017-11-14 13:42:20 -05:00
Aniket Khisti 27694f6909 PEP8 compliancy for os_server_volume module (#32306) 2017-10-29 14:15:32 +05:30
Toshio Kuratomi 5e9384300d Add boilerplate and remove wildcard imports for openstack modules (#31461)
* Add boilerplate and remove wildcard imports for openstack modules
* Remove openstack files that are now pep8 compliant from the legacy list
2017-10-09 09:56:26 -07:00
Alberto Murillo 3e7b240696 os_keystone_endpoint.py (#29031)
* Add os_keystone_service_endpoint

This patch adds a new Ansible module which allows a user to create
an endpoint to a service with Keystone.

Fixes #23909

* os_keystone_endpoint: Fix style and messages

Fix comments, pep8, version, metadata, license header
and imports according to the Contributing Modules Checklist

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Fix return values

- Change type of 'endpoint' return value from dictionary to complex
  in order to get validate_module checks passed.

- Remove 'id' from the return data since it is included inside the
  'endpoint' value wich is already being returned.

- Rename 'service' field to 'service_id' which is the correct name
  for the service id field returned in json.

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Update shade version

Update minimum shade version to 1.11.0

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Make region optional

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Validate service exists before using service.id

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Fix documentation for service to accept name or id

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Pass the full service object to create_endpoint()

We already have the service object retrieved in code, by passing service.id to
create_endpoint, the shade librarie queries the api again to get the full service
object.

By Passing the already rerieved service object to create_endpoint() we save one
request to the API.

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>

* os_keystone_endpoint: Make type explicit in module arguments.

Althoug type is default to str when not specified in module arguments
this commit explicitly defines type='str' for better readability.

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
2017-09-28 23:05:44 +02:00
Miouge1 96ebfd78af os_image: Add checksum based glance image manipulation (#27107)
* Add checksum based glance image manipulation

* Update os_image.py

* Move to 2.5
2017-09-17 15:19:58 +02:00
Matt Clay 442af3744e Miscellaneous pylint fixes.
The following rules are no longer disabled:

- bad-format-string
- duplicate-key
- lost-exception
- trailing-newlines
- unexpected-keyword-arg
- useless-suppression
- using-constant-test
2017-09-13 01:53:08 -07:00
Andrea Tosatto 6b6e5665aa make os_security_group_rule idempotent (#23707)
* Fix issue #19610
2017-09-12 07:24:09 -07:00
Joshua C. Randall 6e84baddb6 fix os_image so it works when id is None (#29147)
Fixes #29145
2017-09-09 13:16:48 -05:00
Chenjun Shen 1b8f4558f7 add 2 quota variables for openstack: loadbalancer and pool (#26010)
* add 2 quota variables for openstack: loadbalancer and pool. In neutron, they're set to 10 by default. So in the real production environment, you would hit this limit very soon.

* specify version_added for new options
2017-09-05 10:14:12 -04:00
Lukas Bednar 2b1a7b7d75 [docs] Fixed example for os_image_fact (#28873)
There is typo in example, which results in error when running it.
2017-08-31 09:12:10 -04:00
Elachance 7b8b444602 Fix logic in os_nova_host_aggregate module (#23191)
* Fix logic in os_nova_host_aggregate module

Fix logic around adding availability zone to metadata and comparing existing host list to parameter host list. 

Previously, when no availability zone was defined, an empty availability zone was being appended to metadata. This was causing 'empty named availability zone' errors when running the module against an already existing host aggregate with no availability zone. This was fixed by only appending availability zone to metadata if it is not an empty parameter.

Also added set() casting when comparing existing and new host lists. Previously, if existing host list was not in the same order as the host list in the .yml parameter file the module would consider this a change even if the two lists had the same entries.

* Update os_nova_host_aggregate.py
2017-08-17 15:30:38 -04:00
Matt Clay 15be0e91e8 Fix PEP 8 issues. 2017-08-16 14:32:11 -07:00
Paulo Matias c8124ca39a os_router: fix checking if router needs update (#19780)
When verifying if a router needs update, the os_router module should
take into account only network ports which are owned by routers. Other
ports might have been added e.g. by the HA network tenant, which would
lead the router to always be detected as changed and cause the module to
try removing these network interfaces.
2017-08-16 22:38:49 +02:00
Andrew Klaus c9cfc9be07 os_recordset fix for names with multiple DNS record types (#19588)
* Fix for os_recordset.py to filter based on record type. Fixes https://github.com/ansible/ansible/issues/19572

* remove redundant variable

* Needing to use recordset ID to update and delete records. Using the record name for update/delete causes issues when A and AAAA records exist for a name

* Adding exception handling for dictionary item
2017-08-16 14:32:13 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Sam Doran 68060002e8 Rename modules from plural to singular (#27185)
* First batch of modules renamed from plural to singular

Related to this proposal: https://github.com/ansible/proposals/issues/10

* Emit rename deprication warning

* Update legacy-files.txt and skip.txt to reflect new names
2017-08-14 16:35:15 -04:00
Pilou feff6abd72 os_client_config: fix broken import (#26839)
* os_client_config: fix broken import
* remove wildcards and add boilerplate
2017-08-12 10:07:49 -07:00
Toshio Kuratomi 225fa5d092 Fix undefined variables, basestring usage, and some associated python3 issues 2017-07-25 15:58:23 -07:00
Roberto Polli fc557b6442 Module granting project_access to various resources 2017-07-16 12:22:17 +02:00
Pilou d9265c7498 os_ironic: fix broken import (#26802) 2017-07-15 08:44:50 -05:00
Brian Coca c581ae4b8d corrected version 2017-07-14 10:25:40 -04:00
Peter Shrom 80e88a7d40 updated version added 2017-07-14 10:25:41 -04:00