Commit graph

23573 commits

Author SHA1 Message Date
Mariusz Mazur
79119c62cd Correct wording in k8s module description (#47125) 2018-10-16 11:52:18 -05:00
Abhijeet Kasurde
b48526ca65
VMware: new module: vmware_guest_disk (#36165)
1. Add support for SCSI controller creation
2. Support for SCSI Type
3. Warn about Disk Unit Number 7
4. Allow specifying SCSI controller
5. Allow specifying Disk Unit Number
6. Idempotency
7. Remove disks
8. Do not allow to reduce disk
9. More than 15 disks support
10. No SCSI controller and unit number check
11. Thin support
12. Update documentation and example
13. Multiple Datastore and datastore cluster support
14. Check datatype of disk unit number and SCSI controller
15. Handle disk_size when it is int or float

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-16 18:37:20 +05:30
Fran Fitzpatrick
ab8ed2f84d Add unit tests for junos terminal (#47103) 2018-10-16 15:14:38 +05:30
Joey
c3cc2ecc5b ovirt_storage_domain: Improve logic for state controlling. (#46951) 2018-10-16 05:26:31 -04:00
Matt Hoffman
acbecd5f23 adds redirect configurations and probes to azure_rm_appgateway (#46607) 2018-10-16 10:34:24 +08:00
Wholeshoot
96db9a55e2 bigip_firewall_rule -- missing port_range (#47077)
port_range was missing from bigip_firewall_rule
2018-10-15 16:16:39 -07:00
Matt Martz
c3d5779a41
Use the copied and merged task for calculating task vars in the free strategy. Fixes #47024 (#47060) 2018-10-15 16:07:52 -05:00
Abhijeet Kasurde
871dd77f2b efs_facts: Documentation update (#46826)
* Update pydoc
* Update module documentation and example
* Add aliases for name as creation_token

Fixes: #28738

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-15 14:46:24 -04:00
Jorge Rodriguez (A.K.A. Tiriel)
150e9db568 rabbitmq_binding: Fix misnamed reference (#47049)
Fix for bug introduced in #18437
2018-10-15 23:54:27 +05:30
Zim Kalinowski
1c520ff70b adding postgresql firewall rule (#45077)
* adding postgresql firewall rule

* fixed test problems

* add state into the doc

* use lropoller

* updated samples and some naming
2018-10-15 10:17:42 -07:00
Zim Kalinowski
ca5460dd86 Adding mysql firewall rule module (#45074)
* adding mysql firewall rule

* fixed mysql firewall rule

* use mgmtclient from common

* fix pep8

* small updates

* minor docs fix
2018-10-15 10:11:26 -07:00
Shuang Wang
d302485f99 option [others] of get_url is unnecessary (#47005)
* parameters [others] of get_url is unnecessary

* delete a blank line

* test

* delete ignore

* Update get_url.py
2018-10-15 09:24:48 -05:00
Sumit Jaiswal
8a6059ad0a
revert 46677 changes (#47044) 2018-10-15 15:35:55 +05:30
Mike Healey
c73b2aa415 VMware: Added secure boot enable/disable to vmware_guest_boot_manager. (#46717)
* Added secure boot enable/disable to vmware_guest_boot_manager.  Also added its state to facts
* VMware does not support secure boot when boot_firmware is bios.  Add some guardrails to protect the user from misconfiguration
* Address review comments
2018-10-15 15:02:01 +05:30
Abhijeet Kasurde
ebeb788117
VMware: Provide facility to specify path for template (#38031)
When multiple virtual machines or templates are found in environment,
module needs folder path. This fix adds facility to specify folder path
for template or virtual machine if multiples are found.

Fixes: #37087

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-15 14:59:48 +05:30
Ganesh Nalawade
5394638047
Fix in confirmed_commit capability in netconf_config modules (#46964)
* Fix in confirmed_commit capability in netconf_config modules

Fixes #46804

*  If confirm value is greater than zero or confirm_commit option is set and confirmed-commit
   capability is not supported but Netconf server only in that case fail the module

* Update confirm-commit flag

* Minor changes
2018-10-15 11:34:35 +05:30
Sumit Jaiswal
9ddceaf78d
Fix to resolve bug 46671, which now handles checking for Nonetype connection prompt (#46677)
* added Nonetype check

* implemented review comment

* review changes
2018-10-15 11:21:06 +05:30
Christian Kotte
849912c01b VMware: Improve module vmware_host_datastore (#45652)
* Don't execute mount or umount in check mode
* The datastore was mounted or unmounted when you execute the playbook in
check mode.
* Test if running in check mode before mounting or unmounting the
datastore.
* Add support for NFS v4.1 datastores
2018-10-14 18:13:36 +05:30
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
Dag Wieers
5fa51f3cd8 Add ConnectionError too 2018-10-13 21:47:13 +02:00
Dag Wieers
820f9f9c1e Move requests import into pypsrp try-block 2018-10-13 21:47:13 +02:00
Dag Wieers
6693adc9b2 WinRM/PSRP: Add support for unreachable
Currently PSRP connection always fail, even if the system is not
reachable. This PR fixes this.
2018-10-13 21:47:13 +02:00
Thomas Hughes
db304c27c7 Fix spelling issue (#46982)
Corrects spelling from `fo` to `of` for `storage_blob_name`

+label: docsite_pr
2018-10-13 09:38:07 +05:30
Matt Clay
3033fd96b0
Move unit test compat code out of lib/ansible/. (#46996)
* Move ansible.compat.tests to test/units/compat/.
* Fix unit test references to ansible.compat.tests.
* Move builtins compat to separate file.
* Fix classification of test/units/compat/ dir.
2018-10-12 20:01:14 -07:00
Sandra McCann
c44860057e update sros metadata to certified (#46981) 2018-10-12 14:48:16 -05:00
Jonathan Oddy
f2dccb90e8 Restore SIGPIPE handler to DFL on POpen
Python sets the SIGPIPE handler to SIG_IGN. On execv() signal handlers are
reset to their defaults, EXCEPT those that are SIG_IGN which are left ignored.
In Python 3 subprocess.popen explicitly resets the SIGPIPE handler to SIG_DFL,
but unfortunately in Python 2.7 it does not. This leads to subprocesses being
executed with SIGPIPE ignored. This is often a problem with bash scripts which
rely on SIGPIPE to terminate commands in a pipe, but can easily be a problem
with other applications.

This implements the Python 3 behaviour for Python 2.7 by using a preexec_fn.
2018-10-12 12:31:24 -07:00
Sandra McCann
1015c50034 update cyberark metadata to certified (#46978) 2018-10-12 13:54:48 -05:00
Sandra McCann
4513298971 Change netapp ontap and elementsw modules to certified (#46974)
* netapp ontap and elementsw modules to certified
2018-10-12 13:54:23 -05:00
Sandra McCann
f138f7019f Mark NIOS modules as certified (#46973)
* updated NIOS community modules to certified

* moved remaining nios modules to certified
2018-10-12 13:53:52 -05:00
Sandra McCann
dc3407eaeb changed F5 module metadata to certified (#46849) 2018-10-12 10:57:28 -05:00
Matt Martz
a06a5ded61
Do not use mutable defaults in FieldAttribute, instead allow supplying a callable for defaults of mutable types. Fixes #46824 (#46833) 2018-10-12 10:43:09 -05:00
Sandra McCann
0dd17b521f change UCS modules to certified (#46848) 2018-10-12 10:35:52 -05:00
Brian Coca
9e0c2a658f
better information for user from inventory plugins (#46766)
* better information for user from inventory plugins

 - use foreman as example
2018-10-12 11:27:29 -04:00
Brian Coca
a5bd84758a simpler/shorter option names for user
- internally we can keep long names, but user should not require extra typing
2018-10-12 11:23:42 -04:00
Brian Coca
3453dace85
use to_text instead of str in async_status (#45990)
* use to_text instead of str in async_status

* used to_native instead as per feedback
2018-10-12 10:04:37 -04:00
Brian Coca
643ff29d2d
use ansible json encoder for results in callbacks (#46830)
* use ansible json encoder for results in callbacks
2018-10-12 09:37:56 -04:00
Christian Kotte
ade5d938c3 VMware: Improve module vmware_host_config_manager (#46264)
* Improve module description
* Add check mode support and change message
2018-10-12 15:16:12 +05:30
Gustavo Muniz do Carmo
739a129322 ldap_attr: typecast values to list (#46818)
Adding a value to an attribute or removing a value from an attribute of a LDAP entry throws the exception TypeError: object of type 'filter' has no len()
2018-10-12 15:06:06 +05:30
Will Thames
b772485d97 Ensure that k8s_facts always returns resources key (#46733)
Fix bug returning `items` key if NotFound exception is hit
2018-10-12 05:11:48 -04:00
Alb0t
e2b9c36080 Add Alibaba to RedHat family list. (#46828) 2018-10-12 10:23:03 +02:00
Matt Davis
3e18bbec34 remove cross-module imports
* duplicated code instead; use module_utils if code-sharing needs increase
2018-10-11 19:54:54 -07:00
Shuang Wang
761f99a4e3 add sample for follow parameter of copy.py (#45765)
* add sample for follow parameter of copy.py
2018-10-11 18:48:54 -07:00
Sandra McCann
e43869cca9 mark Cisco ACI modules certified (#46842) 2018-10-11 15:35:12 -05:00
Sandra McCann
6479cb6a4a mark Cisco ACI modules as certified (#46841) 2018-10-11 15:34:35 -05:00
Alicia Cozine
e601521708 all amazon modules are community maintained (#46840) 2018-10-11 15:38:54 -04:00
Alicia Cozine
561a5b1adc all azure modules are community maintained (#46839) 2018-10-11 15:37:42 -04:00
cahlchang
1cce11b39c [AWS] Support check mode in aws ec2_instance module (#46774)
* fix checkmode

* Added checking test to existing test playbook

* Added test for check mode
2018-10-11 14:21:01 -04:00
Jose Delarosa
81640a2c67 Provide flexibility when retrieving facts (#46148)
* Provide flexibility when retrieving facts

* Check if keys exist before trying to read
2018-10-11 14:17:13 -04:00
Justin England
0bc5b799a6 Update win_scheduled_task.py (#46720)
* Update win_scheduled_task.py to document that the duration of a task trigger can be null, which will cause it to run indefinitely - docs update makes use of suboptions

* Add a fix for the validate-modules schema
2018-10-11 13:16:25 -05:00
Adam Miller
fd97c8e56c
fix yum proxy username/password handling (#46291)
Fixes #46249

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 12:51:40 -05:00
Peter Oliver
40fb992a6f Locate prtdiag even when absent from /usr/bin (#44113)
* Locate prtdiag even when absent from /usr/bin

On Solaris 8 hosts, this prevents fact collection from aborting with:

    Argument 'args' to run_command must be list or string

* Lint fix.

* Style: pass /usr/platform/.../sbin as optional path to get_bin_path().
2018-10-11 13:41:06 -04:00
Rémy Léone
46ed120778 Fix scaleway_compute dynamic_ip_required (#46256) 2018-10-11 18:28:16 +01:00
Rémy Léone
faf262977e Add virtualization devices in the inventory (#45728) 2018-10-11 18:09:01 +01:00
Rémy Léone
a8925484c9 Use constructable with NetBox dynamic inventory (#45913) 2018-10-11 18:01:29 +01:00
Brian Coca
b2ac745461 add note to inform awx team on change 2018-10-11 12:45:53 -04:00
Sloane Hertel
f3d5ebb355 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
2018-10-11 11:06:52 -05:00
Brian Coca
e3882ad6f6
added friendlier aliases for auth options (#46816)
* added friendlier aliases for auth options
2018-10-11 11:34:41 -04:00
Shuang Wang
cd1faca6e0 copy - support recursive copying with remote_src (#43998)
* Allow copy module to work with recursive and remote_src #14131
2018-10-11 08:18:44 -07:00
Adam Miller
fb6e91bf98
yum module properly check for None config_file (#46641)
* yum module properly check for None config_file
* add conf_file test cases to yum integration tests

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 10:11:34 -05:00
Anil Kumar Muraleedharan
d0e89bc1bb Lenovo finetune modules (#46623)
* Making username password etc non mandatory as we use persistence connection.
Some documentation fine tuning also done.

* To update version which was tested against.

* Adding Bacon switch (NE0152T) to device rules

* Qalthos Review catch

* Updating version

* Changing documentation to add Bacon switch. This is effective since 2.8
2018-10-11 09:49:49 -04:00
Johannes Brunswicker
b3063e37be Convert results with to_native in consul_kv plugin (#46551)
* #42851 convert results with to_native

* added missing ANSIBLE_METADATA

* removed unneeded brackets

* * replaced to_native with to_text to avoid getting bytecode
2018-10-11 09:35:49 -04:00
markafarrell
4c169a1a6d Enable HTTP Authentication for url lookup (#43467)
* Add url_username and url_password options for url lookup

* Update url.py

Fix documentation

* Fix options documentation 

Default value for url_password and url_username is None not an empty string

* Add version added to documentation

* Break command over multiple lines to fix linting

* Fix more linting

* Update version_added in url.py to 2.8
2018-10-11 09:30:56 -04:00
dangoscomb
fb72a5424c nmcli: fix vlan connection modification Fixes #42322 (#42415)
* ensure optional items are set to empty strings rather than not presented
fix syntax of vlan modification command

* extended tests for nmcli
2018-10-11 07:52:18 -04:00
Christian Kotte
2230f40041 VMware: Add check mode support to module vmware_host_firewall_manager (#46266) 2018-10-11 15:54:30 +05:30
Christian Kotte
0bc2e6795d VMware: Gather extended datastore facts (#46546)
* Add datacenter_name alias
* Add check mode support
* Add extended datastore information
2018-10-11 15:52:30 +05:30
Scott Xu
db69f46cf9 Update nso_action.py (#46763)
* Update nso_action.py

The module's name should be nso_action.

* Update nso_action.py

Fixed the input field in the example.
2018-10-11 14:07:59 +10:00
Adam Miller
ad405fc21e yum module handle list optional empty strings properly (#46634)
Fixes #46517

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-10 18:49:24 -04:00
José R Cordones
d3cc2f803a Update eos_config.py (#45810)
Switches will accept the previously used syntax for /32 ACL entries, but they get changed to host ipaddress in the config file.
This results in the config check failing every time (permit ip 1.1.1.1/32 any log != permit ip host 1.1.1.1 any log), resulting in the ACL getting re-created on every single run of the Playbook.
Making this proposed change to the example will make it work in an idempotent manner.
+label: docsite_pr
2018-10-10 16:47:11 -04:00
Brian Coca
8743e6ae2e remove default from delegate_facts to inherit (#45492)
* remove default from delegate_facts to inherit

fixes #45456

* test delegate_facts

* added note about inheritance and defaults

* yamllint
2018-10-10 15:10:23 -04:00
Ganesh Nalawade
58aaf53271
Fix netconf module_utils dict changed size issue (#46778)
Fixes #46755

Use list() to copy the keys of attribute dict
while iterating over attribute dict.
2018-10-11 00:01:17 +05:30
Abhijeet Kasurde
32397531d0
lambda: fix unboundLocalError in lambda (#46729)
This fix initializes current_version to None so that
module proceeds in check mode.

Fixes: #46654

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-10 22:57:58 +05:30
Brian Coca
80d977bac6
manage levels for 'multiple included lists' (#46359)
* manage levels for 'multiple included lists'

fixes #46343
2018-10-10 12:34:58 -04:00
akatch
878599fd9f Do not append msg to verbose tasks (#46721) 2018-10-10 12:11:43 -04:00
anasbadaha
2c24cfb401 Add support for IGMP interfaces on onyx switches (#46218)
Signed-off-by: Anas Badaha <anasb@ufm-host08-004.mtr.labs.mlnx>
2018-10-10 11:42:47 -04:00
gardouille
0d824ad777 Add xz-utils requirement (#46159)
* Document xz-utils requirement for deb parameter of apt module
2018-10-10 09:45:58 -05:00
Abhijeet Kasurde
d76a84a6c8 [do
* Add U() in front of URL
* Add period at end of statement
* Spell check

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-10 10:44:17 -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
Abhijeet Kasurde
5351a00445 Correct usage of message in ConnectionError (#46566)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-10 19:21:20 +05:30
Paul Neumann
39673dfc37 ios_facts: Fix minor aesthetical glitches (#46577)
* ios_facts: Fix LLDP gathering without neighbors

When LLDP is enabled but no neighbors are present, the following
structure is generated:
...
            "ansible_net_neighbors": {
                "null": [
                    {
                        "host": null,
                        "port": null
                    }
                ]
            },
...
If we are not able to find any relevant LLDP information, bail out early
so cases like shown above are handled more gracefully.

* ios_facts: Remove trailing space in lineprotocol

Some Cisco devices (at least CSR1000V 16.6.4) add a space after the
line protocol. This causes the space to be present in the result of
fact gathering:
            "ansible_net_interfaces": {
                "GigabitEthernet2": {
...
                    "lineprotocol": "up ",

Be more clear about scanning the output to avoid this behaviour.
2018-10-10 08:02:14 -04:00
Sebastien Pouplin
4ba0cfeb4b Added iostype details in network ios_facts module (#46599) 2018-10-10 08:00:25 -04:00
Thomas Picariello
62d131716b Do not try to encode metadata if it is None (#46739)
* Do not try to encode metadata if it is None

* Add changelog fragment

* Fix fragment missing EOF line
2018-10-10 12:14:47 +02:00
AndyG
fcef4fdb26 ec2_asg: adding explanation of replace_all_instances (#46694)
* adding explanation of replace_all_instances

How does "replace_all_instances" work? does it increase the number of instances by 1 in the Load balancer and it scales in a server and waits for it to complete its health check, OR   does it terminate a node a that causes an autoscale event to happen and then adds a new server?
+label: docsite_pr
2018-10-10 19:59:27 +10:00
Jorge Rodriguez (A.K.A. Tiriel)
e7ddff1928 Rabbitmq: Enable communication to management API over HTTPS (#18437)
* Enable communication to management API over HTTPS.
* Specify version added tags to new parameters
* Set proper parameter type.
* Corrected version_added numbers.
* Extracted commons to ansible utils.
* Fix PEP8 error
* Fix documentation extension syntax.

Fixes #22953
2018-10-10 09:55:08 +05:30
Nick
5e67981dd2 fix: check execute_lock boolean, not lock string var (#45329) 2018-10-09 22:46:00 -04:00
bjakubiak
e50de2c35f Fixes #23456 (#35171) 2018-10-09 19:04:51 -04:00
Eitan Adler
063a9dd911 Reduce noise in warnings from ansible (#40754)
When python is compiled in debug mode, or certain command line flags are
passed, python issues helpful warnings to let users know of files opened
by not closed.

This can be fairly spammy on an ansible run.  This change reduces the
number of such warnings by a factor of 10.
2018-10-09 18:53:03 -04:00
Joey
3c7a503a53 ovirt_storage_domain: Fix error message formating (#46678) 2018-10-09 10:01:05 -04:00
lwm
8d0f823de0 Add a Linode v4 dynamic inventory plugin. (#45902)
* Add a Linode v4 dynamic inventory plugin.

Closes https://github.com/ansible/ansible/issues/44721.

* Use the latest API for accessing host variables.

References:

  * https://github.com/linode/linode_api4-python/issues/141

* Minor docs formating
2018-10-09 12:54:31 +01:00
Ondra Machacek
23c2dc3b2a ovirt_disk: Add wipe_after_delete option (#46679) 2018-10-09 06:05:11 -04:00
Cyril Jouve
05ca828619 create sources.list.d directory if needed (#36981) 2018-10-08 18:35:05 -04:00
Pilou
955579cd72 rabbitmq_user: 'node' parameter: add default value (#38156)
* Remove unnecessary workaround

* add test: set RABBITMQ_NODENAME environment variable

The following error occurs:

  TASK [rabbitmq_user : Add user] ***
  fatal: [testhost]: FAILED! => {
    "changed": false,
    "cmd": "/usr/sbin/rabbitmqctl -q list_users",
    "rc": 69,
    "msg": "Error:********@c65c2bc59398'. Please see diagnostics information and suggestions below.\n\nMost common reasons for this are:\n\n * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)\n * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)\n * Target node is not running\n\nIn addition to the diagnostics info below:\n\n * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more\n * Consult server logs on node test@c65c2bc59398\n\nDIAGNOSTICS\n===========\n\nattempted to contact:********@c65c2bc59398\n * effective user's home directory: /var/lib/rabbitmq\n * Erlang cookie hash: 3MxcYFrJzfhEL+FlUfLlQw==",
    "stderr":  [...],
    "stderr_lines": [
      "Error: unable to perform an operation on node 'test@c65c2bc59398'. Please see diagnostics information and suggestions below.", "",
      "Most common reasons for this are:", "",
      " * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)",
      " * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)",
      " * Target node is not running", "",
      "In addition to the diagnostics info below:", "",
      " * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more",
      " * Consult server logs on node test@c65c2bc59398", "",
          "DIAGNOSTICS", "===========", "",
          "attempted to contact: [test@c65c2bc59398]", "",
          "test@c65c2bc59398:",
      "  * connected to epmd (port 4369) on c65c2bc59398",
      "  * epmd reports: node 'test' not running at all",
      "                  other nodes on c65c2bc59398: [rabbit]",
      "  * suggestion: start the node", "",
      "Current node details:",
      " * node name: rabbitmqcli2@c65c2bc59398",
      " * effective user's home directory: /var/lib/rabbitmq",
      " * Erlang cookie hash: 3MxcYFrJzfhEL+FlUfLlQw==", ""
    ],
    "stdout": "",
    "stdout_lines": []
  }

* node parameter: fix default value

'rabbit' is the default value mentioned in the module documentation.
2018-10-08 18:34:08 -04:00
Benoit Dunand-Laisin
19deb6b49e Fix python 3 compatibility (#41645) 2018-10-08 18:30:05 -04:00
Dan Quinn
a3a595e60a merge conflict (#25235) 2018-10-08 18:08:55 -04:00
Tom 'Biwaa' Riat
6ad9e1c3de feat(apt): add -f --fix-broken option to apt module (#27162) 2018-10-08 18:07:52 -04:00
Major Hayden
bf8863eeb3 Docs: Fix ftype list in sefcontext module (#46364)
Add the list of file types to the `sefcontext` module documentation.
2018-10-08 14:39:49 -05:00
Daniel Jakots
753711cd12 Register missing parameter reboot_timeout (#46585) 2018-10-08 14:56:40 -04:00
Sandra McCann
27132cd0b8 added jinja2 example (#46445)
* added jinja2 example
2018-10-08 13:50:45 -05:00
Matt Clay
a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Colin McCarthy
84a40b71c2 Added (Define Values From CSV File) to example section (#46620)
Adding a new example demonstrating setting facts from a CSV file, from a real-world network use case.
2018-10-08 10:48:46 -05:00