Commit Graph

22721 Commits

Author SHA1 Message Date
AlanCoding 38112bae22 Use to_native for error messages, fix docs typo 2019-09-27 14:29:03 -04:00
Andrey Klychkov 30a6efdb93 fix typos in web_infrastructure modules (#62202) 2019-09-27 14:29:02 -04:00
Alan Rominger bffc1bfdd4 Allow tower inventory plugin to accept integer inventory_id (#61338) 2019-09-27 14:29:02 -04:00
Alicia Cozine a7bf31d423 clarifies how ASK works for Tower credentials (#59050)
* clarifies how ASK works for credentials
2019-09-27 14:29:02 -04:00
Pilou 1ae1011ccb tower_role: ensure alias of "validate_certs" parameter is handled (#57518)
* tower_role: ensure alias of validate_certs is handled

* tower modules: remove tower_verify_ssl alias too

Error was:

    Failed to update role: The Tower server claims it was sent a bad request.
    GET https://tower/api/v2/projects/22/object_roles/
    Params: [('tower_verify_ssl', False), ('role_field', 'admin_role')]
    Data: None
    Response: {"detail": "Role has no field named 'tower_verify_ssl'"}

Full traceback:

    File "/tmp/ansible_tower_role_payload_7_2p0X/__main__.py", line 145, in main
      result = role.grant(**params)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 365, in grant
      return self.role_write(fail_on_found=fail_on_found, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/resources/role.py", line 242, in role_write
      fail_on_multiple_results=True, **data)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/models/base.py", line 301, in read
      r = client.get(url, params=params)
    File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 546, in get
      return self.request('GET', url, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/tower_cli/api.py", line 299, in request
      kwargs.get('data', None), r.content.decode('utf8'))
2019-09-27 14:29:02 -04:00
Alberto Murillo 83183cd7ce tower_workflow_template: Add missing options (#56891)
The following options can be set on a workflow template but the
functionallity to do so from this module was missing.

inventory
ask_variables_on_launch
ask_inventory_on_launch

Fixes #49728

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
2019-09-27 14:29:02 -04:00
Pilou 934d7d62ef fix tower_credential example: lookup are run on controller (#57516)
- don't advise to use lookups in order to fetch path on managed nodes
- fix example:
    - use slurp instead 'file' lookup
    - remove extraneous brackets
2019-09-27 14:29:01 -04:00
Hideki Saito 5dce6258e6 tower_user: Fix to create a system auditor properly (#54585)
- Fixed issue #54446: tower_user cannot create an auditor user

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:01 -04:00
Pilou 87f6065a05 tower_credential: ssh_key_data isn't a path anymore (#57113) 2019-09-27 14:29:01 -04:00
stoned 4ca0d8c72a Add missing roles to tower_role module (#56182)
* Add missing roles to tower_role module

* Placate 'ansible-test sanity --test pep8'
2019-09-27 14:29:01 -04:00
Hideki Saito ba8bd25da2 Fixed wrong variable specification format in examples (#55252)
Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:00 -04:00
Hideki Saito df0bd0797c Fix handling of inventory and credential options for tower_job_launch (#54967)
- Fixed issue #25017,#37567
- Add example for prompt on launch
- Add integration test for prompt on launch

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-09-27 14:29:00 -04:00
James Cassell 3aa7ee8d17 standardize TLS connection properties (#54315)
* openstack: standardize tls params

* tower: tower_verify_ssl->validate_certs

* docker: use standard tls config params

- cacert_path -> ca_cert
- cert_path -> client_cert
- key_path -> client_key
- tls_verify -> validate_certs

* k8s: standardize tls connection params

- verify_ssl -> validate_certs
- ssl_ca_cert -> ca_cert
- cert_file -> client_cert
- key_file -> client_key

* ingate: verify_ssl -> validate_certs

* manageiq: standardize tls params

- verify_ssl -> validate_certs
- ca_bundle_path -> ca_cert

* mysql: standardize tls params

- ssl_ca -> ca_cert
- ssl_cert -> client_cert
- ssl_key -> client_key

* nios: ssl_verify -> validate_certs

* postgresql: ssl_rootcert -> ca_cert

* rabbitmq: standardize tls params

- cacert -> ca_cert
- cert -> client_cert
- key -> client_key

* rackspace: verify_ssl -> validate_certs

* vca: verify_certs -> validate_certs

* kubevirt_cdi_upload: upload_host_verify_ssl -> upload_host_validate_certs

* lxd: standardize tls params

- key_file -> client_key
- cert_file -> client_cert

* get_certificate: ca_certs -> ca_cert

* get_certificate.py: clarify one or more certs in a file

Co-Authored-By: jamescassell <code@james.cassell.me>

* zabbix: tls_issuer -> ca_cert

* bigip_device_auth_ldap: standardize tls params

- ssl_check_peer -> validate_certs
- ssl_client_cert -> client_cert
- ssl_client_key -> client_key
- ssl_ca_cert -> ca_cert

* vdirect: vdirect_validate_certs -> validate_certs

* mqtt: standardize tls params

- ca_certs -> ca_cert
- certfile -> client_cert
- keyfile -> client_key

* pulp_repo: standardize tls params

remove `importer_ssl` prefix

* rhn_register: sslcacert -> ca_cert

* yum_repository: standardize tls params

The fix for yum_repository is not straightforward since this module is
only a thin wrapper for the underlying commands and config.  In this
case, we add the new values as aliases, keeping the old as primary,
only due to the internal structure of the module.

Aliases added:
- sslcacert -> ca_cert
- sslclientcert -> client_cert
- sslclientkey -> client_key
- sslverify -> validate_certs

* gitlab_hook: enable_ssl_verification -> hook_validate_certs

* Adjust arguments for docker_swarm inventory plugin.

* foreman callback: standardize tls params

- ssl_cert -> client_cert
- ssl_key -> client_key

* grafana_annotations: validate_grafana_certs -> validate_certs

* nrdp callback: validate_nrdp_certs -> validate_certs

* kubectl connection: standardize tls params

- kubectl_cert_file -> client_cert
- kubectl_key_file -> client_key
- kubectl_ssl_ca_cert -> ca_cert
- kubectl_verify_ssl -> validate_certs

* oc connection: standardize tls params

- oc_cert_file -> client_cert
- oc_key_file -> client_key
- oc_ssl_ca_cert -> ca_cert
- oc_verify_ssl -> validate_certs

* psrp connection: cert_trust_path -> ca_cert

TODO: cert_validation -> validate_certs (multi-valued vs bool)

* k8s inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* openshift inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* tower inventory: verify_ssl -> validate_certs

* hashi_vault lookup: cacert -> ca_cert

* k8s lookup: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* laps_passord lookup: cacert_file -> ca_cert

* changelog for TLS parameter standardization
2019-09-27 14:29:00 -04:00
Pilou aeaab41120 tower_settings: "get" isn't implemented, "value" parameter is required (#54028)
* tower_settings doc: 'get' isn't implemented

* tower_settings: fix typo in argument_spec
2019-09-27 14:29:00 -04:00
Abhijeet Kasurde 1eb61ba5ce tower_credential: Add parameter vault_id (#53400)
vault_id allows user to specify vault identifier as per Tower UI.

Fixes: #45644

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:59 -04:00
Alan Rominger 91d0c47120 Add option for tower inventory to give general metadata (#52747) 2019-09-27 14:28:59 -04:00
Abhijeet Kasurde b96b69360f tower: Handle AuthError (#53377)
Handle AuthError raised when user provides incorrect password
for Tower admin user.

Fixes: #50535

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:59 -04:00
David Medberry b034295c99 Update tower_credential.py (#51469)
misspelled word and poor capitalization (in the same sentence of the doc string)

+label: docsite_pr
2019-09-27 14:28:59 -04:00
Pilou c6e47a0a16 tower modules: check that 'verify_ssl' defined in ~/.tower_cli.cfg isn't ignored (#50687)
* Check that verify_ssl defined in tower_cli.cfg isn't ignored

* Avoid to override verify_ssl value defined in tower_cli.cfg

By default, tower-cli library enables SSL certificates check. But
verify_ssl false value defined in config files read by default by
tower-cli library (for example /etc/tower/tower_cli.cfg) was ignored
because overriden by the tower_verify_ssl parameter default value.

* fix a typo in comment
2019-09-27 14:28:58 -04:00
Jordan Borean ca782a495d Final round of moving modules to new import error msg (#51852)
* Final round of moving modules to new import error msg

* readd URL to jenkins install guide

* fix unit tests
2019-09-27 14:28:58 -04:00
Dennis Lerch 71c625bd83 add diff_mode_enabled to documentation
option 'diff_mode_enabled' is not mentioned in documentation

+label: docsite_pr
2019-09-27 14:28:58 -04:00
Samuel Carpentier 5c2bc09f9d New module: tower_notification (#50512)
* New module: tower_notification

* Fix CI check failures

* Add integration tests and extend examples

* Add missing required field for deletion tests and examples

* Add missing required field for deletion tests and examples

* Set port type to int

* Add missing field for Slack notification

* Add missing field types for IRC notification

* Update module documentation

* Correct field name and type for IRC notification

* Uniformize 'targets' field

* Uniformize 'targets' field
2019-09-27 14:28:57 -04:00
jainnikhil30 58c4ae6a00 Add scm_update_cache_timeout, job_timeout and custom_virtualenv to tower_project (#51330)
* adding scm_update_cache_timeout and job_timeout to tower_project module

* add support for cache_timeout, job_timeout and custom_venv for tower_project module

* add the version_added
2019-09-27 14:28:57 -04:00
John Westcott IV 37509af868 Adding TowerCLI receive module (#51023) 2019-09-27 14:28:57 -04:00
John Westcott IV 41f649b5a2 Adding tower_workflow_launch (#42701) 2019-09-27 14:28:57 -04:00
John Westcott IV 5ef995cd7d Adding TowerCLI send module (#37843) 2019-09-27 14:28:56 -04:00
jainnikhil30 a32981242b Fixing exception import for tower modules (#50447)
* fixing the exception import from tower modules

* Adding tests for checking tower modules are failing with correct msg

* fixed failing tests

* fixed failing test in tower_team
2019-09-27 14:28:56 -04:00
Alicia Cozine c821996051 fix docs for tower modules (#50710) 2019-09-27 14:28:56 -04:00
Andrea Tartaglia a37a18c0bf Added organization in the scm_credential get (#49884)
* Added organization in the scm_credential get

* Fallback looking for cred in project org

* Tests project with multi org credential

* Fixed CI issue

* Added changelog fragment
2019-09-27 14:28:56 -04:00
Dag Wieers b11374157d Convert to reduced list of known types (#50010) 2019-09-27 14:28:55 -04:00
Abhijeet Kasurde 2d6743635e E325 Removal - Part II (#49196)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-09-27 14:28:55 -04:00
seag-rvc 590341ed7d Update tower_host.py (#49186)
<!--- Your description here -->
Current example does not show how to declare variables
+label: docsite_pr
2019-09-27 14:28:55 -04:00
Hugh Ma ae980b9a82 Add survey_spec parameter to module. (#48182)
* Add survey_spec parameter to module.
Fixes #48011

* Removed trailing white space. Added integration test.
2019-09-27 14:28:55 -04:00
Sean Cavanaugh 94b557d8aa adding additional example and clarification (#47224)
The kind: paramter is missing from the original example (which won't actually work).  The organization needs to be listed as required (if you don't list it, you will get an error).  Also adding additional example using the tower_username and tower_password method.
2019-09-27 14:28:54 -04:00
Sloane Hertel 5dc9ca222f add more consistent extension matching for inventory plugins (#46786)
* Add consistent extension matching for inventory plugins that support YAML configuration files

* Document extension matching expectations
2019-09-27 14:28:54 -04:00
Yanis Guenane 79166209ee inventory/tower: authors -< author so Doc can pick it up (#45936) 2019-09-27 14:28:54 -04:00
Dag Wieers 45a8992254 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.
2019-09-27 14:28:54 -04:00
Meecr0b def043c383 tower_credential: expect ssh_key_data to be a string instead of path (#45158)
* expect ssh_key_data to be a string instead of path

ssh_key_data should be a string filled with the private key
the old behavior can be archived with a lookup

Fixes #45119

* clarifies ssh_key_data description, adds newline
2019-09-27 14:28:53 -04:00
Adrien Fleury 7b6dc13078 New module : tower_credential_type (#37243)
* Add new module *tower_credential_type*

* Add support for credential type creation and/or deletion
* Add test coverage for tower_credential_type
2019-09-27 14:28:53 -04:00
Adrien Fleury ee2709a898 New module tower_workflow_template. (#37520)
* Add new module *tower_workflow_template*

Manage Tower workflows and their schemas.
2019-09-27 14:28:53 -04:00
jainnikhil30 d9d56b4b50 Add 'tower_settings' module for managing Ansible Tower Settings (#43933)
* add the tower_settings module
2019-09-27 14:28:52 -04:00
Yunfan Zhang 7580f9c2b9 Added Ansible Tower inventory plugin. (#41816)
Signed-off-by: Yunfan Zhang <yz322@duke.edu>
2019-09-27 14:28:52 -04:00
curry9999 d4f4983a89 To improve readability, we added a line feed. (#43801)
* 	modified:   google/gcp_compute_backend_bucket.py
	modified:   google/gcp_compute_backend_service.py
	modified:   google/gcp_compute_forwarding_rule.py
	modified:   google/gcp_compute_global_forwarding_rule.py
	modified:   google/gcp_compute_image.py
	modified:   google/gcp_compute_instance.py
	modified:   google/gcp_compute_instance_group.py
	modified:   google/gcp_compute_instance_group_manager.py
	modified:   google/gcp_compute_instance_template.py
	modified:   google/gcp_compute_route.py
	modified:   google/gcp_compute_subnetwork.py
	modified:   google/gcp_compute_target_http_proxy.py
	modified:   google/gcp_compute_target_https_proxy.py
	modified:   google/gcp_compute_target_ssl_proxy.py
	modified:   google/gcp_compute_target_tcp_proxy.py
	modified:   google/gcp_compute_url_map.py
	modified:   google/gcp_container_node_pool.py
	modified:   google/gcp_dns_resource_record_set.py
	modified:   google/gcp_pubsub_subscription.py
	modified:   google/gcp_storage_bucket_access_control.py

* 	modified:   lib/ansible/modules/cloud/amazon/aws_ses_identity.py
	modified:   lib/ansible/modules/cloud/amazon/route53_facts.py
	modified:   lib/ansible/modules/cloud/cloudscale/cloudscale_server.py
	modified:   lib/ansible/modules/network/aos/_aos_logical_device.py
	modified:   lib/ansible/modules/network/aos/_aos_rack_type.py
	modified:   lib/ansible/modules/network/aos/_aos_template.py
	modified:   lib/ansible/modules/network/cumulus/nclu.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_wait.py
2019-09-27 14:28:52 -04:00
Will Thames 24cedcc560 Allow tower_inventory_sources params to be False (#43749)
Ensure that params set to False are respected, rather than ignored.
2019-09-27 14:28:52 -04:00
Pilou 64014faf02 Tower modules: move HAS_TOWER_CLI check in module_utils and minor improvements (#39809)
* tower_* modules: move HAS_TOWER_CLI in TowerModule

Besides this change allows to define other common parameters such as
mutually_exclusive.

* tower_*: config file can not be used with auth params

* tower module_utils: remove useless call to expanduser

'path' type: expanduser & expandvars are automatically called
2019-09-27 14:28:51 -04:00
David Moreau Simard 9b228d7d2d Properly detect credentials for tower_project
It seemed like it was mostly the wrong variables been looked at, making
it so a git repository could not be created without a credential.
2019-09-27 14:28:51 -04:00
Pierre-Louis Bonicoli 1349449e1e tower_project: manual projects don't require creds 2019-09-27 14:28:51 -04:00
Abhijeet Kasurde 185e9a09e0 Correct typo from 'Valut' to 'Vault' (#41574)
Correct typo from 'Valut' to 'Vault'

+label: docsite_pr
2019-09-27 14:28:51 -04:00
jaevans 623e0f7cc9 Add support for Tower Smart inventories (#41458)
* Support Smart Inventories

Add kind and host_filter fields and pass through to tower_cli.

* Add documentation for new Smart Inventories options

* Add missing description header for host_filter documentation

* Add version added tags to new options

* Bumped vesion_added to 2.7
2019-09-27 14:28:50 -04:00
Andrew J Huffman 8569bf71af Updating tower_job_template.py (#38821)
* Updating tower_job_template.py

* tower_job_template: Update parameter version_added to 2.7

* Ensure that unset credentials aren't passed

Passing empty strings for unset credentials causes ValueErrors as
the API expects an integer. Don't pass unset credentials
2019-09-27 14:28:50 -04:00