Toshio Kuratomi
6b8e6c0a0a
Merge pull request #425 from gerhardsam/devel
...
rhn_register: add support for profilename
2015-06-30 05:07:29 -07:00
Austin Brown
bb816f046c
Adding version detection
2015-06-29 23:13:29 -07:00
Brian Coca
a0d663bc65
Merge pull request #413 from JimPatterson/412_pip_check_venv
...
Correct check mode for pip in virtualenv.
2015-06-29 18:17:59 -04:00
Austin Brown
3c72e87152
Merge branch 'devel' of github.com:ansible/ansible-modules-core into devel
...
Conflicts:
packaging/language/gem.py
2015-06-26 11:21:43 -07:00
verm666
d435d5ce0a
This change is in response to issue #133 .
...
The original problem is: apt_repository.py connect to launchpad on
every playbook run. In this patch apt_repository.py checks if required
repository already exists or not. If no - paa will be added, if yes -
just skip actions.
2015-06-25 10:56:29 -07:00
Toshio Kuratomi
50912c9092
Fix apt_repository so that it does not modify the mode of existing repositories
2015-06-24 16:32:47 -07:00
Toshio Kuratomi
720632f568
Merge pull request #338 from pilou-/apt_repository_filemode
...
apt_repository: fix file mode
2015-06-24 16:01:45 -07:00
Toshio Kuratomi
dba3bc7539
Read the url in in chunks so that we don't use as much memory for large packages
2015-06-24 08:12:49 -07:00
Toshio Kuratomi
4519dd5f4d
Small cleanups.
...
* Import url(lib|parse|lib2) if needed by the module rather than relying
on module_utils.urls to do so.
* Remove stdlib modules from requirements
* Use the if __name__ conditional for invoking main()
2015-06-24 06:51:00 -07:00
Brian Coca
7a33832606
fixed typo
2015-06-19 15:29:43 -04:00
Brian Coca
665265d285
Merge pull request #60 from az7arul/devel
...
added `include_doc` option
2015-06-19 12:39:56 -04:00
Toshio Kuratomi
0950593d53
Merge pull request #1516 from ansible/use-yum-api
...
Yum API is faster than calling out to repoquery.
2015-06-18 11:37:41 -07:00
Toshio Kuratomi
86c30e68a1
Restore setting cachedir when non-root but don't take a useless cachedir parameter to the function
...
* Revert "Remove unused code"
This reverts commit bcfba0c050
.
* Re-add the changes to remove cachedir as a parameter
2015-06-16 13:10:17 -07:00
Toshio Kuratomi
7c6c518003
Fix bugs found by @kustodian
2015-06-16 06:28:46 -07:00
Greg DeKoenigsberg
2a5f0bde87
Proper author info for all remaining modules
2015-06-15 15:53:30 -04:00
Toshio Kuratomi
08c17814fb
Fix incorrect line breaking
2015-06-15 10:46:59 -07:00
Toshio Kuratomi
ef7a75938a
Further optimizations pointed out by @kustodian in #1516
...
* Only install yum-utils if needed (b/c we're going to use repoquery)
* Add a warning message explaining that why slower repoquery was used
rather than yum API.
2015-06-15 09:51:15 -07:00
Toshio Kuratomi
9c88f91092
Yum API is faster than calling out to repoquery. Looking through the
...
commit logs it looks like we weren't previously doing that because of
commit 14479e6adc
The message there is that Yum API prints an error message if the
rhn-plugin is in use and no rhn-certificate is available. So instead of
using repoquery in preference always here we use repoquery in preference
if the rhn-plugin is enabled.
2015-06-13 17:08:32 -07:00
Edward Torbett
bcbf8c5556
Renamed previous pkgs variable to installed_pkgs as spotted by @strahinja
2015-06-12 18:06:25 +01:00
Edward Torbett
1fe79801f8
Corrected pkg to pkgs as noted by @abadger
2015-06-12 11:18:14 +01:00
Edward Torbett
fc36506b9e
Added multi package operation to remove as suggested by @abadger. Adding to latest is a little more complex due to '*' support.
2015-06-11 15:21:30 +01:00
Edward Torbett
471824b451
Comments by @abadger
2015-06-11 15:13:28 +01:00
Edward Torbett
48422fba85
Rather than executing yum once per package, execute yum once for all supplied packages. This is necessary when performing a yum upgrade involving multiple dependent packages installed from RPM, for example when upgrading from PostgreSQL 9.0.11 to 9.0.21 on a Red Hat server.
2015-06-11 12:39:42 +01:00
Brian Coca
fd18aba076
updated package examples
2015-06-08 20:25:39 -04:00
Brian Coca
75c2bc54f5
corrected copyright ... does a copied the copyrightnotice require copyright?
2015-06-08 20:18:59 -04:00
Brian Coca
d6ed6113a7
may root help us all
2015-06-08 20:12:30 -04:00
az7arul
627933049c
add include_doc
option
2015-06-06 01:54:00 +06:00
Albert Mikaelyan
fef463f17c
Update yum.py
2015-06-03 16:48:19 +03:00
Brian Coca
abcd276955
Merge pull request #963 from u2ix/devel
...
Allow to add build flags for gem installation
2015-06-03 08:54:00 -04:00
Toshio Kuratomi
f3277f0f1f
Import ansible module_utils at bottom of file to not mess with line numbers in tracebacks
2015-05-29 13:37:47 -07:00
Toshio Kuratomi
00e54793a2
Merge pull request #1408 from Jmainguy/yum_http_el5
...
forces EL5 to fail if name=:// url style path to rpm
2015-05-29 13:32:58 -07:00
Jonathan Mainguy
7a5ad0c7f3
add :// url support for EL 5
2015-05-29 16:21:17 -04:00
Brian Coca
6d088169ef
Merge pull request #1348 from devjatkin/issue_1230
...
fix apt to handle virtual packages correctly
2015-05-26 11:55:44 -04:00
Brian Coca
0d41af23c2
Merge pull request #909 from bcoca/apt_return_cacheinfo
...
added updated cache time to apt, also started documenting return values
2015-05-26 11:54:03 -04:00
Vasyl Kaigorodov
f0dc27227c
Fix "_is_package_installed() takes exactly 4 arguments, 3 provided" error
2015-05-21 23:24:20 +02:00
Toshio Kuratomi
0877aae3fe
Merge pull request #1383 from schlueter/add-state-to-easy_install
...
Add state to easy_install
2015-05-21 11:07:00 -07:00
Schlueter
1030cb48a7
Add 'version_added' to state documentation for easy_install resource
2015-05-21 12:54:48 -04:00
Schlueter
17544062ec
Correct reference to gem in easy_install resource
2015-05-21 12:49:43 -04:00
Schlueter
02cd8489c1
Add Documentation
2015-05-21 12:23:05 -04:00
Schlueter
3bae8bda10
Use standard if statement to check state in easy_install resource
2015-05-21 12:16:26 -04:00
Schlueter
9b6a741615
Correct pass by object reference issue
2015-05-21 12:04:13 -04:00
Zoltan Kozma
364536a76e
- Fixed annoying bug that disablerepo was essentially broken if a package needed updating by state latest.
...
- Replaced some unsafe practice with default parameters. However looking at the code this does not seem to matter much as the calling functions always seem to supply these parameters anyway.
2015-05-20 19:46:39 +01:00
Schlueter
9468a65bed
Add state to easy_install
2015-05-20 13:43:53 -04:00
Semyon Deviatkin
adf34a6ccd
Fix issue #1230
...
When virtual package providing only one package, look up status of target package
2015-05-18 08:10:22 +00:00
Matt Martz
7ca732830f
Python2.4 fixes
...
* Ignore accelerate.py
* Don't use a lambda or a ternary
2015-05-11 11:04:44 -05:00
Toshio Kuratomi
7540cbb845
Explain why the apt module does not do implicit regex matches on package name since this is different than the apt-get command line tool.
...
Fixes #1258
2015-05-07 08:16:46 -07:00
Dominic Hargreaves
d197f898a5
apt_key documentation: add a note explaining the benefit of including 'id'
2015-05-07 15:49:50 +01:00
Toshio Kuratomi
1fa3efd7b4
Fix documentation
2015-05-05 13:58:41 -07:00
Jonathan Mainguy
3e66e409d5
Adds the exclude= option to the yum module. Works the same way --exclude does when yum install or yum update
2015-05-05 14:00:49 -04:00
Toshio Kuratomi
3782ec0225
Allow yum module to take a yaml list of package names and also ", " separated string-list (in addition to comma separated string-list)
2015-04-21 10:07:11 -07:00
James Cammarata
74e69d1fd1
Merge branch 'nixpanic-rhsm/org_id' into devel
2015-04-14 13:57:42 -05:00
James Cammarata
c9f0c87b59
Add version_added string to new org_id param in rhn_subscription
2015-04-14 13:56:55 -05:00
Brian Coca
da59efbc4b
Merge pull request #623 from mscherer/small_yum_cleanup
...
Remove unused option in yum's repoquery call
2015-04-13 17:04:51 -04:00
Brian Coca
5e970f79e3
Merge pull request #1012 from DavidWittman/yum-disable-enable-ordering
...
[yum] Set disabled repos before enabled repos
2015-04-13 16:42:11 -04:00
Toshio Kuratomi
509403a50d
Merge pull request #1087 from bugchecker/devel
...
prevent using undefined variable
2015-04-13 08:47:51 -07:00
Brian Coca
788230c43e
ifxed error message as code remove the repo r var
2015-04-10 14:59:52 -04:00
Niels de Vos
011d240abc
redhat_subscription: add the org_id
parameter
...
When subscribing a system with an activationkey, it seems (sometimes?)
required to pass the "--org <number>" parameter to subscription-manager.
Activation Keys can be created through the Red Hat Customer Portal, and
a subscription can be attached to those. This makes is easy to register
systems without passing username/passwords around.
The organisation ID can be retrieved by executing the following command
on a registered system (*not* the account number):
# subscription-manager identity
URL: https://access.redhat.com/management/activation_keys
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-04-06 22:23:59 +05:30
bugchecker
496f9ca180
prevent using undefined variable
2015-04-05 20:40:11 +05:00
Ken Dreyer
bd617353cb
redhat_subscription: fix activationkeys argument
...
Prior to this commit, Ansible would pass '--activationkeys <value>' as a
literal string, which the remote server would interpret as a single
argument to subscription-manager.
This led to the following failure message when using an activation key:
subscription-manager: error: no such option: --activationkey "mykey"
Update the arguments so that the remote server will properly interpret
them as two separate values.
2015-04-02 14:21:20 -06:00
Florian Apolloner
7f4f89abda
Added os.path.expanduser when searching for pip executable.
2015-03-29 21:06:36 +02:00
David Wittman
6d8437617c
Set disabled repos before enabled repos
...
The ordering of disabling/enabling yum repositories matters, and
the yum module was mixing and matching the order. Specifically,
when yum-utils isn't installed, the codepath which uses the yum
python module was incorrectly ordering enabling and disabling.
The preferred order is to disable repositories and then enable them
to prevent clobbering. This was previously discussed in
ansible/ansible#5255 and incompletely addressed in 0cca4a3
.
2015-03-27 11:07:51 -05:00
Tim Rupp
dba0023940
Add missing import of apt.debfile
...
In cases when the python-apt package is not installed, ansible will
attempt to install it. After this attempt, it tries to import the
needed apt modules, but forgets to import the apt.debfile module.
The result is that playbooks that use the dpkg argument on a machine
that does not initially have the python-apt package available will
fail with the following error
AttributeError: 'module' object has no attribute 'debfile'
This patch adds the appropriate import to the apt module to ensure
that necessary libraries are available in cases when the dpkg argument
is being used on a system that does not initially have the python-apt
package installed
2015-03-19 14:54:59 -07:00
Demian Gemperli
9a6eba43ef
Allow to add build flags for gem installation
2015-03-18 19:10:54 +01:00
Brian Coca
19ec770680
added updated cache time to apt, also started documenting return values
2015-03-08 11:47:35 -04:00
Brian Coca
2fcc93e5b3
Merge pull request #785 from bcoca/apt_deb_missing
...
now module fails gracefully instead of stacktrace
2015-02-25 10:38:29 -05:00
Dann Bohn
7a50642c20
rhn_channel using depriciated methods. swapped out
...
with their replacements
2015-02-25 08:25:34 -05:00
Brian Coca
818767b1d4
Merge pull request #53 from hfinucane/apt-dpkg-force
...
dpkg does not take a --force-yes option
2015-02-16 18:51:55 -05:00
Brian Coca
611e8b59d6
now module fails gracefully instead of stacktrace when trying to install missing deb file
2015-02-13 11:06:06 -05:00
giovtorres
7e8a518592
Added pip example installing from local tarball
2015-02-10 14:56:16 -05:00
Brian Coca
600fc15b42
Merge pull request #46 from Jmainguy/yum_oracle_fix_enable_repo
...
Fixes --enable-repo for Oracle Linux
2015-02-03 07:50:23 -05:00
Toshio Kuratomi
753a3ba382
Merge pull request #624 from mscherer/use_rpm_module
...
Use the rpm python module rather than execing rpm
2015-01-29 18:00:04 -08:00
AlejandroF
7b40f63a4d
Example added
...
How to define specific version of the package we need...
2015-01-28 11:29:29 -03:00
Wouter Bolsterlee
8ce0284ace
Add a virtualenv_python argument to the pip module
...
This allows specifying the Python version to use when creating the
virtualenv. See issue #586 .
2015-01-28 12:46:20 +01:00
Wouter Bolsterlee
19b49c1d96
A few coding style cleanups
2015-01-28 12:46:20 +01:00
Wouter Bolsterlee
fd061d437c
Fix typo in version_added
field.
2015-01-28 12:46:20 +01:00
Conrado Buhrer
bd208da8ea
fixed: namespace clash #710
2015-01-27 13:28:56 -02:00
Conrado Buhrer
a5114bfa39
fixed: erroneous logic
2015-01-26 18:16:42 -02:00
Conrado Buhrer
3155656eef
fixed: missing check for upgrade flag
2015-01-26 17:48:03 -02:00
Conrado Buhrer
ef3f486f6e
fixed: removed build-deb from required_one_of
2015-01-26 17:32:34 -02:00
Conrado Buhrer
711005fe9b
changed: state=build-dep; refactored into install()
2015-01-26 15:36:35 -02:00
Conrado Buhrer
d257e2be8c
added: build-dep to apt module #349
...
Original code provided by @nathanhruby
2015-01-26 13:20:00 -02:00
Toshio Kuratomi
c3a0e8a7a4
Don't fial if virtualenv is not installed and we do not need to initialize the virtualenv
...
Fixes #688
2015-01-22 18:05:54 -08:00
Toshio Kuratomi
396c399b54
Merge pull request #626 from mscherer/clean_yum_base
...
Remove unused code
2015-01-19 09:11:22 -08:00
Brian Coca
e2dcb5fc9b
now captures cache fetch failures
2015-01-14 17:29:00 -05:00
Michael Scherer
bcfba0c050
Remove unused code
...
There is no call to yum_base using 'cachedir' argument, so
while it work fine from a cursory look, that's useless code,
and so should be removed to clarify the code.
2015-01-12 01:02:29 +01:00
Michael Scherer
0b2d190f72
Use the rpm python module rather than execing rpm
...
Using the rpm module prevent a uneeded fork, and permit
to skip the signature checking which slow down a bit the
operation, and which would be done by yum on installation
anyway.
2015-01-11 05:02:51 +01:00
Michael Scherer
e025b591d3
Remove unused option in the repoquery call
...
Citing the man page:
-q, --query
For rpmquery compatibility, doesn't do anything.
2015-01-11 03:57:53 +01:00
fabios
9ed842e2d0
mark as upgradable and let apt-get install deal with it
2014-12-28 12:52:57 -05:00
fabios
b747d9411a
improve fail message and use itertools chain
2014-12-28 12:52:57 -05:00
fabios
d19f7c7026
older python-apt compatibility
2014-12-28 12:52:57 -05:00
fabios
6fce4a9c3d
handle list of list for python-apt < 0.7.9 compatibility
2014-12-28 12:52:57 -05:00
Toshio Kuratomi
170457413d
Cleanup the old apt compatibility changes
2014-12-25 00:25:02 -08:00
fabios
a08165ca2e
use low-level apt_pkg.Package
2014-12-24 17:55:44 -05:00
FabioBatSilva
55b85ddc46
fix compatibility issues with python-apt < 0.7.9
2014-12-24 10:26:59 -05:00
Austin Brown
bb6182575e
Updating rubygems --no-document param
2014-12-17 10:24:31 -05:00
Dale Bewley
449ced1efa
use state parameter in examples
2014-12-04 17:31:35 -08:00
Sebastian Gerhards
cda40bc33c
rhn_register: add support for profilename
2014-12-02 11:33:10 +01:00
René Moser
24137a3c6c
yum: add update_cache option
...
Yum does not always update to latest package version unless metadata cache has expired. By runing yum makecache, we ensure the metadata cache has been updated.
Signed-off-by: René Moser <mail@renemoser.net>
2014-12-01 18:07:50 +01:00
Jim Patterson
102167f22e
Correct check mode for pip in virtualenv.
...
Fix #412 . Check mode was always returning changed=True for pip
when the target was in a virtualenv. The code now uses the normal
tests for determining if change status.
2014-11-30 19:31:09 -05:00
Toshio Kuratomi
195e7c5a13
Merge commit '383ecdb' into devel
2014-11-18 13:09:29 -08:00
Toshio Kuratomi
383ecdb50b
Correct variable name
2014-11-18 13:08:26 -08:00
Pierre-Louis Bonicoli
9ca27eedcc
apt_repository: fix file mode
...
'set_mode_if_different' method should be called on dest filename and after
'atomic_move' method
2014-11-16 01:13:29 +01:00
Henry Finucane
ce02d59651
If force=true, ignore python-apt's advice
...
This lets you downgrade packages, for instance.
2014-11-14 16:27:20 -08:00
Henry Finucane
4558ed6925
dpkg does not take a --force-yes option
2014-11-14 16:24:08 -08:00
Toshio Kuratomi
fb4854ebcb
Fix retrieval of package version in apt module
2014-11-14 10:01:30 -08:00
Toshio Kuratomi
c389cd671f
Documentation update for apt version wildcards from bryanlarsen
2014-11-14 09:43:38 -08:00
Toshio Kuratomi
e1ecc5ca8e
Update package_status and install to account for wildcarded versions.
2014-11-14 07:45:56 -08:00
Toshio Kuratomi
ccedf0dd40
Decide to allow pkgname and version wildcards so that things like libxml2*=2.9* would work
2014-11-14 07:45:56 -08:00
Toshio Kuratomi
bc18c9dc78
Cache pkg name list so we don't recreate the list for every package
2014-11-14 07:45:56 -08:00
Toshio Kuratomi
10fd0f7073
Just make things a little more readable
2014-11-14 07:45:56 -08:00
Toshio Kuratomi
885b60f31f
if __name__ does work with ansible modules
2014-11-14 07:45:55 -08:00
Michael Vogt
f475769d3a
add apt unittest
2014-11-14 07:45:55 -08:00
Michael Vogt
76fc436b08
Allow foo=1.0* like expressions in apt
2014-11-14 07:45:55 -08:00
Robert Estelle
4dd099fe7a
Remove incorrect executable permissions.
2014-11-13 18:08:48 -05:00
Brian Coca
a13c568310
corrected comparisson which had accidentally chaned in previous fixes
2014-11-12 17:16:02 -05:00
Brian Coca
bbebdefacb
better handling of deprecated aliases
2014-11-12 17:01:14 -05:00
Jonathan Mainguy
ae1af202e8
Fixes --enable-repo for Oracle Linux
2014-11-12 16:56:45 -05:00
Brian Coca
5356ccbb35
make sure 'present' is fully equivalente of 'installed' and remove installed from
...
feedback in favoer of 'present'
2014-11-12 15:46:36 -05:00
James Cammarata
6db6cd219e
Use new prompt detection in run_command to detect aptitude prompts
...
Also adds flags to aptitude command when force=yes is used, in order
to bypass the prompts given for untrusted packages.
Fixes #31
2014-11-10 23:45:27 -06:00
Michael DeHaan
3ed1378067
Some more module categorization.
2014-11-04 17:23:22 -05:00
Lorin Hochstein
3ab26c538b
apt_key: add keyserver example to docs
2014-10-03 15:10:45 -04:00
Michael DeHaan
385a037cd6
package files
2014-09-26 11:05:47 -04:00
Michael DeHaan
c8e1a2077e
file extensions!
2014-09-26 10:37:56 -04:00
Michael DeHaan
417309a626
Restructuring.
2014-09-26 10:13:26 -04:00
Michael DeHaan
73123b69fa
Move modules into subdirectory.
2014-09-26 09:23:50 -04:00
James Pharaoh
27ccd01db4
add LANG=C to apt module so the string matches on the output always match
2014-09-18 20:56:21 +02:00
Bruno BAILLUET
8f2dae1964
Fix a typo on is_update call inside latest function
2014-09-12 18:19:00 +02:00
Michael DeHaan
318b09e940
Merge pull request #8853 from kvar/devel
...
zypper: handle lists of packages efficiently
2014-09-11 17:30:21 -04:00
Alexander Gubin
e8b3a028ea
zypper_repository: Remove trailing "/". Identifies "logically" identical repos.
...
Example: ftp://download.nvidia.com/opensuse/12.2 == ftp://download.nvidia.com/opensuse/12.2/
2014-09-09 09:22:08 +02:00
James Cammarata
8265c08082
Merge pull request #8888 from alxgu/fix_zypp_repo_absent
...
Fix for #8886 . Correct state=absent for statements without name/alias.
2014-09-04 11:02:09 -05:00
Alexander Gubin
8bdd5240aa
Fix for #8886 . Correct state=absent for statements without name/alias.
2014-09-04 14:35:39 +02:00
Kristofor Varhus
8d694964d2
fix typo in zypper module (requiered -> required)
2014-09-03 13:03:59 -04:00
James Cammarata
1d5a4be997
Adding ignore_scripts option to the argument_spec for npm
2014-09-03 10:24:09 -05:00
James Cammarata
72b92a4b0e
Fixing new ignore scripts option logic and name for the npm module
2014-09-02 12:13:15 -05:00
James Cammarata
cf320adb43
Merge branch 'npm-ignore-scripts' of https://github.com/tkellen/ansible into tkellen-npm-ignore-scripts
2014-09-02 12:09:31 -05:00
Kristofor Varhus
e64591bfbe
zypper: handle lists of packages efficiently
2014-09-02 09:38:30 -04:00
Tyler Kellen
b0dd339450
add support for --ignore-scripts when using npm
2014-08-29 16:06:10 -04:00
Dustin C. Hatch
7b8501424b
portage: Add support for --changed-use
...
The `--changed-use` flag is an improvement over `--newuse` because it
does not trigger rebuilds for USE flag changes that would not affect the
installed package. Its use is generally recommended over `--newuse`.
Signed-off-by: Dustin C. Hatch <dustin@hatch.name>
2014-08-27 08:02:03 -05:00
rghe
96263dbd2d
fixes #8626 by reverting 0d8b81cd
2014-08-14 18:10:58 +02:00
Marcus Jaschen
689d519b93
Homebrew module: Added +
and .
characters to the package name regex.
...
Solves installation failures for packages like `bonnie++` or
`virtualhost.sh` as described in #8413 .
2014-08-13 22:31:03 +02:00
Michael DeHaan
44b5936875
Merge pull request #8544 from Tenzer/faster-apt_repository
...
apt_repository: Check if key already exists before adding it
2014-08-11 08:09:19 -04:00
Jeppe Toustrup
3efa2b6249
apt_repository: Check if key already exists before trying to add it for a speed increase
2014-08-11 11:57:23 +02:00
Michael DeHaan
4a3fcf7d1c
Merge pull request #6701 from carlanton/pr/pip_check_fix2
...
Make pip dry run work better for the common case
2014-08-08 14:53:25 -04:00
Michael DeHaan
30dcd9aa2f
Update version_added info.
2014-08-08 14:46:49 -04:00
Michael DeHaan
d7db973e6b
Merge pull request #7476 from geschke/devel
...
implemented the missing "command" option, defaults to "install"...
2014-08-08 14:47:14 -04:00
Michael DeHaan
65dc120d44
Update version_added info.
2014-08-08 14:14:12 -04:00
Karol Hosiawa
0114058947
Add validate_certs option to apt_repository
2014-08-08 14:14:12 -04:00
Michael DeHaan
c8dbca074b
Update version_added
2014-08-08 13:42:22 -04:00
alxgu
069ec8f68d
Update zypper
...
Modified "Version_added"
2014-08-08 13:42:22 -04:00
alxgu
c985d72df6
Changed version_added
2014-08-08 13:42:22 -04:00