Commit graph

1170 commits

Author SHA1 Message Date
Johan Wirén
acc58a37df Set version_added to 1.1 2013-02-18 01:29:51 +01:00
Johan Wirén
5ae5fe83ac zfs module no longer destroys the layout in webdocs 2013-02-18 01:25:44 +01:00
Michael DeHaan
18cbb64f25 Teach the yum module to support --check mode. 2013-02-17 18:18:43 -05:00
Michael DeHaan
4f249902b3 Taught service how to use --check mode 2013-02-17 17:45:44 -05:00
Michael DeHaan
ad89ab7c5d Add group support to check mode. 2013-02-17 17:33:42 -05:00
Michael DeHaan
fdbbb171ba Teach the user module to understand check mode. 2013-02-17 17:33:42 -05:00
Michael DeHaan
b63bf62b13 Remove debug print message 2013-02-17 15:03:30 -05:00
Michael DeHaan
1ecf4a6943 Working on complex argument support. 2013-02-17 15:01:49 -05:00
Michael DeHaan
5a91873983 resolve merge conflict 2013-02-17 13:13:20 -05:00
Daniel Hokka Zakrisson
6ffc8a1441 Recurse was added in 1.1 2013-02-17 18:48:17 +01:00
Michael DeHaan
931b9f41c8 Make note about enablement bit 2013-02-17 12:13:26 -05:00
Michael DeHaan
934f416387 Avoid the 'state=null' coming back from the service module. 2013-02-17 12:11:53 -05:00
Michael DeHaan
e43abe326f Added a tunneling example 2013-02-17 11:25:42 -05:00
Michael DeHaan
b365e04616 Allow add_host to add hosts to multiple groups, groups is now an alias for groupname. 2013-02-17 11:22:50 -05:00
Rob Parrott
ef17fc9f20 add the ability to take variables in the add_host module, and be willing to parse a host:port hostname handed to add_host 2013-02-16 20:27:38 -05:00
Michael DeHaan
c000bd846b Hate to do this, but URI module docs were constructing messed up RST files, so removing examples for now. Will ask someone to work on them. 2013-02-16 18:45:59 -05:00
Michael DeHaan
5f829f9926 Add versionadded element to new option, fix YAML formatting 2013-02-16 15:40:31 -05:00
Michael DeHaan
369d586651 Merge pull request #2086 from lwade/devel
Adding a simple EC2 volume module for creation and attach
2013-02-16 10:38:52 -08:00
Michael DeHaan
cb3d26c500 Merge pull request #2084 from johanwiren/zfs
Added zfs module
2013-02-16 10:37:58 -08:00
Michael DeHaan
a01525bd30 Merge branch 'aix-fixes' of git://github.com/dagwieers/ansible into devel
Conflicts:
	library/setup

Tweak formatting.
2013-02-16 13:35:37 -05:00
Michael DeHaan
df63f60b63 Tweak doc examples 2013-02-16 13:32:49 -05:00
Romeo Theriault
1232e498c4 fixed the documentation so it build properly 2013-02-16 13:32:48 -05:00
Romeo Theriault
2ecf3f9b94 moved module checking below module initialization 2013-02-16 13:32:48 -05:00
Romeo Theriault
27145fab7f uri module 2013-02-16 13:32:48 -05:00
James Martin
7129a9e355 Using "OtherLinux" in module_commons, cleander detection in setup. 2013-02-16 13:32:48 -05:00
James Martin
5646bc278b Support for amazon linux distribution facts. 2013-02-16 13:32:48 -05:00
Yves Dorfsman
83ce1b2dc5 Modified to follow Daniel Hokka Zakrisson's recommendations. 2013-02-16 13:32:48 -05:00
Yves Dorfsman
4de1b4e8a9 Added an insertbefore option. 2013-02-16 13:32:48 -05:00
Blair Zajac
fa8e653011 Simplify and correct comparisons with None. 2013-02-16 13:32:48 -05:00
Michael DeHaan
2172201795 Merge pull request #2091 from davixx/sysctl2004
Solving bug : sysctl check_after failing on multi-value sysctl parameters
2013-02-16 10:19:16 -08:00
Michael DeHaan
21693b2d22 Merge pull request #2079 from huberteff/devel
Add NetBSD support for 'service' module, and add an example to 'lineinfile'
2013-02-16 10:08:25 -08:00
Michael DeHaan
7827db6996 Merge pull request #2078 from huberteff/e2158b661d250c04609e7faff4d8e67df9cb37e4
Add example for adding to sudoers file
2013-02-16 10:05:08 -08:00
Michael DeHaan
85c87e507e Slight docs tweak about thirsty mode on the copy module 2013-02-16 12:36:16 -05:00
Michael DeHaan
b5f90ef054 Merge branch 'thirsty_copy' of git://github.com/bcoca/ansible into testing 2013-02-16 12:35:16 -05:00
Michael DeHaan
11c730c4ca Merge branch 'devel' of git://github.com/trendels/ansible into testing 2013-02-16 12:32:18 -05:00
Johan Wirén
75b52d745e Updated documentation. Works with ansible-doc 2013-02-16 15:11:07 +01:00
davixx
8bf0c8dc5c Solving bug https://github.com/ansible/ansible/issues/2004
Now handle positive integer value in virtual files if they are separated
by group of space characters where the count is unpredictable.
Thanks to romeotheriault for filing this bug.
2013-02-15 19:14:01 +01:00
Peter Sankauskas
6fd0316fa6 The default for install-recommends is actually Yes, not No, as is
visible on line 121
2013-02-14 15:27:20 -08:00
lwade
0a2a647831 Updated comments and closed code example. 2013-02-14 14:40:28 +00:00
lwade
8617b6df90 Adding a simple EC2 volume module for creation and attach 2013-02-14 14:18:35 +00:00
Johan Wirén
19c94d7380 Added zfs module 2013-02-14 14:16:08 +01:00
Mark Maas
6a89177a59 Added support for AIX 5.3 and 6.1
A collegue of mine has added basix AIX support to the setup, user and group modules.

We have tested this on AIX 5.3 and 6.1 and it works "as advertised"
2013-02-14 12:45:08 +01:00
Daniel Hokka Zakrisson
584fd7a261 Fix Python 2.6-isms in sysctl module 2013-02-14 12:14:44 +01:00
Hubert Feyrer
18d9fc581d Add support for NetBSD. Tested on NetBSD 6.0/i386. 2013-02-13 22:07:31 +01:00
Hubert Feyrer
e2158b661d Add Linux-style path for sudoers file, to be consistent with other examples. 2013-02-13 22:02:17 +01:00
Hubert Feyrer
d4b9de643b Add an example on how to *add* a %wheel line to sudo - tricky as it has
a colon, which needs some special attention.
2013-02-13 21:42:12 +01:00
Michael DeHaan
81d426de2a Merge pull request #2066 from lorin/git-example
Add example of read-write git checkout via ssh
2013-02-13 05:22:55 -08:00
Lorin Hochstein
321175cdfa Add example of read-write git checkout via ssh 2013-02-12 22:08:14 -05:00
Daniel Hokka Zakrisson
85fb8494c5 Clean up device fact gathering
Remove lots of re use that really shouldn't have been re in the first
place. Initialize pcidata even if lspci is unavailable, and check for
its usability before trying to use it.

Fixes #2060.
2013-02-12 18:48:14 +01:00
Javier Candeira
ae81e3607f fix remote execution NameError in module 'user' 2013-02-13 04:01:46 +11:00
Kavin Kankeshwar
3042366199 Fixing logical error in detecting virtual device.
So In my Centos 5.9 machine, if there is RAID mount ansible will crash, as it cannot find scheduler file. The reason being, this should be a virtual device as there is no "device" folder under e.g. /sys/block/md0/

Here is the crash:

[kk@u1 ansible]$ ansible q3 -m setup -k -u root --tree=/tmp/facts
SSH password:
q3 | FAILED => failed to parse: /sys/block/md0
Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1797, in ?
    main()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1050, in main
    data = run_setup(module)
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1000, in run_setup
    facts = ansible_facts()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 990, in ansible_facts
    facts.update(Hardware().populate())
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 312, in populate
    self.get_device_facts()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 439, in get_device_facts
    m = re.match(".*?(\[(.*)\])", scheduler)
  File "/usr/lib64/python2.4/sre.py", line 129, in match
    return _compile(pattern, flags).match(string)
TypeError: expected string or buffer
2013-02-11 18:23:58 -08:00
Michael DeHaan
af3402fe35 Merge pull request #2043 from chrishoffman/rabbitmq
Rabbitmq Module Updates
2013-02-11 17:43:07 -08:00
Daniel Hokka Zakrisson
57cac788fb Fix setup when /sys/block is inaccessible 2013-02-11 23:24:47 +01:00
Daniel Hokka Zakrisson
5ba090c366 Fixes for Python 2.4 2013-02-11 23:23:14 +01:00
Chris Hoffman
507e49396b Updating how to run commands in check mode 2013-02-10 17:20:44 -05:00
Chris Hoffman
ca3b8228f7 Updating how to run commands in check mode, standarizing quotes 2013-02-10 17:14:24 -05:00
Chris Hoffman
2c947c2ed6 Adding aliases 2013-02-10 17:08:33 -05:00
Chris Hoffman
114a4dc597 Standarizing quotes 2013-02-10 17:02:50 -05:00
Chris Hoffman
31e5e81fcd Standarizing module in line with other rabbitmq modules, adding support for setting tracing 2013-02-10 17:01:20 -05:00
Chris Hoffman
b79d7a606c Using new qualified executable 2013-02-10 17:00:09 -05:00
Chris Hoffman
c94ec20a16 Getting fully qualified path for executable 2013-02-10 14:38:00 -05:00
Chris Hoffman
5a4ff6ca60 Cleaning up tag compare, getting fully qualified path for executable 2013-02-10 14:37:21 -05:00
Michael DeHaan
6c4e1db54e Documentation formatting for mongodb_user so it will show up in ansible-doc and the web. 2013-02-09 14:43:17 -05:00
Michael DeHaan
3c51feb36c Had to remove the instance_tags example because our doc generator was choking on it, feel free to add it back if you can get it to be valid
YAML again :)
2013-02-09 14:39:57 -05:00
Michael DeHaan
27ff22610d Fix lineinfile docs formatting 2013-02-09 14:34:03 -05:00
Michael DeHaan
5c38248788 Fix crontab doc formatting 2013-02-09 14:29:31 -05:00
Michael DeHaan
c91f8c1565 Merge pull request #2036 from cordmata/devel
Add rabbitmq_vhost module.
2013-02-09 10:34:56 -08:00
Matt Cordial
3284fd607f Add rabbitmq_vhost module.
Simply ensures existence or non-existence of a vhost.
2013-02-09 11:28:41 -07:00
Tim Gerla
0f389b311f Add more error handling to the ec2 module, remove Python 2.6ism 2013-02-09 09:58:43 -08:00
Michael DeHaan
fa44f49afb Merge pull request #2034 from chrishoffman/rabbitmq
Adding rabbitmq modules
2013-02-09 09:04:33 -08:00
shlomozippel
e44412101b Merge recursive file permission setting on directories 2013-02-09 12:01:45 -05:00
Chris Hoffman
6f7855161c Adding rabbitmq modules 2013-02-09 11:55:23 -05:00
Michael DeHaan
8db504fba8 Merge branch 'devel' of git://github.com/lwade/ansible into devel 2013-02-09 11:47:45 -05:00
Steve Frank
36027ddbba Squashed commit of the following:
Changed ami_tags to instance_tags to better follow naming convention
    Add support for creating tags on the new instances
2013-02-09 11:43:30 -05:00
Brian Coca
0e8627b7e8 added block device info gathering, full for linux, partial for freebsd added prettyfing byte function Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
moved moutns out of devices Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-02-09 11:15:22 -05:00
Mike Grozak
171a01deac Cron module upgrades
- added cron_file attribute: if specified, the file with appropriate
job is created in /etc/cron.d directory. Also, you can store multiple
jobs in one file. state='absent' attribute is handled in the following
way in this case: if after the deletion of the job from the file specified
by cron_file variable the file is empty, the file is deleted, otherwise
not.
  - fixed the behaviour, when the backupfile is saved forever in /tmp
folder, even if the backup= atribute is not set (os.unlink() is called if
backup is not True).
  - added some comments to the unobvious places
2013-02-09 11:11:19 -05:00
Michael DeHaan
aebacdb2d7 Merge pull request #1949 from elliotttf/devel
Adding mongodb_user module.
2013-02-09 06:47:20 -08:00
Michael DeHaan
d102f04ffc Merge pull request #1942 from blair/pip-virtualenv-add-system-package-support
library/pip: add support for virtualenv's --system-site-packages.
2013-02-09 06:45:56 -08:00
Brian Coca
0726933a5a added thirsty option to copy
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-02-08 10:29:52 -05:00
Michael DeHaan
a9162a86f2 Very basic --diff option for showing what happens when templates change.
Probably output is not useful if not used with --limit

Works well with --check mode
2013-02-07 22:52:25 -05:00
Michael DeHaan
3d6993221e service status 4 should also be stopped 2013-02-07 21:29:31 -05:00
Stanis Trendelenburg
8f70883541 Handle 'groups=' (empty string) in user module (Linux)
Makes it possible to remove a user from all but the primary group.

Setting 'groups=' is the equivalent to passing '-G ""' to
useradd/usermod, which is interpreted as "no group" on Linux.
2013-02-08 00:50:02 +01:00
Michael DeHaan
9113c01e37 Merge pull request #1990 from roller/devel
Specify repo option with hg pull
2013-02-07 05:03:38 -08:00
Daniel Hokka Zakrisson
7a49230e85 Merge pull request #2005 from ftao/supervisorctl-update
always restart the program when state=restarted
2013-02-07 01:00:18 -08:00
ftao
9174c52b1d always restart the program when state=restarted 2013-02-07 15:53:36 +08:00
Daniel Hokka Zakrisson
b0932e1638 Merge pull request #1999 from dorfsmay/pullreq-lineinfile
Clarification on how to use insertafter with a regex.
2013-02-06 23:09:55 -08:00
Daniel Hokka Zakrisson
dab31116b3 Actually add stdout data to stdout buffer for daemon mode 2013-02-06 16:52:04 +01:00
Yves Dorfsman
05a3876dc9 Clarification on how to use insertafter with a regex. 2013-02-06 01:25:30 -07:00
Blair Zajac
106fb10dab library/pip: add support for virtualenv's --system-site-packages. 2013-02-04 17:03:25 -08:00
Joel Roller
ac716ac9ca Specify repo option with hg pull
Fixes #1989
2013-02-04 17:19:59 -06:00
Lester Wade
093a876a57 Added capability to enable CloudWatch monitoring when launching. 2013-02-04 18:03:47 +00:00
Michael DeHaan
fed82c2188 This implements a basic --check mode which for now is only implemented on template & copy operations. More detail will be shared with the list
shortly.
2013-02-03 20:34:13 -05:00
Daniel Hokka Zakrisson
28cf95e585 Use module.get_bin_path for pkgin module instead of hardcoding paths 2013-02-03 23:57:34 +01:00
Michael DeHaan
dc5c430f45 Merge pull request #1970 from piffey/devel
Devel
2013-02-03 06:34:09 -08:00
Daniel Hokka Zakrisson
c1e0f0b4db sysctl was added in 1.0
Fixes #1972.
2013-02-03 14:01:55 +01:00
Piffey Parlance
0f44ba5a5a * Minor removal of some dumb I did. 2013-02-02 18:17:18 -06:00
Piffey Parlance
39c8becfc8 * Added support for multi-line key files. 2013-02-02 18:07:10 -06:00
Michael DeHaan
42daffdb38 Merge pull request #1948 from yeukhon/devel
hg module cleaned up
2013-02-02 10:27:06 -08:00
Michael DeHaan
602656f02c Merge pull request #1961 from skvidal/yum-mod
Yum mod
2013-02-01 18:13:18 -08:00
Seth Vidal
808554dee6 use a local copy of repoq so we don't inadvertently pollute the one for is_installed 2013-02-01 16:47:53 -05:00
Seth Vidal
1c067845f2 don't apply enablerepo's to is_installed() to work around yum-utils/repoquery drift from all things
good and proper
2013-02-01 12:39:02 -05:00
Lorin Hochstein
4d38c68489 If ec2 fact has ':' or '-', change to '_'
Change ec2 fact names with colons (:) or dashes (:) to undescore (_)
so that they can be used in templates.

Note that this makes copies instead of replacing the exisitng fact
names to avoid breaking existing playbooks.
2013-01-31 21:00:25 -05:00
Seth Vidal
5c26805ee7 test the repos in enablerepo/disablerepo and error out if they are broken 2013-01-31 17:23:10 -05:00
Elliott Foster
a1ea366957 Adding mongodb_user module. 2013-01-31 08:48:58 -06:00
Yeukhon Wong
cc6fc149c2 Merge remote-tracking branch 'upstream/devel' into devel 2013-01-31 02:15:17 -05:00
Yeukhon Wong
980ffde192 Changes is now determined by simply comparing before,after and cleaned (purge and/or force). Doc is updated. 2013-01-31 02:11:28 -05:00
Yeukhon Wong
ccc903216b Use %s instead of .format for string replacement. Revisied the documentation. 2013-01-30 22:40:26 -05:00
Yeukhon Wong
99a8e95c98 Rewrote hg module based on feedback.
1. state option is removed
2. force is hg update -C
3. purge is hg clean/hg purge but default to no
4. relies on hg abililty to handle errors
2013-01-29 17:29:35 -05:00
Daniel Hokka Zakrisson
0243b7be7c Fix get_url to work on Python 2.4 2013-01-29 18:57:02 +01:00
diefans
65d0eb9621 proper bin path now called 2013-01-29 13:53:36 +01:00
Yeukhon Wong
92fd1c6578 Merge remote-tracking branch 'upstream/devel' into devel
Conflicts:
	library/hg
2013-01-28 21:48:27 -05:00
Michael DeHaan
4d8f3b0924 This standardizes the apt_key module some
* improves error handling and reporting
* uses run_command to reduce code
* fails quicker on errors as opposed to return codes and tracebacks
* can now also specify the key as data versus needing to wget it from a file
2013-01-28 15:48:55 -05:00
Daniel Hokka Zakrisson
0bfec51a04 Remove last remnants of daisychaining 2013-01-28 17:46:35 +01:00
Daniel Hokka Zakrisson
133874a577 Fix module.run_command usage in fireball 2013-01-28 12:40:18 +01:00
Les Aker
819da94ced adjusted assemble to use new file attribute handling 2013-01-28 00:33:18 -05:00
Michael DeHaan
12403abc2c Merge pull request #1924 from blair/consistly-use-underscores
library/apt: consistently use underscores in examples.
2013-01-26 10:31:59 -08:00
Blair Zajac
811c711328 library/apt: consistently use underscores in examples.
To be consistent with the table showing available options, use
underscores in the example tasks, not hyphens, as the table doesn't
list hyphenated versions of option names, so it looks like the
examples could have typos in them.
2013-01-26 10:25:08 -08:00
Michael DeHaan
b749af0b10 New changelog additions from today's merging 2013-01-26 13:07:06 -05:00
Michael DeHaan
25f52d79d1 Tweak sysctl docs so they'll web-render 2013-01-26 12:58:12 -05:00
Michael DeHaan
e9d5cf3bc2 Fix documentation YAML for pkgin module 2013-01-26 12:44:43 -05:00
Michael DeHaan
970ae584c9 fix documentation formatting for get_url 2013-01-26 12:38:08 -05:00
Michael DeHaan
36066d8664 Fixup ec2_facts docs parsing 2013-01-26 12:34:30 -05:00
Michael DeHaan
5e4d29565c Standardize the hg command execution around our run command function. 2013-01-26 12:20:46 -05:00
Lester Wade
2da3a54e29 Update library/ec2
updated indentation and redundant comment.
2013-01-26 12:20:46 -05:00
Yeukhon Wong
e5b64b2f74 Added hg module to the core. 2013-01-26 12:20:46 -05:00
Lester Wade
de833b3ae0 Update library/ec2
bumping up min_count value.
2013-01-26 12:20:46 -05:00
Lester Wade
b0ecfbb26d Update library/ec2
I've uncommented and added a very little supporting stuff based on skvidal's work to allow us to launch more than one instance.
2013-01-26 12:20:46 -05:00
igor
005f864068 minor doc changes 2013-01-26 12:20:45 -05:00
igor
d683c2431e add support for user:password syntax in urls to get_url 2013-01-26 12:20:45 -05:00
Michael DeHaan
634d59c97f Merge pull request #1913 from jlitola/apt_key
Fixed apt_key's add_key stalling indefinitely, and test code leaking into production
2013-01-26 09:01:13 -08:00
Michael DeHaan
c55a822c1e Merge pull request #1906 from szinck/devel
Add basic pkgin package management
2013-01-26 08:55:03 -08:00
Michael DeHaan
e0b5c35033 Merge pull request #1891 from silviud/ec2_facts_module
ec2 facts module - registers to ansible_facts key
2013-01-26 08:38:16 -08:00
Yeukhon Wong
7b0a3c3f2d Added hg module to the core. 2013-01-25 22:51:20 -05:00
Lorin Hochstein
c337b64e35 Git module: fix for relative paths
If a relative path is passed as an argument, this change first
converts it to an absolute path.

This fixes a bug where the git module would attempt to chdir into an
invalid directory because of multiple chdir calls against a relative
path.
2013-01-25 20:49:30 -05:00
Shaun Zinck
b2aed1a4ba pkgin: add stdout to error message when shell commands fail 2013-01-25 16:58:29 -06:00
Shaun Zinck
e9ca960558 pkgin: use module.run_command to run stuff
This also fixes an issue where some console output for packages I was
installing was creating invalid JSON because it contained single-quotes.
2013-01-25 16:48:58 -06:00
Daniel Hokka Zakrisson
6e0cb14ba5 Merge pull request #1911 from tgerla/devel
Port ec2 module to Boto
2013-01-25 08:18:48 -08:00
Juha Litola
2796603c92 Removed apt_key tests, as they didn't test the real functionality.
Tests used heavily mocked version of the apt_key code, which meant that
it didn't properly test real life scenario.
2013-01-25 17:10:04 +02:00
Daniel Hokka Zakrisson
9f6f15f770 Fix unparseable documentation strings
Fixes #1902.
2013-01-25 14:25:12 +01:00
Juha Litola
05f5b5b279 Fixed add_key stalling indefinitely, and test code leaking into production setting 2013-01-25 13:32:30 +02:00
Shaun Zinck
e34eaa423d pkgin: change install/remove to not use return code of pkgin
pkgin always returns 0 so can't be used to tell if the install or remove
worked.  Instead this just queries the installed packages after
performing an operation.
2013-01-24 19:58:31 -06:00
Silviu Dicu
2a893ab0bb ec2 facts module - updated as per comments 2013-01-24 19:14:32 -05:00
Stephen Fromm
e0741e7810 Update apt_repository to query if repo is already configured
This adds two dependencies to the apt_repository module:  apt and
apt_pkg.  These come from the package python-apt.  This is used to parse
the host's sources.list and examine whether the repo is already
configured.  This then eliminates the unnecessary
'add-apt-repository --remove' from running.
2013-01-23 22:17:43 -08:00
Shaun Zinck
4a9201ad65 add pkgin to list of package managers in setup 2013-01-23 22:12:13 -06:00
Shaun Zinck
2eedec777f added first version of pkgin, just does install, remove (for SmartOS) 2013-01-23 22:10:11 -06:00
Brendan Taylor
f18446e7a5 service module 'state' parameter comments should be processed by RST 2013-01-23 16:32:39 -07:00
John Gosset
54ef6015f6 add pacman to list of package managers in setup module 2013-01-23 11:03:05 -05:00
Silviu Dicu
ce9e9af6a3 ec2 facts moduled - updated 2013-01-23 09:39:26 -05:00
Tim Gerla
cafb717b55 Fail gracefully if boto is not available and add me to the author line. 2013-01-22 14:29:28 -08:00
Tim Gerla
139aee58e2 use connect_ec2_endpoint instead of connect_euca, and properly pass keys to connect_ec2 2013-01-22 14:10:21 -08:00