Commit Graph

392 Commits (a65a137cdde0a0f88df617f43657434b09c213ea)

Author SHA1 Message Date
Maxim Babushkin bf58f84167 Add port_security_enabled argument to os_port module (#47715)
Port security could be set during creation of the port on the network.
Add port_security_enabled boolean during port creation.
2019-03-07 14:56:50 -05:00
Arnaud Morin 0da471e54f Fix typo (#53123)
I changed the typo: acceess to access
2019-03-01 23:45:59 +01:00
Monty Taylor 4c150b39c1 Fix default for os_network port_security_enabled (#52821)
The default value should be None, for "unset" not False.
2019-02-22 12:11:47 -05:00
Dominik Holler 4df55bea2f provider_segmentation_id is int (#51600)
According to the OpenStack Networking API
the attribute provider:segmentation_id of a network has to be
an integer.
Even if neutron accepts provider:segmentation_id to be a
string, other implementations may not.
2019-02-18 18:26:03 -05:00
Dave Buckley 367c62c9b5 fix pep8 on os_security_group_rule.py (#35924) 2019-02-18 14:14:41 -05:00
snowjet eaf238b033 Adds toggle port security on network create (#37390)
Added a new property, 'port_security_enabled' which is a boolean to
enable or disable port_security during network creation. The default
behaviour will enable port security, security group and anti spoofing
will act as before. When the attribute is set to False, security
group and anti spoofing are disabled on the ports created on this
network.

Shade supports this option in versions > 1.27.1
2019-02-18 05:03:27 -05:00
Dag Wieers cd9471ef17 Introduce new 'required_by' argument_spec option (#28662)
* Introduce new "required_by' argument_spec option

This PR introduces a new **required_by** argument_spec option which allows you to say *"if parameter A is set, parameter B and C are required as well"*.

- The difference with **required_if** is that it can only add dependencies if a parameter is set to a specific value, not when it is just defined.
- The difference with **required_together** is that it has a commutative property, so: *"Parameter A and B are required together, if one of them has been defined"*.

As an example, we need this for the complex options that the xml module provides. One of the issues we often see is that users are not using the correct combination of options, and then are surprised that the module does not perform the requested action(s).

This would be solved by adding the correct dependencies, and mutual exclusives. For us this is important to get this shipped together with the new xml module in Ansible v2.4. (This is related to bugfix https://github.com/ansible/ansible/pull/28657)

```python
    module = AnsibleModule(
        argument_spec=dict(
            path=dict(type='path', aliases=['dest', 'file']),
            xmlstring=dict(type='str'),
            xpath=dict(type='str'),
            namespaces=dict(type='dict', default={}),
            state=dict(type='str', default='present', choices=['absent',
'present'], aliases=['ensure']),
            value=dict(type='raw'),
            attribute=dict(type='raw'),
            add_children=dict(type='list'),
            set_children=dict(type='list'),
            count=dict(type='bool', default=False),
            print_match=dict(type='bool', default=False),
            pretty_print=dict(type='bool', default=False),
            content=dict(type='str', choices=['attribute', 'text']),
            input_type=dict(type='str', default='yaml', choices=['xml',
'yaml']),
            backup=dict(type='bool', default=False),
        ),
        supports_check_mode=True,
        required_by=dict(
            add_children=['xpath'],
            attribute=['value', 'xpath'],
            content=['xpath'],
            set_children=['xpath'],
            value=['xpath'],
        ),
        required_if=[
            ['count', True, ['xpath']],
            ['print_match', True, ['xpath']],
        ],
        required_one_of=[
            ['path', 'xmlstring'],
            ['add_children', 'content', 'count', 'pretty_print', 'print_match', 'set_children', 'value'],
        ],
        mutually_exclusive=[
            ['add_children', 'content', 'count', 'print_match','set_children', 'value'],
            ['path', 'xmlstring'],
        ],
    )
```

* Rebase and fix conflict

* Add modules that use required_by functionality

* Update required_by schema

* Fix rebase issue
2019-02-15 10:57:45 +10:00
Matt Clay 0a461380a3 Fix incorrect use of `is` for comparisons.
See https://bugs.python.org/issue34850 for details.
2019-02-12 16:33:13 -08:00
Feilong Wang af710bd048 Add OpenStack Magnum cluster module (#44686) 2019-02-12 14:52:11 +00:00
Jiří Stránský 0924a8cf67 Fix dictionary access in os_floating_ip module (#51444)
When using `nat_destination` parameter of `os_floating_ip` module, dot
syntax (`addr.addr`) is used to access a value in a dictionary,
resulting in the module crashing with this error:

AttributeError: 'dict' object has no attribute 'addr'

This is now fixed, when using correct syntax (`addr['addr']`), the
module seems to work fine.

Fixes #51443
2019-02-06 11:51:30 -05:00
Hasegawa Takuya 109ef8c79d add example into os_server for server group (#51375)
* add example for server group
2019-01-29 13:42:29 -06:00
Maxim Babushkin de542394af Add port_type argument to os_port module (#47415)
Openstack has multiple types for the port.
Add type selection during the port creation and update.
2019-01-24 09:48:08 +00:00
Jihad Dwidari 0050e8be31 Added Return Values (#51069)
Added variables set by this module and a description of each

+label: docsite_pr
2019-01-23 23:55:07 -05:00
Jihad Dwidari 94ee3712ae Update os_quota.py fixed typo (#50981)
fixed typo, note should be not
2019-01-21 16:09:33 +05:30
Abhijeet Kasurde db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00
Miguel Duarte Barroso 4951e5a5b7 os_security_group_rule proper module exit (#50076)
When the security group the rule belongs to does not exist and
the state is absent, the module is not properly exited, leading
to a playbook execution failure.

Fixes issue #50057
2018-12-20 11:49:52 +00:00
Dag Wieers 05c6ff79f9 Convert to reduced list of known types (#50010) 2018-12-19 07:25:30 +10:00
Toshio Kuratomi 3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Chandra Shekar Rangavajjula 2f8001a7af Fixes 36950. Added support for missing options capabilities and root_device in properties of os_ironic.py ansible module (#37113)
* Fix for 36950. Added support for missing options capabilities and root_device in properties of os_ironic.py ansible module

* Updated docstring to pass documentation validation

* Updated review comments from juliakreger

* version_added: "2.8"
2018-12-12 17:07:44 +00:00
Ken Dreyer eae81e36fd openstack: document RETURNS for os_volume (#49559)
Document the "id" and "volume" return values from the os_volume module.
2018-12-10 11:29:34 -06:00
Carsten Koester e25dac946f openstack: fix parameter handling when cloud provided as dict (#42899)
* openstack: fix parameter handling when cloud provided as dict

If a cloud is provided as dictionary:

 * Do not assert that 'interface' parameter is None. Instead,
   assert that it is 'public'.
 * Assert that 'auth_type' parameter is not set.

Fixes #42858

* os_user: Include domain parameter in user lookup

If a "domain" parameter is provided, use it in looking up
whether the user already exists.

Fixes #42901

* os_user: Include domain parameter in user deletion

If a "domain" parameter is provided, use it in deleting
the user also.

Fixes #42901
2018-12-10 11:41:22 +00:00
Lars Kellogg-Stedman b2e5c75131 server.security_groups is a list of dicts (#48798)
os_server was trying to access `[sg.name for sg in
server.security_groups]`, but the items in `server.security_groups`
are dictionaries, so that should be `sg['name']`.
2018-11-30 06:42:50 -05:00
Michael Brennan ca918def18 fixed parsing issue with openstacksdk and idempotent checking issues (#44928)
* fixed parsing issue with openstacksdk and idempotent checking issues

* fixed whitespace found in pylint
2018-11-28 12:13:50 -05:00
Abhijeet Kasurde bc3e7bbeba
E325 Removal - Part II (#49196)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-28 13:55:52 +05:30
Romain Acciari 4b1b0bcbb6 Add filters to os_router and os_subnet Fixes #37921 (#47220) 2018-11-24 08:07:37 -05:00
John R Barker 75407d3e43
Validate DOCUMENTATION.author (#48993)
* Validate DOCUMENTATION.author

Ensure that author line includes a GitHub account
2018-11-21 17:29:29 +00:00
John R Barker 97e2fa4953
Bulk module author 2 (#48955)
* Bulk fix DOCUMENTATION.author (Part 2)
2018-11-21 10:32:42 +00:00
John R Barker 3fcc564bbb
Bulk fix DOCUMENTATION.author (Part 1) (#48934)
* Bulk fix DOCUMENTATION.author
2018-11-20 19:31:35 +00:00
James Cassell c13fa503a1 os_server_facts: support all_projects (#44800)
* os_server_facts: support all_projects

* os_server_facts: openstacksdk expects True or False, not None
2018-11-08 17:05:12 -05:00
Nicolas Bock 3fa48dfb6f Update os_image.py (#47222)
The description of the `name` and `id` options are updated to highlight the fact that the `name` (which is required and leads to failures if several images exist with the same name) argument can also contain the image `id`.

+label: docsite_pr
2018-11-07 06:18:57 -05:00
Abhijeet Kasurde 57c9532cad OpenStack: add an alias for name (#47972)
This fix adds an additional alias for name parameter viz. subnet

Fixes: #37352

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-05 12:56:30 +00:00
James Cassell 6f0126534c os_server_facts: remove duplicate statement (#47940) 2018-11-01 17:10:57 -04:00
Gonéri Le Bouder 30b6bb34cd openstack: drop some reference to shade (#47359)
shade is not used anymore by the `os_*` modules.

PR #40532 replaces `shade` library by `openstacksdk`. This commit clean
up some references to the old library. It's similiar to what has been
done in PR #40784.
2018-10-30 15:29:11 -05:00
Dave Buckley 2bdab94b0b Allow os_server_facts to filter results based on provided filters dictionary (#23638)
* add filters variable to allow servers to be selected based on arbitrary nova properties

* update docs to fix yaml

* add required info for filters variable in the docs

* bump version number

* clean up documentation
2018-10-30 14:34:58 -04:00
Michał Siemek c2b7174d31 Check if `enabled_snat` is set in modules arguments (#46754)
If `enabled_snat` is not set at all in module arguments but Neutron
policy sets it by default in Openstack, then `os_router` will attempt to
recreate otherwise perfectly good router.

Follow up for https://github.com/ansible/ansible/issues/44432#issuecomment-428531031
2018-10-30 08:04:43 -04:00
Anna Nowak eb39c461ce Fix missing exceptions (#45775)
* Replace non-existing OpenStackCloudTimeout exception. Fixes: #45151

* Replace OpenStackCloudURINotFound that doesn't exist in the 'exceptions' module
2018-10-30 07:50:46 -04:00
Carsten Koester 04d3693e1f os_user_role: Include domain parameter in user lookup (#42913)
If a "domain" parameter is provided, use it in looking up the user ID.

Additionally, if both a domain and project parameter are provided, then
remove the domain ID from the list of filter criteria after having used
it to look up both the user and the project. OpenStack will not allow us
to apply both a project ID (which implies a domain) and a domain ID as a
search filter.

Fixes #42911
2018-10-19 12:16:19 -04:00
Nicolas Bock b3dd36bef8 Fix documentation (#47218)
The result variable is `openstack_image` and not `openstack` as incorrectly stated in the description.

+label: docsite_pr
2018-10-18 17:00:08 +10:00
Matt Martz 90d2620939 Remove deprecated os_server_actions alias (#47208)
* Remove deprecated os_server_actions alias. Fixes #44991

* Skip os_server_actions
2018-10-18 16:44:44 +10:00
Arun prasath 23b60d843e Fixes #35284 - Added ability for os_nova_flavor to update existing flavors (#37170) 2018-10-13 23:06:29 -04:00
Arun prasath 5b3e009198 Added ability to create Openstack users without password (#37338) 2018-10-13 23:04:44 -04:00
Dominik Holler 452a4ab781 Fix os_router ignores enable_snat: no (#45921)
If enable_snat is False, this should be used to build the
request, because the default value in the OpenStack Networking
API is True.

Fixes the issue #45915.
2018-10-10 10:01:45 -04:00
Dag Wieers f90fc8a9a2 Fix author in modules (#46068)
Fix a few cases where the author was incomplete or incorrect.
2018-09-24 10:14:29 -05:00
Dag Wieers 2edf20d1ed Docs: Avoid use of 'default: null' (#45795)
Various modules document the default 'null' value, but it causes None to
be shown in the documentation explicitly.
2018-09-19 09:02:27 -05:00
Lingxian Kong cf1e0bde99 os_loadbalancer: support to create populated load balancer (#44619)
The user can use os_loadbalancer module to configure a fully functional
load balancer by specifying the sub-resources definition in the module,
rather than combining os_listener, os_pool and os_member modules.
2018-09-17 14:10:03 -04:00
Pierre Gaxatte 3122860f22 Update os_server docs when removing an instance (#41963)
When removing an instance via its ID, it is not clearly explained that one should use the `name` parameter.

Also a simple example is provided.

+label: docsite_pr
2018-08-24 10:42:25 -04:00
Lingxian Kong 4d2e0c58a8 Add os_member module for openstack loadbalancing service (#43908) 2018-08-23 08:45:16 -04:00
Mark Goddard 8522e6420e Support project parameter for os_security_group module (#34472)
Many OpenStack modules provide the ability to register a resource in a
project other than the one being used to authenticate with, by adding a
project parameter to the module. Examples include os_network, os_subnet,
and os_router. This change adds a project parameter to the
os_security_group module.

Fixes: #34467
Fixes: #30292
2018-08-22 13:52:25 -04:00
Lingxian Kong 3dbc3a5dda Add os_pool module for openstack load-balancing service (#43907) 2018-08-22 10:38:53 -04:00
Guilherme Steinmuller b7139782cf Fix enable_snat parameter (#44418)
Fixes the issue #44285
2018-08-20 16:59:05 -04:00