Commit graph

2666 commits

Author SHA1 Message Date
Pedro Romano
5a5d431fa1 Changes examples from using Flask to some other package (Bottle was chosen) as per @mpdehaan's suggestion. 2013-10-14 11:47:59 -04:00
Michael DeHaan
54b5548068 Slight tweak to ovirt module docs. 2013-10-14 11:43:01 -04:00
Michael DeHaan
f6eae5571a Update version_added in ovirt module. 2013-10-14 11:41:24 -04:00
Michael DeHaan
5dd25692d4 Merge pull request #3838 from vincentvdk/ovirt-mod
added new module "ovirt"
2013-10-14 08:40:07 -07:00
Michael DeHaan
de3731a14e Some minor doc updates for the acl module. 2013-10-14 11:36:48 -04:00
Michael DeHaan
658b7d1f47 Merge pull request #3610 from bcoca/acl_module
initial draft acl module
2013-10-14 08:32:10 -07:00
Brian Coca
311892a567 added long names to support older version as per feedback
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-14 10:48:30 -04:00
Jurrien Bloemen
55062c69d6 Added full path to rhnreg_ks command for working correctly with sudo. 2013-10-14 16:05:01 +02:00
Keith Buck
36a8312de6 Improve the formatting and content for the sysctl module's description. 2013-10-14 07:16:47 +00:00
Eric Johnson
1b07e7a521 update defaults and help for 'name' and 'instance_names' 2013-10-13 13:48:09 -07:00
Eric Johnson
81b5c93c78 address a few review comments 2013-10-13 13:41:55 -07:00
Renan Ivo
776de30e6d update version_added of homebrew module 2013-10-13 15:32:51 -03:00
Renan Ivo
488fb484b7 set default options value to None in homebrew module 2013-10-13 10:42:12 -03:00
Renan Ivo
dd1b44acd5 create install_options parameter to homebrew module 2013-10-13 10:24:07 -03:00
Michael DeHaan
a130a8e614 Merge pull request #4477 from eggsby/devel
supervisorctl: user expansion on config filepath
2013-10-13 06:22:02 -07:00
Joe Maller
8597bf6bba ignore src when file module state=absent 2013-10-13 01:22:53 -04:00
Thomas Omans
1dbdd9d6d1 supervisorctl: user expansion on config filepath 2013-10-12 15:57:42 -07:00
Michael Scherer
914226afc3 Fix issue 4433, make sure status is a int rather than a string 2013-10-12 22:10:40 +02:00
Harrison Gu
b5500d9a4d Fix bug for setting ec2 tags 2013-10-12 20:57:32 +08:00
Julian Yap
76cec9d360 Assume state='directory' if recurse is set and previous state was 'directory'
Resolves this issue: https://github.com/ansible/ansible/issues/2067
2013-10-11 15:56:14 -10:00
Andrew Pope
6342046da6 Fixed broken force=yes on files for directories 2013-10-11 18:02:18 -04:00
James Cammarata
49130c688d Adding 'unique' option to authorized_key module and cleanup
A small refactoring of the authorized_key module to accomodate these
changes, plus fixing some things like not rewriting the file on every
new key. These changes bring the original feature for ssh options in-
line with the comments in #3798

Fixes #3785
2013-10-11 16:22:37 -05:00
David Minor
ed7d3f92a0 Add ssh key options parameter to authorized_key module 2013-10-11 16:22:37 -05:00
Michael DeHaan
41aaad69aa Make add_host clear the inventory pattern cache, add some more aliases. Fixes #4442. 2013-10-11 16:37:10 -04:00
Andy Kluger
f97871e0d9 Corrected docs ("monitor" -> "monitoring" and dissociated monitoring from instance_tags in examples) 2013-10-11 13:32:23 -04:00
James Tanner
d21a0287a2 Remove all sys.exit calls in the cloud/s3 module
Fixes #4458
2013-10-11 11:28:47 -04:00
jctanner
861779bb6e Merge pull request #4457 from mbarrin/devel
Fixed crash when s3 bucket did not exist for put operation
2013-10-11 08:18:51 -07:00
Matthew Barrington
ce0bf71245 Fixed crash when s3 bucket did not exist for put operation 2013-10-11 16:01:54 +01:00
Jimmy Tang
a4c8d3ee68 This oneliner change allows apt-key to inherit the http_proxy variable.
Before this fix

  TASK: [apt_repository repo='ppa:vbernat/haproxy-1.5'] *************************
  failed: [134.226.115.202] => {"cmd": ["apt-key", "adv", "--recv-keys", "--keyserver", "keyserver.ubuntu.com", "CFFB779AADC995E4F350A060505D97A41C61B9CD"], "failed": true, "rc": 2}
  stderr: gpg: requesting key 1C61B9CD from hkp server keyserver.ubuntu.com
  gpg: no valid OpenPGP data found.
  gpg: Total number processed: 0

After the fix

  TASK: [apt_repository repo='ppa:vbernat/haproxy-1.5'] *************************
  changed: [134.226.115.202]
2013-10-11 15:19:52 +01:00
Michael DeHaan
e4036b1bfc Merge pull request #4342 from pileofrogs/devel
mysql_replication switch to DictCursor for compatibility with more mysql server versions
2013-10-11 06:21:22 -07:00
Michael DeHaan
ce79efc34a Add missing version_added doc to mysql login port parameter. 2013-10-11 09:14:14 -04:00
James Tanner
e3849f1be7 Fixes #4312 for older versions of usermod which do not have --append 2013-10-11 09:10:46 -04:00
Michael DeHaan
119b6d73dd Remove examples of module antipattern of setting the choices array for boolean types. 2013-10-11 08:45:13 -04:00
Dylan Martin
345329b69f toned down the error message for unconfigured master/slave 2013-10-10 09:15:47 -07:00
Mads Weitling
ce799b9e0e Fix Hg.__init__(...) reading value from self.hg_path 2013-10-10 15:46:10 +00:00
Mads Weitling
740a33bcab Fix 'hg module fails with: AttributeError: 'AnsibleModule' object has no attribute 'parames'' 2013-10-10 17:15:04 +02:00
Michael DeHaan
8d16a39af9 Correct typo 2013-10-10 09:15:04 -04:00
Robert Parrott
54aeaaf486 small change ... in order to get changed signal correct, move DEFAULT section test upward. 2013-10-10 09:10:00 -04:00
Boris Kaul
5a34e572f5 Add support for Rich Rules in firewalld module 2013-10-10 20:09:52 +07:00
Robert Parrott
762135915c fix handling of [DEFAULT] section by ConfigParser. it is there by DEFAULT. 2013-10-10 09:01:00 -04:00
Michael DeHaan
35a3419bee Merge pull request #4423 from localvoid/firewalld-fix_timeout
Fix timeout bug in firewalld module
2013-10-10 05:46:18 -07:00
Michael DeHaan
987bf9e451 Merge pull request #4422 from bennojoy/nova1
nova compute fix for instance name regex issue
2013-10-10 05:45:40 -07:00
Boris Kaul
194a7dab9f Fix timeout bug in firewalld module 2013-10-10 13:41:42 +07:00
bennojoy
40565ef236 nova compute fix regex in instance name 2013-10-10 11:44:30 +05:30
Jim Kleckner
f231c86ff3 Add detail to copy module validate argument
This clarifies the validate command argument and makes it clear that if
it is present, it must include the '%s' argument for the path to the
temporary file to validate.
2013-10-09 18:21:43 -07:00
Joost Cassee
bd10aad71f Add in a retry loop for route53 requests
The route53 api doesn't allow multiple overlapping requests, so if
it is still processing a previous request when the next comes in will
return an error.

Fixes #4085
2013-10-09 12:50:41 -05:00
James Tanner
c679491ece #4408 s3: add force alias for overwrite and set True by default 2013-10-09 12:56:56 -04:00
James Tanner
c55107fa83 Remove debug comment from s3 module 2013-10-09 12:25:09 -04:00
James Tanner
9c3fb9c2b7 4006: return s3 url even if file exists 2013-10-09 12:12:24 -04:00
Javier Candeira
f8255b538e fix django_manage migrate command 2013-10-10 00:57:01 +11:00
Michael DeHaan
0e55bd892d For values that are booleans in the module doc, the value in the doc section should be a boolean or truthiness
is engaged in the documentation formatting.  This fixes the update_cache default in the docs to the proper
value of "no"
2013-10-09 07:52:23 -04:00
Michael DeHaan
203a4f10cd Use explicit boolean defaults in apt module to make the code more clear. 2013-10-09 07:47:24 -04:00
James Tanner
b7f229d390 Second attempt at preventing ipv6 route enumeration on EL4 machines 2013-10-08 18:40:15 -04:00
James Tanner
4b1600aae5 Revert "Do not enumerate ipv6 routes in CentOS 4"
This reverts commit 5186c408f7.
2013-10-08 15:51:12 -04:00
James Tanner
5186c408f7 Do not enumerate ipv6 routes in CentOS 4 2013-10-08 15:12:38 -04:00
Eric Johnson
cfc249931a custom user-agent header 2013-10-08 16:36:35 +00:00
Michael DeHaan
d803ce7ab3 Fix documentation of default value in s3 module. Fixes #4289 2013-10-08 08:42:03 -04:00
Michael DeHaan
ce0efc8e25 Fix typo, relative to absolute, fixes #4126 2013-10-08 08:40:22 -04:00
Michael DeHaan
135f79f337 Add documentation about how passwords are generated. 2013-10-08 08:36:48 -04:00
Eric Johnson
9ca824c16d adding Google Compute Engine modules and inventory plugin 2013-10-07 21:01:37 +00:00
James Cammarata
a2ac5d6df2 Better detection/categorization of ipv4 secondaries/virtual IPs
Fixes #3916
Fixes #3478
2013-10-07 15:18:33 -05:00
Michael DeHaan
0e909640c5 Make group_id be a list. 2013-10-07 15:34:35 -04:00
Michael DeHaan
c5672cf16e Merge pull request #4389 from MattTheRat/devel
addresses #4371 - adds -m to usermod commands
2013-10-07 12:15:20 -07:00
Matt Warren
74c412e249 addresses https://github.com/ansible/ansible/issues/4371 - adding -m to home directory modification 2013-10-07 10:47:12 -04:00
Michael DeHaan
686d998b26 Merge pull request #4368 from sayap/ec2_ami
ec2_ami: Account for AWS's "eventual consistency" with AMI creation.
2013-10-07 06:09:34 -07:00
Michael DeHaan
8604212da9 Merge pull request #4352 from jhoekx/mysql-user-grant
Add grant parameter to MySQL user module
2013-10-07 06:08:39 -07:00
Michael DeHaan
709993aa27 Merge pull request #4334 from bennojoy/s3
minor fixes
2013-10-07 06:02:09 -07:00
Michael DeHaan
39a81c4361 Merge pull request #4300 from psvo/cloudformation_results_fix
Fail cloudformation operation when it is not completed successfully
2013-10-07 06:01:40 -07:00
Benno Joy
c1198dc12c change "Changed" to changed 2013-10-07 18:29:03 +05:30
Michael DeHaan
f6c3dce497 Merge pull request #4336 from orkaa/devel
Fixes service update-rc.d functionality on debian
2013-10-07 05:56:43 -07:00
Michael DeHaan
a8902e878c Merge pull request #4347 from sashka/devel
Remove options and protocols in source line with regex.
2013-10-07 05:55:43 -07:00
Michael DeHaan
4826d4b87a Merge pull request #4309 from ryanaudiencepi/monit_fix
Fix monit uppercase and restart problem
2013-10-07 05:49:38 -07:00
Michael DeHaan
42e84e1b34 Merge pull request #4264 from wulczer/fix-linode-param-type
The payment term param in the Linode module is an int.
2013-10-07 05:48:37 -07:00
Michael DeHaan
8dae9fa5e7 Fix module formatting in the pkgutil module. 2013-10-07 08:24:02 -04:00
Michael DeHaan
37970112d9 Add "from" as an alias to "msg_from" in the hipchat module, to match docs. 2013-10-07 08:15:11 -04:00
Joshua Kehn
cc0c908cee Added validate option to lineinfile
The validate option is constructed similarly to the template command's
validate option. TestRunner.py has been updated to include two new
tests, one for passing and one for failing validation.
2013-10-06 13:51:27 -04:00
Michael DeHaan
b74d9bbc90 Merge pull request #4364 from stoned/pre-1.6-passlib
Fix compatibility issue with passlib version < 1.6 (as encountered on eg...
2013-10-04 14:47:18 -07:00
Yap Sok Ann
a8f95435c3 ec2_ami: Account for AWS's "eventual consistency" with AMI creation.
Calling `ec2.get_image` right after `ec2.create_image` may raise error
"InvalidAMIID.NotFound". This has happend roughly 1 time out of 10 for me.

Other people has bitten by this too:
- 5707f100a0
- http://stackoverflow.com/a/14794952
- https://bitbucket.org/utoolity/bamboo-aws-plugin/pull-request/22/baws-116-fix-ec2-image-task-failing-with/diff
2013-10-04 23:17:04 +08:00
Martijn Lina
4cd3b9d637 replace dashes in rc.conf keys (which are based on freebsd rc.d filenames) to underscores 2013-10-04 16:30:39 +02:00
Michael DeHaan
a74c0091b2 Merge pull request #4366 from skyl/GenericBsd-get_default_interfaces
fixes 4365 - Mac with cisco vpn client, GenericBsdIfconfigNetwork get_default_interfaces fails with index out of range
2013-10-04 05:56:04 -07:00
Michael DeHaan
b9c337e436 "touch" option on file is new in 1.4 2013-10-04 08:45:05 -04:00
bennojoy
01a0fa1352 gc_storage rewrite commit 2 2013-10-04 16:47:09 +05:30
Benno Joy
834c990903 gc_storage rewrite commit 1 2013-10-04 16:32:24 +05:30
Skylar Saveland
b47add0f32 fixes 4365 - Mac with cisco vpn client, GenericBsdIfconfigNetwork get_default_interfaces fails with index out of range 2013-10-03 18:58:11 -07:00
Stoned Elipot
b03912278e Fix compatibility issue with passlib version < 1.6 (as encountered on eg EL6 systems)
- passlib.apache.HtpasswdFile's 'default_scheme' was called 'default'
before passlib version 1.6
- while here also deal with passlib.apache.HtpasswdFile's older
'autoload' paramter vs the newer 'new' one.
2013-10-04 03:18:17 +02:00
Matt Martz
c56659a2a8 Update references for rax_clb_nodes to use rax_clb 2013-10-03 09:45:01 -05:00
Matt Martz
fd959a8b7c Move rax_clb_nodes to rax_clb 2013-10-03 09:43:56 -05:00
Jeroen Hoekx
08b0773da5 Add append_privs parameter to MySQL user module.
This adds the privileges given to the existing list of privileges
instead of overwriting any existing ones.
2013-10-03 14:57:01 +02:00
Daniel Koch
cdc5e04d7b Add check to make sure dopy is at least version 0.2.2 for digital_ocean module 2013-10-02 20:29:35 -04:00
Adam Miller
323e8d4a8c fixed firewalld get_service_enabled 2013-10-02 18:52:53 -05:00
Alexander Saltanov
2bd6c5e262 Remove options and protocols in source line with regex.
Fixes #4311
2013-10-03 03:31:04 +04:00
Michael DeHaan
a94a141ad5 Merge pull request #4345 from jlund/fetch-typo
Fixed a typo in the fetch module documentation
2013-10-02 16:17:33 -07:00
Daniel Koch
8c0e8354bf Add "virtio" and "private_networking" options for DigitalOcean droplets
The dopy manager defaults to False for virtio, but the DigitalOcean web interface defaults to True, which is a pretty safe default and sensible considering the performance gains.

Private networks are a new feature currently available only in the NYC2 region as of Oct 2, 2013.

NOTE: dopy >= 0.2.2 is required for these options to work.
2013-10-02 18:06:35 -04:00
Joshua Lund
db8dd1dcc2 Fixed a typo in the fetch module documentation 2013-10-02 16:02:18 -06:00
Andy Kluger
ee054a491a Fix for Issue #2470 - gem version string processing
This fix assumes that no sane gem version has spaces in it, so when one like that is encountered, it will get truncated at the first space.
2013-10-02 17:55:30 -04:00
James Cammarata
d21714a37f Fix for network byte order issues in accelerate 2013-10-02 15:37:15 -05:00
Dylan Martin
6b26a73681 switch to DictCursor 2013-10-02 13:00:07 -07:00
ryanaudiencepi
cd6d4f70c0 Monit fix - Use case insensitive comparison 2013-10-03 02:46:35 +08:00
Michael DeHaan
df529b9b69 Merge pull request #4338 from jlaska/ec2_group_idempotency
Add idempotency support to ec2_group
2013-10-02 10:01:28 -07:00
James Laska
e002496f0e Add idempotency support to ec2_group 2013-10-02 11:29:59 -04:00
Nace Oroz
672a0c04e4 Fixes service update-rc.d functionality on debian 2013-10-02 14:27:38 +02:00
Michael DeHaan
42eeac5aba htpasswd documentation formatting fix 2013-10-02 08:24:21 -04:00
bennojoy
00dcf0f1ac minor fixes 2013-10-02 13:27:54 +05:30
bennojoy
c374b4e442 support for google cloud storage module 2013-10-02 12:39:45 +05:30
James Cammarata
912e3a7b0b Merge branch 'accelerate_improvements' into devel
Conflicts:
	library/utilities/accelerate
2013-10-01 21:22:17 -05:00
jctanner
351c4d749e Merge pull request #4163 from lorin/htpasswd-doc
htpasswd docs: add notes about depending on python-passlib
2013-10-01 19:19:40 -07:00
Michael DeHaan
a43ebf0b29 Merge pull request #4330 from tgerla/ec2_eip-docs
ec2_eip module: note that there may be a delay reaching the instance
2013-10-01 15:12:07 -07:00
James Cammarata
fa80a17aa3 Make recv_data less greedy so it doesn't eat other packets 2013-10-01 16:50:32 -05:00
Tim Gerla
70be8cfd17 ec2_eip module: note that there may be a delay before the reassigned instance is reachble. 2013-10-01 14:50:06 -07:00
James Cammarata
c3d06b4639 Merge branch 'devel' of https://github.com/ansible/ansible into devel 2013-10-01 15:59:29 -05:00
James Tanner
c13dd50b5e typo in ec2_eip docstring 2013-10-01 16:58:35 -04:00
James Cammarata
ac3cdf7c25 Merge branch 'devel' of https://github.com/digi691/ansible into digi691-devel 2013-10-01 15:51:51 -05:00
James Tanner
b98ab745f1 fix docstring indentation on scc modules 2013-10-01 16:46:17 -04:00
James Cammarata
59a5ce23d9 Adding an accelerate_timeout parameter for plays
This setting makes the timeout for each play configurable, rather than
hard-coding it at 300 seconds (now the default if left unspecified)

Fixes #4162
2013-10-01 15:26:50 -05:00
James Cammarata
f9c87868ac Added keepalive packets to accelerate mode
Commands will now be started up in a separate task from the main
handler thread, so that it can be monitored for completeness while
sending a keepalive packet back to the controller to avoid a socket
receive timeout.
2013-10-01 15:19:21 -05:00
James Cammarata
344d8d51ab Use atomic_move to put the file, rather than shelling out
Fixes #4321
2013-10-01 14:47:50 -05:00
James Cammarata
9341587520 Merge branch 'sha256sum-updates' of https://github.com/jlund/ansible into jlund-sha256sum-updates 2013-09-30 23:16:12 -05:00
James Cammarata
c8dcdc7b7a Merge branch 'source_control-executable' of https://github.com/skyl/ansible into skyl-source_control-executable 2013-09-30 21:57:47 -05:00
cdigiovanni
7ff2b3befd Added support to disable and enable upstart jobs 2013-09-30 14:50:47 -05:00
ryanaudiencepi
9da0ae2a1f Fix monit module. Monit restart bug 2013-10-01 03:41:17 +08:00
ryanaudiencepi
c2e2d53a16 Fix monit module. Use lowercase letters check instead of uppercase 2013-10-01 03:39:43 +08:00
James Cammarata
52a42bf607 Add more verbose debugging options for accelerate 2013-09-30 14:08:07 -05:00
Petr Svoboda
19fb4f861c Fail cloudformation operation when it is not completed successfully
When cloudformation operation is successfully submitted but some step
during stack creation or update fails, operation result should be
failed=True.
2013-09-30 15:47:43 +02:00
Nils Pascal Illenseer
4ee6c6d5df Add option 'lz4' for compression 2013-09-30 14:20:21 +02:00
Joshua Lund
20489f1346 * Updated SHA-256 functionality in the get_url module
(fixes issue #4277)

* The sha256sum error message now displays the invalid
  destination checksum if it doesn't match the one that
  is specified in the arguments. This is useful for
  debugging purposes.

* Non-alphanumeric characters, including the infamous
  Unicode zero-width space, are removed from the sha256sum
  argument prior to the check.
2013-09-27 14:37:21 -06:00
Skylar Saveland
b339485da8 add executable option to subversion module 2013-09-26 14:27:40 -07:00
Skylar Saveland
d8c61528db add executable option to hg, refactor in doing so 2013-09-26 14:27:16 -07:00
Skylar Saveland
c4947ebc7d add executable option to bzr module, refactor in doing so 2013-09-26 14:26:46 -07:00
Skylar Saveland
5243bd5fa3 executable option to git module 2013-09-26 14:15:28 -07:00
Jan Urbański
7fa92054fe The payment term param in the Linode module is an int. 2013-09-26 18:23:21 +02:00
James Cammarata
2ed803837e Merge pull request #4228 from mragh/devel
Include database param if provided and valid in django_admin commands
2013-09-25 14:58:29 -07:00
James Cammarata
9dd2d1eb13 Merge pull request #4222 from lessmian/devel
Module lvol fails when decimal point is a colon
2013-09-25 14:54:58 -07:00
James Cammarata
80524a8f2b Merge pull request #4165 from jerm/devel
dest in s3 module does not work with ~username expansion for home directories
2013-09-25 14:54:11 -07:00
James Cammarata
484297cfa8 Added a version_added string to the new digital_ocean module param 2013-09-25 16:49:48 -05:00
James Cammarata
3fd0eefb97 Merge branch 'digital_ocean_idempotence_take2' of https://github.com/ralphbean/ansible into ralphbean-digital_ocean_idempotence_take2 2013-09-25 16:47:13 -05:00
James Cammarata
8b010cbb45 Make the ec2 wait code a little smarter
The code to determine the number of running instances could blow up
if the response from AWS did not actually contain any data. This code
makes it a bit smarter in handling, so that it will wait for a valid
response regardless of the wait condition.

Fixes #3980
2013-09-25 16:16:52 -05:00
James Cammarata
301a00ccf5 Merge branch 'obsd-fix-release' of https://github.com/johanwiren/ansible into johanwiren-obsd-fix-release 2013-09-25 14:49:57 -05:00
James Cammarata
b41ea366c8 Doc fix in htpasswd module due to colon on the line 2013-09-25 14:46:16 -05:00
James Cammarata
786a765063 Merge branch 'add-scheme-to-htpasswd-params' of https://github.com/PugglePay/ansible into PugglePay-add-scheme-to-htpasswd-params 2013-09-25 14:39:14 -05:00
James Cammarata
23417368df Fixing up some open_iscsi docs and CHANGELOG update 2013-09-25 14:37:56 -05:00
James Cammarata
c98ed252fe Merge branch 'open_iscsi_bis' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-open_iscsi_bis 2013-09-25 14:35:01 -05:00
James Cammarata
776fc044dd Merge pull request #4231 from drfickle/svn_docs
Elaborate on capabilities of subversion module
2013-09-24 11:15:52 -07:00
Steve Fox
bd48251b34 Elaborate on capabilities of subversion module 2013-09-24 11:10:09 -05:00
James Cammarata
a2be93e4b8 Merge pull request #4229 from eggsby/supervisorctl
supervisorctl module: fixing typo in error handling
2013-09-24 08:48:15 -07:00
egghead
255d2d6770 supervisorctl module: fixing typo in error handling 2013-09-24 15:36:16 +00:00
Jake Kreider
bd446ef777 Include database param if provided and valid in django_admin commands 2013-09-24 10:05:45 -05:00
Tomasz Lesniewski
385ffcdfb1 Module lvol fails when decimal point is a colon 2013-09-24 16:19:07 +02:00
Rene Moser
ff84812047 host: minor doc style improvements 2013-09-24 15:47:39 +02:00
Tomasz Lesniewski
e2815a56dc Module lvol fails when decimal point is a colon 2013-09-24 15:06:18 +02:00
Michael DeHaan
314e1aafc1 Merge pull request #4220 from dagwieers/setup-dmidecode-fix
Fix for commented dmidecode output
2013-09-24 05:04:33 -07:00