Commit Graph

208 Commits (e9270fb100f4d550888513b2af37b185d6e7d838)

Author SHA1 Message Date
John R Barker 7c4b91844d
More validate module fixes (#39097)
* Fix type bool DOCUMENTATION issues
2018-04-24 18:05:50 +01:00
Eric Brown 4e38036bbd Replace the hard-coded temp path in gunicorn module (#38349)
The gunicorn module has a hard-coded reference to '/tmp' which may
or may not be the actual temp directory for an operating system.

This patch replaces '/tmp' with module.tmpdir which should
resolve to the correct temp directory for the OS.

Fixes Issue #36953

Signed-off-by: Eric Brown <browne@vmware.com>
2018-04-05 16:31:21 -04:00
James Hogarth 509f52a8ed ISSUE-37945 output not populated on failure (#37952)
* ISSUE-37945 output not populated on failure

This always includes output, but it is empty on failure.

* handle the other failcases as well
2018-04-05 05:49:10 -04:00
Felix Fontein 93fc99c576 Making clearer that the module has to be executed twice, and that the second run needs the data of the first (#37884). (#38135) 2018-03-31 10:07:00 -04:00
Felix Fontein 8b98c29afd Remove the deprecated tls-sni-02 challenge method. (#38137) 2018-03-31 03:17:12 -04:00
Tim Werner a51a699314 make jira authentication Python3 compatible (#33862)
* make jira authentication Python3 compatible
2018-03-22 14:38:01 -07:00
Felix Fontein 60fee5154b letsencrypt: don't mask values specified in data (#37556)
* Don't mask values specified in data.

This heavily improves readability of error messages such as
'Authorization for ******** returned in********:  CHALLENGE: ********-01 DETAILS: Incorrect TXT record "********" (and 1 more) found at ********.********;'
(verbatim quote).

* Added documentation.
2018-03-18 16:51:50 -04:00
Felix Fontein 190755ff65 Fixing domain to authorization matching for ACME v2. (#37558) 2018-03-17 19:03:16 -04:00
Ryan Petrello 872a7b4a7a add some Tower module integration tests (and fix a bug or two) (#37421)
* add additional test coverage for tower modules

* add test coverage for the tower_credential module

* add test coverage for the tower_user module

* fix a bug in py3 for tower_credential when ssh_key_data is specified

* add test coverage for tower_host, tower_label, and tower_project

* add test coverage for tower_inventory and tower_job_template

* add more test coverage for tower modules

- tower_job_launch
- tower_job_list
- tower_job_wait
- tower_job_cancel

* add a check mode/version assertion for tower module integration tests

* add test coverage for the tower_role module

* add test coverage for the tower_group module

* add more integration test edge cases for various tower modules

* give the job_wait module more time before failing

* randomize passwords in the tower_user and tower_group tests
2018-03-16 13:28:19 -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
Pilou c718c42df4 ansible_tower modules doc: fix typos, use formatting functions (#37414)
* fix typos

* use formatting functions

* use 'job template' instead of 'job_template'

* acronyms: user uppercase

* become_enabled param is about privilege escalation
2018-03-15 13:58:50 +10:00
Felix Fontein 042ad70da0 Production ACME v2 endpoint is available. (#37369) 2018-03-13 16:59:50 -04:00
Felix Fontein 3ce325e35e Improving EC account key parsing (see #37275). (#37293) 2018-03-12 06:54:06 -04:00
Sebastian Gumprich 16c564c4b4 fix spelling mistakes in several modules (#36296)
* fix more spelling mistakes

* fix spelling mistakes
2018-03-12 11:00:19 +01:00
Felix Fontein 155adb1631 Using correct content type (as per version 10 of ACME draft). (#37165)
* Using correct content type (as per version 10 of ACME draft).

* Another incompatibility with ACME v2: body must be {} and not contain v1 data (Pebble fails otherwise).

* Fixing bug: self.args in a subclass of Exception is apparently always a tuple.
2018-03-08 09:11:20 -05:00
René Moser 4705edd1a7
letsencrypt: add new param force (#37077)
* letsencrypt: add new param force to ignore remaining days

* letsencrypt: fix E325
2018-03-06 20:51:24 +01:00
Ryan Petrello 0e7106b106 properly pass /api/v1/ credential fields for older Towers (#36917) 2018-03-01 15:22:29 -05:00
Ryan Petrello a82043939b properly detect the absence of credential_type in older tower-cli (#36908) 2018-03-01 10:36:18 -05:00
Ryan Petrello 641f8b4ef6 tower cred: support credential kind/type for /api/v1/ and /api/v2/ (#36662)
older versions of Tower (3.1) don't have a concept of CredentialTypes
(this was introduced in Tower 3.2).  This change detects older versions
of pre-3.2 tower-cli that *only* support the deprecated `kind`
attribute.
2018-02-26 13:12:54 -05:00
Ryan Petrello 8a41233202 tower cred: update kind options in documentation 2018-02-23 10:49:07 -05:00
Ryan Petrello cd6855275e tower cred: filter user name lookup by the proper key 2018-02-23 10:49:07 -05:00
Ryan Petrello 9cb4b70e27 tower cred: implement credential /api/v1/ kind compatability 2018-02-23 10:49:07 -05:00
Thierry Bouvet 640749d54f Fix credentials for Tower API V2 2018-02-23 10:49:07 -05:00
Felix Fontein cd9d554186 Letsencrypt authz deactivation (#36362)
* Allow to deactivate authz objects. Currently only after success.

* Making sure cleanup is done even when module fails (except if fetch_url() fails).

* Make deactivate_authzs eat exceptions so that all authzs are deactivated in case of errors.
2018-02-19 05:29:31 -05:00
Abhijeet Kasurde 6bd0fbb63c Remove deprecated get_exception API
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-05 23:39:56 -05:00
Felix Fontein 2c482847ce letsencrypt: fix account key detection for keys created by openssl_privatekey (#35534)
* Fixing key detection if key was generated with openssl_privatekey.

* Fixing error formatting.
2018-01-31 02:24:08 -05:00
Chris St. Pierre c24e092865 Add jenkins_job_facts module (#35346)
* Add jenkins_job_facts module

* Fix docs

* Fix connection error handling

* Add support for filtering by color

* Miscellaneous code cleanup

* Spell out "underscore" in comment

* Update required state in docs
2018-01-30 23:42:33 +01:00
Felix Fontein 2ebb611b50 Changing letsencrypt module to use ACME v2 protocol (update) (#35283)
* Adding warnings.

* Forgot choices for acme_version in code.

* Removed 'errors' support again.

* For DNS challenges, also return complete record to simplify wildcard generation (see #35283).

* Also returning order URI and account URI. This is mainly for debugging purposes.

* Adding more clear separation between the two calls. Avoids problems where code during second call thinks it is during first call and doesn't stop with error, but doesn't obtain a new certificate either.

* Added validate_certs parameter.

* Actively discouraging from setting validate_certs to false.

* Fixing DNS challenge example.

* Adding new output challenge_data_dns, which simplifies DNS challenges.
2018-01-30 17:39:58 -05:00
Felix Fontein a69445e218 Allowing to write intermediate certificate into file. (#34328)
* Allowing to write intermediate certificate into file.

* Fixing merge errors introduced in 25b1db5 (#34916).
2018-01-26 01:48:13 -05:00
Felix Fontein e75055923b Changing behavior of new fullchain argument. (#34916) 2018-01-25 08:32:45 -05:00
Felix Fontein b50ab8eebd Letsencrypt: cleaning up tempfile code (2) (#35278)
* Cleaning up another tempfile opening.

* Avoid exception.
2018-01-25 03:58:24 -05:00
Felix Fontein 5959b93248 Removing underscore variables in letsencrypt module (#35282)
* Changing all _ variables to dummy (except one which will go away in #35278).

* dummy? -> dummy
2018-01-25 17:18:38 +10:00
Felix Fontein 8095815b32 Changing letsencrypt module to use ACME v2 protocol (#34541)
* Adding support for ACME v2 protocol to Let's Encrypt module.

* Retry if nonce is invalid. (https://github.com/letsencrypt/Pebble#invalid-anti-replay-nonce-errors)

* Add support for errors list (also see letsencrypt/boulder#3339).
2018-01-24 08:38:36 -05:00
Felix Fontein 0f17d74f0f tempfile.mkstemp() actually returns a file descriptor which should be closed. (#35263) 2018-01-24 12:06:10 +00:00
Robin Roth ec80f8ad80 Add identifier option to apache2_module (#33748)
* Add identifier option to apache2_module

There is a convention connecting the name passed to a2enmod and the one
appearing in apache2ctl -M. Not all modules follow this convention and
we have added a growing list of implicit conversions.
As a better long-term solution this adds an "identifier" option to be
able to set both strings explicitly.

* Run debian-specific tests only there

* Improve cleanup after apache2 tests

This is a follow-up/extension of https://github.com/ansible/ansible/pull/33630

* Add example for the new identifier option

* Put all debian tests in a block
2018-01-23 18:56:59 +01:00
Felix Fontein 784853da35 Accepting SANs marked as critical (fixes #32767). (#35057) 2018-01-19 04:14:33 -05:00
Felix Fontein 39a7e0a975 Extending documentation (#35077)
- Adding Let's Encrypt production ACME directory URL
- Marking examples as one big example with several alternatives for the first step
- Adding another example which uses aliases for options, and uses DNS-01 challenges
2018-01-19 03:42:44 -05:00
Felix Fontein 3a4b69096f Clarifying documentation about account key being different from certificate's private key. (#35059) 2018-01-18 16:08:34 -05:00
Felix Fontein 80361ce4da Making letsencrypt module work with Python 3. (#34324) 2018-01-17 05:27:12 -05:00
Felix Fontein 1d26686b09 Secure letsencrypt account_key_content better (#34979)
* Ensure temp account key file cleanup even when module fails.

* Adding warning to documentation on pitfalls of using account_key_content.
2018-01-17 03:02:06 -05:00
Felix Fontein c42c0f0cb3 letsencrypt: Add support for Elliptic Curve account keys (#34852) 2018-01-16 20:49:34 +01:00
Felix Fontein 8d69eb4488 letsencrypt: fix fullchain is False by default. (#34912) 2018-01-16 20:33:16 +01:00
John R Barker 195beebcb4
Module DOCUMENTATION should match argspec (#34895)
* Module DOCUMENTATION should match argspec

Large update of many modules so that DOCUMENTATION option name and
aliases match those defined in the argspec.

Issues identified by https://github.com/ansible/ansible/pull/34809

In addition to many typos and missing aliases, the following notable
changes were made:

* Create `module_docs_fragments/url.py` for `url_argument_spec`
* `dellos*_command` shouldn't have ever had `waitfor` (was incorrectly copied)
* `ce_aaa_server_host.py` `s/raduis_server_type/radius_server_type/g`
* `Junos_lldp` enable should be part of `state`.
2018-01-16 12:18:51 +00:00
Adam Miller d860e13ae1 Add validate_certs to jira module (#34756)
The jira module uses ansible.module_utils.urls.fetch_url which will
attempt to get that value of the validate_certs parameter from the
module; if present it will honor it's value, otherwise it defaults
to True.

This patch adds that parameter to jira so that it can be specified
by the user and honored by ansible.module_utils.urls.fetch_url

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-01-11 23:39:07 -05:00
Oliver Gondža 30cae1c356 Do not prevent username logging in jenkins_script module (#34459) 2018-01-04 10:03:01 -05:00
Michael Scherer b0fc65bf9b Add doc fragment for files (#33953)
Found by Pilou- and spredzy during co-debugging #32676
2018-01-03 11:04:18 -05:00
Toshio Kuratomi 120af786af Remove params option from examples 2017-12-19 12:04:14 -08:00
nathaniel gentile 441dc369ba py3 compatibility: convert bytes to str (#33206)
Fixes #31723
In python3, ansible's fetch_url utility function wraps urllib.request.urlopen.
For HTTP and HTTPS URLs, this function returns a http.client.HTTPResponse object slightly modified.
Calling .read() on an HTTPResponse object returns bytes (note the docstring fix).

Here, to_native is used to convert the bytestrings returned by fetch_url into unicode strings.
This is necessary because:
  1. Pre python3.6, json.loads requires passing a string, not a bytestring, as its argument
  2. In python3 generally, testing if a string is a substring of a bytestring
     using the 'in' operator will raise a TypeError

see:
- https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen
- https://docs.python.org/3/library/http.client.html#http.client.HTTPResponse.read
- https://docs.python.org/3/library/json.html#json.loads
2017-12-15 16:17:15 -06:00
René Moser d307dee4db
letsencrypt: add new param account_key_content (#32948)
* letsencrypt: add new param account_key_content

* rename account_key_path to account_key_src

* fix error in removing temp keyfile
2017-12-09 08:48:15 +01:00
bverschueren 3a634058f3 python3 support for letsencrypt module (fixes #30690) (#32734)
*   python3 support for letsencrypt module (fixes #30690)
  * initialize result to a dict in some methods to prevent 'NoneType is not iterable' TypeError
  * use dict.get() to retrieve values from info dict to prevent KeyError
  * convert to/from text/bytes using _text methods for PY3 support
2017-12-07 17:21:37 -08:00