Commit graph

8023 commits

Author SHA1 Message Date
Matt Martz
493cf817a9 Don't rely on netloc for determining hostname and port, just use hostname and port (#56270)
* Add changelog fragment
* Fix IPv6 address parsing for py2.6, and add tests
* make sure hostname isn't None
2019-05-20 16:50:54 -04:00
The Magician
b712b01f6e Bug fixes for GCP modules (#55973) 2019-05-20 14:44:29 -04:00
The Magician
8d82df56ff Bug fixes for GCP modules (#55974) 2019-05-20 14:44:14 -04:00
The Magician
d4b29e7838 Bug fixes for GCP modules (#55975) 2019-05-20 14:43:57 -04:00
The Magician
e598eeeebe Bug fixes for GCP modules (#55977) 2019-05-20 14:43:37 -04:00
Zim Kalinowski
b37ae35ba0 azure_rm_azurefirewall (#56359)
* azure_rm_azurefirewall

* a few updates

* fixed mistake

* updated docs, fixed syntax

* updated priority

* use checkmode for idempotence test, as it's very long

* fix check mode
2019-05-20 10:38:55 -07:00
EvgenyF
ea4842c0d3 Changing the license to Apache 2 2019-05-20 10:14:32 -07:00
Martin Krizek
34e9d6781b Templar: encapsulate _available_variables (#55435)
Ensure variables are reset between iterations
2019-05-20 11:49:54 -04:00
rajaspachipulusu17
8c29c78e22 Pluribus Networks vrouter loopback interface module with UT (#56450)
* Pluribus Networks vrouter loopback interface module with UT

* Sanity fixes
2019-05-20 12:04:05 +05:30
rajaspachipulusu17
7a615a9e0e Pluribus Network vrouter ospf module with unit tests (#56435)
* Pluribus Network vrouter ospf module with unit tests

* Sanity fix

* Doc fixes
2019-05-20 12:02:05 +05:30
Andrey Klychkov
386cef18ed module_utils.postgres: added unittests (#56381) 2019-05-17 23:33:45 -07:00
Andrey Klychkov
f1b5836836 lib/ansible/parsing/ajson.py: added UNIT-tests (#56398) 2019-05-17 23:29:42 -07:00
Matt Clay
470371d009 Remove unused cloud config files.
These files have no associated cloud config plugin for ansible-test.
2019-05-17 12:21:52 -07:00
anasbadaha
5a7bce1f8d Adding New Model onyx_qos for Configuring QoS on Onyx Switches (#55127)
* Adding New Model onyx_qos for Configuring QoS on Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_qos

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures phase 2

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Samer's Comments on onyx_qos Module

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Shippable Comments Phase 3

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Current Version 2.9

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-17 14:20:56 -04:00
Matt Martz
576593e175
Whitelist listen as a valid keyword on TaskInclude (#56586)
* Whitelist listen as a valid keyword on TaskInclude. Fixes #56580

* Move 'listen' to HandlerTaskInclude

* Remove trailing newline
2019-05-17 12:52:39 -05:00
Nathaniel Case
63e33f7e71
Fix eos_l2_interface idempotency (#56531)
* Attempt to handle just mode trunk properly

* Add test for trunk-only config and clean up tests

* Add missing eapi tests and remove references to provider as we do not test local
2019-05-17 13:06:27 -04:00
Lukas Kämmerling
6c1a255d98 Fix hcloud tests 2019-05-17 07:25:25 -07:00
Martin Krizek
c6b40f4d40
register: fail when invalid var name is specified (#56456) 2019-05-17 11:02:03 +02:00
Yuwei Zhou
6c1dbbe554 Fix the test syntax (#56557) 2019-05-17 13:41:30 +08:00
Kevin Breit
2a187f362a meraki - Unchanged requests now return the original data (#53576)
* Unchanged requests now return the original data

* Add changelog fragment

* Add integration tests for returned data for meraki_network

* Add integration tests for returned data

* Improve idempoetent output
- Make MX l3 rules always show default rule
- Add integration tests

* Add integration tests for returned data on meraki_network

* Improved idempotency in a few modules and improved tests
2019-05-17 08:34:16 +05:30
mjmayer
c8e179fbf1 Aws waf region (#48953)
* Add waiter for AWSRegional

* Add support for WAF Regional

* Add support for regional waf web acl

* Remove set_trace, pep formatting

* Add paginator for regional_waf

* Change name of param for waf_regional

This is more in line with how AWS refers to the service. Additional
 changes made to how client is called. Used ternary to reduce if
 statements

* Change parameter name to waf_regional

* Add support for removal waf regional condition

* Change parameter from cloudfront to waf_regional

* Added state: absent waf rule

* Remove set_trace

* Add integration tests for waf regional

* WIP: adding region parameter to tests

* Add support for waf facts module

* Add region to waf regional integration tests

* Update security policy for waf regional testing

* Add type to documentation for waf_regional param
2019-05-17 10:36:14 +10:00
Gonéri Le Bouder
32620b7e00 vsphere_copy: fix the E309 error (#56537)
Resolve the two following errors:

ERROR: lib/ansible/modules/cloud/vmware/vsphere_copy.py:0:0: E309 version_added for new option (host) should be '2.9'. Currently None
ERROR: lib/ansible/modules/cloud/vmware/vsphere_copy.py:0:0: E309 version_added for new option (login) should be '2.9'. Currently None
2019-05-16 14:42:36 -07:00
Pilou
98246f6032 consul modules: update documentation (#56408)
* consul modules: Python 2.6 is always required on managed node, document all types, improve parameter descriptions, fix typos
* consul_kv: add doc for retrieve parameter
2019-05-16 13:54:05 -05:00
s-hamann
730456b402 Add seed parameter to random_mac filter (#51841) 2019-05-16 13:41:08 -04:00
Matt Clay
a910d19533 Temporary fix for vsphere_copy CI failure. 2019-05-16 10:08:20 -07:00
Kevin Breit
d59eb9edab meraki_switchport - Improve reliability (#54275)
* Rewrite much of the execution of meraki_switchport
- Previous versions had problems with idempotency and allowed_vlans

* Modified payload creation
- Parameter map is used
- propsed is created using .copy()
- Much cleaner this way

* Add whitespace for lint

* Add bugfix snippet for changelog
2019-05-16 12:10:32 -04:00
Matt Martz
4b0014166b Bump erlang ping to 1:20.3.8.18-1 2019-05-16 11:35:54 -04:00
Alicia Cozine
118cf3ece6
Cloud dev docs to rst (#56485)
* Moves developer docs for AWS, ovirt, and openstack modules out of lib/ansible/, integrates them with dev_guide, with abadger's fix to make python snippets pass rstcheck
2019-05-16 09:05:12 -05:00
Andrey Klychkov
75046f8410 postgresql_db: added tablespace support (#56390) 2019-05-16 12:13:40 +02:00
David Hewitt
50e9955a23 VMware: Add new module vmware_folder_info (#54344)
* Adds a new vmware module to support getting the folders and their paths within a datacenter
* Add integration tests
* Bump version added
* Refactor integration test
* Improve grammar in docs
2019-05-16 14:18:07 +05:30
James Tanner
940d58e1b3 Nullify improperly licensed test file 2019-05-15 13:57:36 -04:00
Kevin Breit
322cfa49d0 Meraki - Add check for auth_key parameter (#56199)
* auth_key parameter is required
- This will have to change when httpapi is implemented

* Add integration test

* Add assertion

* Enable VLANs on network

* Add required for auth_key
2019-05-15 11:45:07 -04:00
Paul Belanger
fa7aedc4c3 Remove hardcoded ansible user for junos_user integration tests (#56452)
It is possible we are using a different username then 'ansible' for
testing junos. By using ansible_user_id, this should be a more dynamic
check.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-05-15 11:09:09 -04:00
Abhijeet Kasurde
8ce09a0057 VMware: fix inventory plugin (#56431)
* Fixed regression introduced in #56071
* Added test to check if hostvars are populated
* Fix toml installation logic

Fixes: #56413

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-15 10:15:49 -04:00
Adam Miller
666dfdc551 YUM - handle enable of non-existent repo (#53286) 2019-05-15 08:45:54 +02:00
Abhijeet Kasurde
5ef2c5314e Fixed error handling in github_issue module (#39652)
* Fixed error handling in github_issue module

Due to recent changes in github3.py library module stopped working.
This fix adds extra error handling for new changes in library.

Fixes: #39627

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Check version

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Refactor github_issue

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-15 02:35:11 -04:00
ShachafGoldstein
8e2bff407a Change S3 bucket urls to new method as per #56124 (#56418)
* Change S3 bucket urls to new method as per #56124

* duplicate / and dded changelog fragment

* Revert "duplicate / and dded changelog fragment"

This reverts commit b89d5cbe6d983168212c44def537d87f0ed22204.

* duplicate /
2019-05-14 20:50:56 -04:00
Martin Krizek
826b99d4bd dnf: fix wildcard matching for state: absent (#56013)
* dnf: fix wildcard matching for state: absent

Fixes #55938

* Add changelog...

* Fix sanity check failure...
2019-05-14 17:34:10 -04:00
James E. King III
75788ecff4 azure_rm_virtualmachine (and _facts): add boot_diagnostics control and facts (#49661) 2019-05-14 12:06:06 -07:00
Matt Clay
4a2fa46429 Remove old references to cloud-config-aws.yml.
References to the new `cloud-config-aws.ini` file are provided by `"$@"` in tests.
2019-05-14 10:58:55 -07:00
Matt Clay
f9b56a5b56 Add sanity test to check for unwanted files. 2019-05-14 09:13:51 -07:00
Abhijeet Kasurde
7a32bd8080
VMware: Improve vmware_portgroup (#56382)
* Rewrite vmware_portgroup module
* support check mode
* VLAN ID isn't required anymore
* VLAN ID 0 (no tagging) is the default
* Options match values in vSphere Client and vmware_vswitch module
* Policy override is configured properly
* VMware: vmware_portgroup updates
2019-05-14 14:34:43 +05:30
Gonéri Le Bouder
cf78759f5b vmware_vm_facts: fix the support with regular ESXi
Ensure the module still work with the ESXi where CustomFieldsManager
does not exist.

From: https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/vim.CustomFieldsManager.html

    The CustomFieldsManager object is used to add and remove custom fields to
    managed entities.
    The custom fields values set on managed entities are available through the
    customValue property and through the summary objects for VirtualMachine
    and HostSystem. They are not available directly through this managed object.
    This functionality is only available through VirtualCenter.

Fixes: #56071
2019-05-13 17:25:16 -04:00
Gonéri Le Bouder
21d4e239b4 vmware_vm_facts: fix the test with vcsim
The VM is call `ha-host_VM0`, not `DC0_H0_VM0`. This commit adjusts
the test to make it more resilient if the VM name is different.
2019-05-13 17:04:17 -04:00
Gonéri Le Bouder
4b99a2ac50 vmware: use hostname in esxi_hostname
The use of the `hostvars[esxi1].ansible_host` was attempt to use
different hostname and IP address. But it's actually the source of
more problems.

VMware expects to be able to resolvable the host name. This means, that
if someone wants to run the test-suite, s/he needs to use a DNS or
update the `/etc/hosts` files on the different hosts.
2019-05-13 17:04:17 -04:00
Chris Van Heuveln
d0f2da4f76 nxos: remove deprecated test target files (#55949)
* nxos_switchport: remove deprecated test target files

* Remove tests for nxos_ip_interface, nxos_portchannel; update nxos_interface

- `nxos_ip_interface` and `nxos_portchannnel` tests have been removed

- `nxos_interface` now uses current module `nxos_l3_interface` instead of `nxos_ip_interface`
2019-05-13 10:43:01 +05:30
anasbadaha
0f852f01c0 Adding Support For EVPN in BGP Module (#55503)
* Adding Support For EVPN in BGP Module

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_bgp.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_bgp.py Phase 2

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Samer's Comments

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Remove file Variable

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:21:10 -04:00
anasbadaha
0cb0fa918f Adding Support for NVE Protocol in onyx_protocol (#55513)
* Adding Support for NVE Protocol in onyx_protocol

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_protocol.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:09:48 -04:00
anasbadaha
031655def0 Adding Support for Traffic Class in Onyx Switches (#55577)
* Adding Support for Traffic Class in Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Enhancing the code and elemenating code duplicate

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:08:52 -04:00
Abhijeet Kasurde
9f86257a65
VMware: support folder param in vmware_vm_facts (#56298)
folder can be used as a filter while gathering facts about VMs.

Fixes: #56125

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-11 11:56:57 +05:30
vicmunoz
ecdb616954 NetApp ONTAP module for manage ipspaces (#49821)
* NetApp ONTAP module for manage ipspaces

* fixes for ci_cd and code layout

* indentation fixes

* code style fixes

* fixing yamllint issue

* unit test for module na_ontap_ipspace

* fixing sanity tests

* change pytest.skip to pytest.mark.skip

* adding ansible version to 2.9
2019-05-10 11:24:02 -04:00
Chris Van Heuveln
1554befd95 nxos_vpc:Fix multiple idempotency issues, add missing commands (#55735)
* nxos_vpc:Fix idempotency issues with multiple attributes

Several attributes were causing idempotency problems on various platforms:

- `auto_recovery`
 - This command can be disabled on certain platforms and will nvgen as `no auto-recovery`
 - When enabled it has an additional optional-keyword for changing the `reload-delay` timer value
  - This was addressed by adding a new attribute `auto_recovery_reload_delay` to handle setting the timer value
  - This new attribute is mutually exclusive with `auto_recovery`

- `/show run vpc/show run vpc all/`
 - Changed the command that gets state to `all` so that it could differentiate between `auto-recovery` and `auto-recovery reload-delay`
 - This change resulted in also changing some attribute handling withing `get_vpc`, since some attributes like `peer_gw` relied on presence of the config to determine state true or false. With `all` the config is always there so these attrs must specifically check for `'no '` in the string.

- `delay_restore`
 - This command has two additional, optional keywords that exist on some platforms and not others.
 - New attrs:
  - `delay_restore_interface_vlan`
  - `delay_restore_orphan_port`

- Modified the `sanity` test to include the new attributes and to fix the platform issues.

- Bugfix Pull Request

`modules/network/nxos/nxos_vpc.py`

- Validated `nxos_vpc` `sanity` test on these platforms, all are now 100% Pass: N35, N3K, N3K-F, N6K, N7K, N9K, N9K-F

- TBD: Future work is needed to add support for `peer_gw_exclude_gw` timers. This could be addressed in the same way as the `auto_recovery_reload_delay` changes included here.

* lint fix

* Add 'version_added' tags for new options
2019-05-10 13:17:02 +05:30
Chris Van Heuveln
8c56c116e5 nxos_snmp_user: platform fixes for get_snmp_user (#55832)
* nxos_snmp_user: platform fixes for get_snmp_user

snmp user output behavior varies quite a bit for the different nxos platforms and required several workarounds:

- N5K/N6k
 - These platforms do not support structured output for `show snmp user`.
 - The current code lands in an `except` clause when the output is not structured; so I added a new `get_non_structured_snmp_user` method to scrape the state from the regular cli output if it's present.

- N9K-F
 - The `group` data in the JSON output is different for this platform; it has a different key (just `group` instead of `TABLE_groups` or `group_names`) and it is not indexed
 - For a single group the value is a string, for multiple groups it's a list

- sanity
 - N5K/N6K/N9K-F platforms will reject `no snmp user <name> <role>` when it's the last role defined for the user.
 - workaround is to use `nxos_user` to remove the user

- Changes validated on:
 - `N3K, N3K-F, N35, N6K, N7K, N9K, N9K-F`
 - `6.0(2)A8`
 - `7.0(3)I2, 7.0(3)I4, 7.0(3)I5, 7.0(3)I6, 7.0(3)I7`
 - `7.3(2)D1`
 - `7.3(3)N1, 7.3(4)N1`
 - `8.3(2)`
 - `9.2(2), 9.2(3)`

* fix lint warning
2019-05-10 13:10:49 +05:30
Felix Fontein
bd47e64bc7 Hetzner failover IP: refactoring (#56203)
* Rename helper function.

* Extract hetzner.py module_utils.

* Rewrite docs.

* Add module docs fragment.

* Split up get_failover function.

* Add tests for new function.

* hetzner_pass -> hetzner_password

* Move common argspec to module_utils.
2019-05-10 08:33:51 +02:00
Mike Wiebe
d55c0cf8dc nxos_vtp_*: Fixes n6k issues (#55737)
* Add n6k support for nxos_vtp_domain

* Add n6k support for nxos_vtp_version

* Add n6k support for nxos_vtp_password

* Fix shippable error
2019-05-10 10:54:51 +05:30
Yunge Zhu
f1ca5552aa fix webapp slot test (#56156) 2019-05-09 15:02:21 -07:00
Abhijeet Kasurde
499355fc13 VMware: Cleanup vCloud references (#56268)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-09 12:55:02 -07:00
Matt Clay
87d42ca11c Disable failing hcloud integration tests. 2019-05-09 09:50:49 -07:00
zengchen
d8314e1a45 refactor moudule utils of hwc_utils.py (#55858)
* use navigate_value instead navigate_hash

* add async wait method

* update dict compare

* remove unuse methods

* not all modules have timeouts parameter

* navigate_value, the input data may be None
2019-05-09 09:04:51 -04:00
Pavan Bidkar
34a8594c91 VMware: Modifying Rest Client to use vSphere-Api-Client instead of individual service(#55804)
* Same api client can be used for other service as well 
* Incorporated Review comments. Modified Category and Guest Fact modules which are also dependent on vmware_rest_client module util
* Adding Integration Tests for vmware_rest_client changes
* Changes to incroporate changes in vcsim testware
* Change to get vm name to attach the tag
2019-05-09 18:19:42 +05:30
Nathaniel Case
0bead3672f eos_config: Fix test issues (#56180)
* Alter tests to pass

* Change diff_against to make changed work again

* Add another diff_against

* Expose supports_sessions across all EOS connection types

* Change session warning to failure

* supports_sessions needs to be a method to survive the rpc boundary

* Alter tests to match
2019-05-09 18:02:24 +05:30
Paul Belanger
f9589bd4b1 Don't validate ip address for mgmt interface (#56136)
It is possible the EOS appliance doesn't have an IP address on the
management1 interface, instead just check we have found that interface.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-05-09 17:32:49 +05:30
rajaspachipulusu17
458b473d06 Pluribus network prefix list module (#55686)
* Pluribus network prefix list module

* Doc fix and unit test fix

* Added default value with args spec change

* Sanity fix
2019-05-09 10:31:06 +05:30
Mike Wiebe
bceca72eb7 nxos_interface: Fix admin_state check for n6k (#55673)
* Fix admin_state check for n6k

* Fix rx and tx_rate intent check test
2019-05-08 21:20:22 +05:30
Strahinja Kustudic
a5b6a161b5 sysctl will now return an error if the value is invalid (#55695)
* sysctl will now return an error if the value is invalid

sysctl can fail to set a value even if it returns an exit status 0. More
details: https://bugzilla.redhat.com/show_bug.cgi?id=1264080. Because of
this in case of an invalid value or a read-only file system, sysctl
module would return OK, even though it didn't set anything. To be sure
that sysctl correctly applied the changes we also need to check the
output of stderr.

* Run sysctl with LANG=C

Because we are parsing sysctl stderr we need to make sure that errors
are persistent across different system language settings.

* Add changelog fragment for sysctl
2019-05-08 11:34:55 -04:00
Chris Van Heuveln
cf585831b4 nxos_banner: test file cleanup (#55992)
- Created `sanity.yaml` to contain all of the tests previously kept in separate files

- Removed `cli` and `nxapi` test directories

- Tested on current supported platforms and versions: `N3K,N6K,N7K,N9K,N3K-F,N9K-F`
2019-05-08 21:01:11 +05:30
Trishna Guha
2e8a3efccb
Revert nxos, ios, iosxr return_timestamps (#56206)
* Revert "nxos_command:run_commands results failure when commands array size >1 (#52670)"
This reverts commit 0df5b92af3.
* Revert "added timestamps to nxos_command module (#50261)"
This reverts commit e150943314.
* Revert "added timestamps to ios_command module (#50323)"
This reverts commit 2a432a093b.
* Revert "added response_timestamps to iosxr_command module (#50095)"
This reverts commit 2a0c356da9.
2019-05-08 20:49:29 +05:30
Brian Coca
deae5b1bce
remove deprecated get_md5 from stat (#55659)
* remove deprecated get_md5 from stat

  fixes #55309

* removed get_md5 from tests involving stat

* keep get_md5 but hide it

* rst it

* ammended comment

* ws

* added ignore for hidden md5
2019-05-08 10:45:45 -04:00
Will Thames
cd95843ea5 Make ansible adhoc work with include_role (#56163)
* Make ansible adhoc work with include_role

Fix logic condition so that include_role works
without

```
ERROR! 'async_val' is not a valid attribute for a IncludeRole

The error appears to be in 'None': line 0, column 0, but may
be elsewhere in the file depending on the exact syntax problem.

(could not open file to display line)
```

* Add include_role test for adhoc
2019-05-08 09:53:24 -04:00
Trishna Guha
57e0567310
fix nxos_vlan mode idempotence bug (#55144)
* fix nxos_vlan mode idempotence bug

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Fix CI failure

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-05-08 11:19:15 +05:30
Felix Fontein
7a957ba64a openssl_certificate: fix passphrase handling for cryptography backend (#56155)
* Make sure passphrase is bytes string.

* Fix typo.

* Add more passphrase tests.

* Fix test names.

* Add changelog.
2019-05-07 23:58:15 -04:00
Felix Fontein
ba9fee6c37 Hetzner failover IP module (#56103)
* First version of Hetzner failover IP module.

* Extend module.

* Add comments.

* Add basic unit tests.

* Add more tests.

* Tests for set_failover.
2019-05-07 19:11:15 +02:00
Anatoly Pugachev
6e73150244 refactor iscsi network facts module, remove external grep call, add unit test (#55643)
* remove external grep call and parse with python
* use function for repeated code
* use module.get_bin_path() for iscsiutil on HPUX
* some code opt for HPUX
* clean up non-module code, module being defined is a requirement for this code
* import get_bin_path() directly and use without module prefix
* Add integration tests for AIX and HP-UX
* add changelog fragment
* Apply suggestions from code review
Co-Authored-By: mator <matorola@gmail.com>
* Apply suggestions from code review #2
Co-Authored-By: Sam Doran <sdoran@redhat.com>
* Remove strict requirement on executable to exist for get_bin_path() as
it will allow facts gathering to continue without an error. Almost all
other files under facts do not have "required=True" (except 2 files,
which should be probably fixed). And check return value for
get_bin_path() , before run attempt.

* add check for AIX lsattr run_command return code
2019-05-07 12:26:20 -04:00
Abhijeet Kasurde
2007a79952
VMware: Add managed object id in VM facts (#53523)
Fixes: #53372

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-07 17:05:38 +05:30
Ganesh Nalawade
ae373d5a10
Fix cli_config junos integration test failures (#56159)
*  Priviledge escalation is not required for junos
   cli_config backup opeation.
2019-05-07 06:56:17 -04:00
Andrey Klychkov
f79b6b06f1 postgresql_table: added cascade option (#56068) 2019-05-07 16:08:03 +05:30
Chris Van Heuveln
0e0c2a7db7 nxos_snmp_traps: fix 'group: all' for N35 platforms (#55995)
* nxos_snmp_traps: fix 'group: all' for N35 platforms

- `group: all` attempts to enable traps for all features defined in the module's `feature_list`

- `N35` platforms do not support `snmp-server enable traps bfd`; so removing `bfd` from the `feature_list` for that platform

- Minor cleanup in `sanity.yaml` test file

* whitespace lint fix
2019-05-07 13:57:55 +05:30
Nathaniel Case
d39be3d3e0 eos_bgp needs become: yes (#56131)
We don't specify that in hostvars, so add it to the tests
2019-05-07 12:13:38 +05:30
Yuwei Zhou
a62f0a2fda Fix dtl test typo (#56094) 2019-05-07 09:43:22 +08:00
Ganesh Nalawade
ec56ea4514
Fix junos_config backup testcase (#56148)
* For junos_config taking backup of running configuration
  does not required priviledge escalation.
2019-05-06 18:24:13 -04:00
wjohnston888
647ed207af Fixes Netconf_config single parameter bug (#56138)
* Fixes Netconf_config single parameter bug
Fixes 56022

fixed get_config to not require multiple parameters to just run a backup

* Add Integration test for netconf_config
Associated with #56022

tests backup through netconf only using one parameter.

* Added debug to the begin and end of file

* Fix formatting of save config.  #56022

* removed blank line at end: #56022
2019-05-06 17:30:49 -04:00
Deric Crago
9db3c8a40b bumped 'vcenter-test-container' to '1.5.0' 2019-05-06 17:07:47 -04:00
René Moser
f42a32ad36
cs_network_acl_rule: implement cidr/cidrs as list (#56083) 2019-05-06 22:36:26 +02:00
Matt Clay
864bd941af Add support for isolated virtualenv in tests. 2019-05-06 16:28:52 -04:00
Michael Tipton
dc711c3018 VMware: vCenter Cluster EVC Mode : new module (#56089)
* add vmware_evc_mode module

* alter result message for absent/absent

* Apply suggestions from code review

Co-Authored-By: CastawayEGR <36353334+CastawayEGR@users.noreply.github.com>

* add idempotency test

* change result dict to evc_mode_msg

* refactor to use pyvmomi class

* fix update to only process task on update

* minimize update code

* add single quotes around vars to match other code

* pass datacenter to cluster find

* add check_mode to disable test
2019-05-06 13:12:19 -07:00
Nilashish Chakraborty
fef1a10efc
Skip iosxr_bgp tests if device is not running XR 6.1.3 (#56123)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-05-06 23:03:20 +05:30
Paul Belanger
33d6f6f2dd Use stdout_callback yaml for network-integration tests (#56102)
This gives us a little more structure to our console logs, which make it
easier for machines / humans to parse. It will be helpful once the
ansible network team starts importing this data into elastic-recheck.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-05-06 21:01:40 +05:30
Felix Fontein
f692261ea0 oom_killer and oom_score_adj are available since docker-py 1.8.0. (#56012)
* oom_killer and oom_score_adj are available since docker-py 1.8.0.

* Add changelog.
2019-05-05 06:13:55 -04:00
Paul Belanger
59d20e004e Fix vyos_command integration test (#56091)
This has been broken for some time, but only noticed recently.  Because
vyos_command isn't supported on ansible_connection=local, update our
testing to account for that.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-05-05 09:04:47 +05:30
Paul Belanger
6e0f4c53b6 Add missing selectors2 requirement for network-integration tests
Otherwise, we get the following error:

  ERROR: ncclient 0.6.4 requires selectors2>=2.0.1, which is not installed.

when running ansible-test.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-05-04 19:39:03 -04:00
Felix Fontein
95d1564f70 docker_container: use restart() API function instead of stop/start sequence (#55894)
* Improve container restart.

* Adjust tests.

* Add changelog.

* Quote options.

* Move tests for restart/recreate options to start/stop tests.

* Fix changelog name.
2019-05-03 11:30:39 -04:00
Gonéri Le Bouder
541d73d82a vmware: refactoring of the vcenter_* test roles
Refactoring of `vcenter_folder` and `vcenter_license` to make use of the
new `prepare_vmware_tests` role.

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-03 11:03:19 -04:00
Gonéri Le Bouder
affaedfca8 vmware: refactoring of vmware test roles -- part7 (#55732)
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_resource_pool`
- `vmware_resource_pool_facts`
- `vmware_target_canonical_facts`
- `vmware_vcenter_settings`
- `vmware_vcenter_statistics`
- `vmware_vm_facts`
- `vmware_vm_host_drs_rule`
- `vmware_vm_vm_drs_rule`
- `vmware_vmkernel`
- `vmware_vmkernel_facts`
- `vmware_vspan_session`
- `vmware_vswitch`
- `vmware_vswitch_facts`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-02 23:19:01 -04:00
flowerysong
2ef8b297ff Fix loading namespaced doc_fragments from collections (#55249)
* Fix loading namespaced doc_fragments

The syntax for specifying a different fragment name was already
using '.' as a separator, so the code needed to be tweaked to
avoid choking on names like `testns.testcoll.fragname` and
`testns.testcoll.fragname.altvar`.

`get_plugin_class()` returns 'docfragment' for the fragment loader;
mangling `subdir` provides consistent alignment with the normal plugin
directory names and avoids needing special handling of plugin types
with 'module' in the name.

* Add changelog entry
2019-05-02 21:15:57 -04:00
Gonéri Le Bouder
2307797a76 vmware: refactoring of vmware test roles -- part3
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_drs_group`
- `vmware_drs_group_facts`
- `vmware_drs_rule_facts`
- `vmware_drs_portgroup`
- `vmware_drs_portgroup_facts`
- `vmware_dvs_portgroup_facts`
- `vmware_dvswitch`
- `vmware_dvswitch_pvlans`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-02 09:31:03 -04:00
Gonéri Le Bouder
636f8cbdab
Merge pull request #55730 from goneri/vmware_refact_part5
vmware: refactoring of vmware test roles -- part5
2019-05-02 09:28:17 -04:00
Gonéri Le Bouder
39d1794ed9 vmware: refactoring of vmware test roles -- part6
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_inventory`
- `vmware_local_role_facts`
- `vmware_local_role_manager`
- `vmware_local_user_facts`
- `vmware_local_user_manager`
- `vmware_maintenancemode`
- `vmware_portgroup_facts`
- `vmware_resource_pool`
- `vmware_resource_pool_facts`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-02 09:28:01 -04:00
rajaspachipulusu17
5309d6c131 Pluribus networks fabric local module with UT (#55872)
* Pluribus networks fabric local module with UT

* Sanity fix

* Ansible doc standards

* Unit test fix
2019-05-02 18:34:29 +05:30
Chris Van Heuveln
869fdcd7d4 nxos_acl: some platforms/versions raise when no ACLs are present (#55609)
* `nxos_acl` may fail with `IndexError: list index out of range` while attempting to delete a non-existent ACL.

The failure occurs when the `acl` var is an empty list.

* nxos_acl: catch 501 'Structured output unsupported' when no ACLs present

With some older image versions, `show ip access-list | json` will raise a 501 error indicating `'Structured output unsupported'` when there are no access-lists configured. This change turns off the `check_rc` and then looks for the failure condition.

* Fix kwarg

* Fix lint issues
2019-05-02 18:03:27 +05:30
Hideki Saito
c455635500 Fix firewalld source option handling to be exclusive (#55715)
- Fix issue #55683
- Add integration test for source option of firewalld module

Signed-off-by: Hideki Saito <saito@fgrep.org>
2019-05-01 17:47:47 -04:00
Toshio Kuratomi
3161a91d7e
Implement a framework for having common code for release scripts (#55893)
* Implement a framework for having common code for release scripts

* Release scripts will go through hacking/build-ansible.  build-ansible is
  a pluggable script which will set a directory that has common code for
  non-enduser scripts.  It will then invoke the plugin which implements
  that subcommand.  Uses straight.plugin for loading each sub-command.

* We're going to add tools which are needed to test ansible (the changelog
  generation, for instance) so we need to include the pieces relevant to
  that in the tarball.

* Add straight.plugin to the sanity test requirements for the same
  reason

* Skip compile test just for build-ansible plugins which won't be run as
  part of sanity tests.
2019-05-01 13:57:03 -05:00
Kevin Breit
a89a2cf33f meraki/meraki_network - Enable/disable VLANs on network (#48820)
* Redo branch to fix merge commit

* Add changelog fragment

* Make VLAN settings idempotent

* Fix conflict

* Change `version_added` to 2.9 instead of 2.8.
2019-05-01 12:24:39 -04:00
Gonéri Le Bouder
e4cca4e40a vmware: refactoring of vmware test roles -- part4
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_guest`
- `vmware_guest_boot_facts`
- `vmware_guest_custom_attribute_defs`
- `vmware_guest_customization_facts`
- `vmware_guest_disk_facts`
- `vmware_guest_facts`
- `vmware_guest_find`
- `vmware_guest_move`
- `vmware_guest_powerstate`
- `vmware_guest_snapshot`
- `vmware_guest_snapshot_facts`
- `vmware_guest_tools_wait`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-01 11:22:14 -04:00
Jordan Borean
cc3b8b9f72
win_acl - fix network path qualifier parsing (#55970) 2019-05-01 17:21:26 +10:00
Jordan Borean
5228133d74
Ansible.Basic - fix when deserialising a json string of an array (#55691)
* Ansible.Basic - fix when deserialising a json string of an array

* Added changelog fragment
2019-05-01 11:08:23 +10:00
Anatoly Pugachev
b9af6847c2 network facts, add unit test for FC WWN (#55848)
* use 'None' as return value for get_bin_path and set return code to non-zero on run_command error
2019-04-30 17:26:00 -04:00
Toshio Kuratomi
005487cba2 Make packaging dep explicit
A couple sanity tests require the packaging module.  The azure tests are
dragging it in but list it explicitly in sanity so we don't run into
problems if those are ever split up
2019-04-30 15:57:00 -05:00
jhawkesworth
0e8a77520c Refactor of win_xml (2nd attempt) to add support for processing multiple nodes and counting nodes matched by xpath (#53362)
* add multi-node manipulation, delete on xpath match only and count capability to win_xml

* fix pep8 and yamllint errors identified by ci tests

* fixed bugs when handling multiple elements, multiple attribute nodes and handling for attribute nodes when using xpaths that only select attributes like //@lang.  Added more tests and tweaked documentation.

* fixed line-too-long error

* fixed trailing space errors

* trailing whitespace expunged

* bump version_added to 2.9 for new changes

* fix PSAvoidUsingPositionalParameters sanity check failure

* refix sanity check as it broke the msg return value
2019-04-30 13:19:56 -07:00
Matt Clay
f6fbfeace8 Clean up use of connection: local in tests. 2019-04-30 11:35:08 -07:00
Matt Clay
e105f5b436 Install rabbitmq from s3 in tests. 2019-04-30 10:00:04 -07:00
Sloane Hertel
11279a909d fix combine filter using undefined vars (#55840)
* Check variables are defined before using combine filter

* Add tests for the combine filter

* Remove dependencies that should already be installed

* relocate the function to recursively check for undefined vars

add another test

* changelog
2019-04-30 11:10:19 -04:00
Gonéri Le Bouder
0e83384dfd vmware: refactoring of vmware test roles -- part2 (#55724)
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_datacenter`
- `vmware_datastore_cluster`
- `vmware_datastore_facts`
- `vmware_datastore_maintenancemode`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-04-30 06:22:49 -04:00
Gonéri Le Bouder
c8c0f8c51a vmware: refactoring of vmware test roles -- part1 (#55723)
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_about_facts`
- `vmware_cluster`
- `vmware_cluster_facts`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-04-30 05:38:43 -04:00
Matt Clay
cb0ca89994 Fix integration test role syntax.
This does not fix the tests themselves, only the syntax (converting from playbooks to roles).
The aix_devices test fails due to use of unsupported state values.
2019-04-29 13:51:36 -07:00
Sam Doran
b3ce3fc5eb
Restore ansible --version output (#55728)
* Add custom action class for version info
* Use args from CLI as prog for ArgumentParser object
* Make prog a required parameter of create_base_parser() and update all uses to pass in the newly required parameter.
* Add unit test for checking ansible --version
* Update other related unit tests
2019-04-29 16:38:31 -04:00
The Magician
164ceb599b Bug fixes for GCP modules (#55358) 2019-04-29 15:51:09 -04:00
The Magician
50b72ec2b5 Bug fixes for GCP modules (#55359) 2019-04-29 15:50:53 -04:00
The Magician
6193658608 Bug fixes for GCP modules (#55360) 2019-04-29 15:50:41 -04:00
The Magician
ef3607f1e7 Bug fixes for GCP modules (#55361) 2019-04-29 15:50:29 -04:00
The Magician
4a371ec84e Bug fixes for GCP modules (#55362) 2019-04-29 15:50:15 -04:00
Kevin Breit
274f6e4818 Removed legacy Digital Ocean tasks (#51786) 2019-04-29 12:16:31 -04:00
Martin Krizek
8e82baba4a
zfs: deprecate key=value 'option' (#55699)
* zfs: deprecate key=value 'option'

Fixes #55318

* Not needed to ignore these anymore
2019-04-29 08:07:22 +02:00
Matt Clay
149336319a
Clean up local_action and delegate_to in tests. (#55835)
* Remove unnecessary delegate_to in tests.

* Remove incorrect delegate_to in tests.

* Remove unnecessary use of local_action in tests.

* Remove incorrect use of local_action in tests.

* Remove unnecessary use of local_action in tests.

* Remove incorrect use of local_action in tests.

* Remove unnecessary use of local_action in tests.

* Use delegate_to instead of local_action in tests.

* Use setup_remote_tmp_dir instead of TMPDIR.
2019-04-26 17:33:59 -07:00
Matt Clay
2feda390b5 Fix ansible-test target change classification. 2019-04-26 14:14:16 -07:00
Matt Clay
03b2986227 Fix order integration test.
Previously the test always passed due to invoking cleanup on failure.
2019-04-25 22:35:36 -07:00
Matt Clay
272bb8da7a Fix test_postgresql dependency analysis. 2019-04-25 10:00:49 -07:00
Toshio Kuratomi
b71133eeb5 Use LooseVersion instead of StrictVersion as StrictVersion doesn't understand "rc1" 2019-04-25 10:56:20 -06:00
Matt Martz
2732cde031
Support using importlib on py>=3 to avoid imp deprecation (#54883)
* Support using importlib on py>=3 to avoid imp deprecation

* Add changelog fragment

* importlib coverage for py3

* Ansiballz execute should use importlib too

* recursive module_utils finder should utilize importlib too

* don't be dumb

* Fix up units

* Clean up tests

* Prefer importlib.util in plugin loader when available

* insert the module into sys.modules

* 3 before 2 for consistency

* ci_complete

* Address importlib.util.find_spec returning None
2019-04-25 10:28:18 -05:00
Gonéri Le Bouder
6d645c127f vmware: import prepare_vmware_tests
The vmware test roles do a lot of similar operation to prepare
the environment. This role will be used to reduce the amount of
duplicated code.

The role can prepare an environment on a baremetal environment, this
in addition to vcsim.

Original PR: https://github.com/ansible/ansible/pull/54882
2019-04-25 09:58:59 -04:00
Chris Van Heuveln
a568e018be nxos_ospf_vrf:sanity: ignore no default-metric idempotence tests when I7 images (#55615)
* nxos_ospf_vrf:sanity: ignore no default-metric idempotence tests when I7 images

This is a sanity test cleanup to handle a known image bug with (N9K) I7 images.
The I7 image rejects 'no default-metric' configs, so we're skipping the idempotence
tests that involve this bug.

Tested on N9K images: 9.2(2), 7.0(3)I7, 7.0(3)I2

* simplify check for I7
2019-04-24 17:41:48 +05:30
Chris Van Heuveln
4d46f44ff2 nxos_snmp_traps:sanity: skip idempotency tests for I7 image bug (#55618)
This is a sanity test cleanup to handle a known image bug with (N9K) I7 images.
The I7 image fails to enable some snmp trap link configs causing an idempotency failure in the sanity, so we're skipping the idempotence tests that involve this bug.

Tested on N9K images: 9.2(2), 7.0(3)I7.
2019-04-24 17:41:16 +05:30
Chris Van Heuveln
7ac28b25ff nxos_nxapi:configure:6k: Add platform excludes to test yamls (#55663)
`N6K` should be present wherever `N5K` is included/excluded.
2019-04-24 17:39:54 +05:30
Chris Van Heuveln
4798368b13 nxos_bgp_neighbor_af:sanity:6k: skip soft-reconfig 'always' test (#55661)
N5K / N6K do not support the `always` keyword on the `soft-reconfig in` configuration.
2019-04-24 17:39:35 +05:30
Chris Van Heuveln
91d187f780 nxos_snmp_host:sanity:6k: Add platform excludes for sanity tests (#55664)
N6K should be present wherever N5K is included/excluded.
2019-04-24 15:08:03 +05:30
Yuwei Zhou
0d3d002505 add resource group test (#55688) 2019-04-24 14:15:13 +08:00
Lars Kellogg-Stedman
35fdae7485 spelling: temaplte -> template (#55665)
Correct a common mis-spelling of 'template' including in the return
value of the lib/ansible/modules/cloud/cloudstack/cs_template.py
module.
2019-04-24 07:06:09 +02:00
Yuwei Zhou
e77260a4fb Enable azure manged disk test (#55681) 2019-04-24 12:43:52 +08:00
René Moser
e0ea5bb512
tests: vultr: fix tests due to vultr API changes (#55621) 2019-04-23 21:23:02 +02:00
René Moser
1705ef5f26
vultr_server: fix idempotency for private network and IPv6 options (#55619)
* vultr_server: fix idempotency for private network and IPv6 options

* add changelog
2019-04-23 21:22:17 +02:00
Matt Martz
db6cc60352
Migrate command line parsing to argparse (#50610)
* Start of migration to argparse

* various fixes and improvements

* Linting fixes

* Test fixes

* Fix vault_password_files

* Add PrependAction for argparse

* A bunch of additional tweak/fixes

* Fix ansible-config tests

* Fix man page generation

* linting fix

* More adhoc pattern fixes

* Add changelog fragment

* Add support for argcomplete

* Enable argcomplete global completion

* Rename PrependAction to PrependListAction to better describe what it does

* Add documentation for installing and configuring argcomplete

* Address rebase issues

* Fix display encoding for vault

* Fix line length

* Address rebase issues

* Handle rebase issues

* Use mutually exclusive group instead of handling manually

* Fix rebase issues

* Address rebase issue

* Update version added for argcomplete support

* -e must be given a value

* ci_complete
2019-04-23 13:54:39 -05:00
Xaroth
a9f24e097f Add ansible_parent_role_names magic variable (#46687)
-Add: Test cases for ansible_parent_role_names and ansible_parent_role_paths
-Add: ansible_parent_role_names/paths variables for when a role is being included by another role.
2019-04-23 11:55:05 -04:00
Brian Coca
780ee45819
ensure inventory plugin loading rel to play (#51177)
Ensure inventory plugin loading rel to play

  fixes #51033

*  clarify paths
* now adding dirs funciton in loader
* better warnings
* each cli should handle adding dirs depending on context
2019-04-22 19:32:50 -04:00
Jordan Borean
66493e47cf
ansible-test: Use psrp for 2008 host ci_complete (#55273)
* ansible-test: Use psrp for 2008 host ci_complete

* reset Shippable info back to default
2019-04-23 08:13:03 +10:00
Hannes Ljungberg
14c60e6ec8 docker_swarm_service: Use str type for configs/secrets gid/uid (#55591)
* Change type of secrets gid/uid to str
* Add changelog fragment

Co-Authored-By: hannseman <hannes@5monkeys.se>
2019-04-22 11:29:46 -04:00
Fred-sun
97b336767c update main.yml (#55550) 2019-04-22 09:52:17 +08:00
David Passante
9421a7fddf cs_loadbalancer_rule: add cleanup on unit tests (#55387) 2019-04-18 23:58:41 +02:00
Sloane Hertel
afb5e02c19 preserve same order as inventory manager when using host lookup (#55331)
* preserve same order as inventory manager when using inventory_hostnames lookup

add a test

* move generic code
2019-04-18 15:54:03 -04:00
Felix Fontein
c8a15b9dbc crypto modules: use module_utils.compat.ipaddress when possible (#55278)
* Use module_utils.compat.ipaddress where possible.

* Simplify reverse pointer computation.

* Use dummy for unused variables.

* Remove from ignore list.

* Adjust fix.

* Fix text handling for Python 2.

* Add changelog.
2019-04-18 15:36:53 +01:00
Alex Stephen
e298de0986 GCP deprecations (#53355)
* gcdns_record deprecation

* gcdns_zone deprecation

* gcp_forwarding_rule deprecation

* gcp_url_map deprecation

* gcspanner deprecation

* gcp_healthcheck deprecation

* porting guide

* test failures

* forgot to rename

* deprecating

* porting guide changes

* unit test fixes

* changing ignores
2019-04-18 15:30:27 +01:00
Rui Moreira
10b02e17b9 Dms endpoint module (#54660)
* - initial commit for the modules and tests

* initial implementation based on ec2_asg

* docstring implemtation and further methods initial implementation

* refactoring and pylint changes

* further implementation and integration tests

* added examples and parameter documentation

* removed files that were essentially templates

* added waiter for delete and updated the tests

* removed unit test

* fixed pep8 failure

* fixed pep8 failure

* fixed pep8 password field issue

* fixed pep8 password field issue

* fixed syntax issues

* fixed pep8 defaults

* password property documentation was breaking yaml

* fixed pep8 defaults

* fixed lack of defaults for wait parameter

* added default to boolean parameter

* pep8 fix

* fixed author entry

* adding type to wait parameter

* adding type to wait parameter

* fixed linting issues

* updated description and removed default from docs

* added metaclass
changed default for boolean

* changed declared defaults

* - fixe the delete function
- solved the yaml syntax issue

* added missing defaults for timeout, retry and removed the one for endpointtype as it should be None, becasue parameter is Required anyway

* fixed RETURN documentation issue

* trying to fix the import placement error

* trying to fix the doc error for missing params

* pep8 issues

* added endpoint aliases

* - added documentation

* pep8

* changed to unsupported tag

* changed no_log fact to yes in the integration tests

* added suggested changes to the integration tests

* - making severname use resource_prefix as well as a more generic domain
- removing test fact
2019-04-18 20:27:40 +10:00