Mitchell Hashimoto
2ca498a5dd
provisioners/docker: build images using new DSL
2014-01-14 09:22:55 -08:00
Mitchell Hashimoto
b3de12702a
Merge branch 'add_building_local_dockerfiles' of https://github.com/jpfuentes2/vagrant into jpfuentes2-add_building_local_dockerfiles
2014-01-14 08:17:44 -08:00
Myles Steinhauser
b34fdf010b
More specific Solaris 11 detection
2014-01-14 09:56:01 -05:00
Myles A. K. Steinhauser
e5445442c1
More specific Solaris <11 detection.
...
Note: This will probably break on Solaris 12+, but not certain of a better approach for now.
2014-01-14 09:52:27 -05:00
Mitchell Hashimoto
526231812f
website/docs: better docs
2014-01-13 22:29:10 -08:00
Stoned Elipot
10169f8e99
Add NetBSD guest support
2014-01-14 07:25:35 +01:00
Mitchell Hashimoto
04f1854840
synced_folders/rsync: unit tests for the callback, fix bug
2014-01-13 22:01:09 -08:00
Mitchell Hashimoto
fe2844ca59
synced_folders/rsync: rsync-auto command
2014-01-13 21:43:31 -08:00
Mitchell Hashimoto
c05a44face
synced_folders/rsync: pass --delete option to delete bad files
2014-01-13 11:40:46 -08:00
Mitchell Hashimoto
b4b62daf5c
synced_folders/rsync: expand host paths relative to root path
2014-01-13 11:34:49 -08:00
Mitchell Hashimoto
309d12a16b
synced_folders/rsync: `vagrant rsync` syncs the folders
2014-01-13 11:25:29 -08:00
Mitchell Hashimoto
59218ded68
synced_folders/rsync: move rsync logic out to helper
2014-01-13 11:01:50 -08:00
Mitchell Hashimoto
9b383740ba
hosts/bsd: use Util::Which instead of system("which")
2014-01-12 22:37:39 -08:00
Mitchell Hashimoto
b8601423c7
hosts/bsd: don't execute shell for sudo commands [GH-2808]
2014-01-12 22:34:45 -08:00
Mitchell Hashimoto
8bc36824bf
commands/list-commands: lists all commands primary and non-primary
2014-01-11 09:32:13 -08:00
Mitchell Hashimoto
6a7e07c53f
provisioners/chef: don't follow symlink when chown
2014-01-11 08:02:59 -08:00
Mitchell Hashimoto
7b2a0716f1
synced_folders/rsync: warn if password auth
2014-01-10 20:37:11 -08:00
Mitchell Hashimoto
55b0dffd36
synced_folders/rsync: output what is being excluded
2014-01-10 18:06:16 -08:00
Mitchell Hashimoto
60f3d224c9
synced_folders/rsync: can exclude files
2014-01-10 18:01:38 -08:00
Mitchell Hashimoto
2e3fcf576c
synced_folders/rsync: allow guests to execute things before
2014-01-10 17:51:44 -08:00
Mitchell Hashimoto
38fbbb6c56
synced_folders/rsync: Initial commit working
2014-01-10 17:40:29 -08:00
Mitchell Hashimoto
fcae8dd687
Merge pull request #2766 from graingert/patch-1
...
provisioners/salt: Allow defining of <install-type> and <install-type-args>
2014-01-10 15:43:25 -08:00
Mitchell Hashimoto
9a58caaf9c
synced_folders/nfs: always prune [GH-2738]
2014-01-10 15:41:57 -08:00
Mike Fiedler
9679eccb06
extend Virtualbox convenince methods
...
In the vein of #2426 , I too can never remember syntax, and end up
hunting for either an exisiting Vagrantfile or starting to dig up
details.
2014-01-10 12:41:23 -05:00
Mitchell Hashimoto
91380c0650
synced_folders/nfs: automatically install NFS client if possible
...
If guests have the following capabilities, automatic NFS client
installation will be done:
* nfs_client_installed - Checks if the NFS client is installed
* nfs_client_install - Install the NFS client
Support is already in for Debian, Ubuntu, RedHat, CentOS, and Fedora
2014-01-09 16:58:20 -08:00
Mitchell Hashimoto
5e835f4201
Merge pull request #2792 from smoyer/redhat_hostname_patch
...
guests/redhat: use FQDN for hostname
2014-01-08 20:58:59 -08:00
Mitchell Hashimoto
732a03c1c4
guests/linux: properly quote and insert public key
2014-01-08 15:12:26 -08:00
smoyer
3964298504
This was introduced in 1.4.1 with d26c147
.
...
This PR sets the active hostname back to the name specified in the Vagrantfile (fqdn) and updates the unit tests.
Setting it to the short name causes loads of problems while configuring the system. I've had issues with sudoers hostname matching, Weblogic certificate generation and a few others. Even if I changed all of the Chef recipes, the fqdn is set in /etc/sysconfig/network so the active hostname will switch to the fqdn after a reboot.
2014-01-08 17:49:54 -05:00
Mitchell Hashimoto
9a419c3f63
Merge pull request #2784 from mitchellh/f-host-capabilities
...
Host Capabilities
2014-01-08 08:54:26 -08:00
Teemu Matilainen
64ea647e09
provisioners/chef-solo: Fix copy&paste "Puppet" from a deprecation message
2014-01-08 13:27:35 -03:00
Mitchell Hashimoto
e2af545182
kernel/v2: a host always exists, remove dumb check
2014-01-07 21:20:28 -08:00
Mitchell Hashimoto
e9f6c81ab7
hosts/*: proper detect API
2014-01-07 21:18:36 -08:00
Mitchell Hashimoto
26b564566b
hosts/null: needs to accept env as param
2014-01-07 21:14:33 -08:00
Mitchell Hashimoto
a72e7473d5
hosts/windows: convert
2014-01-07 21:13:21 -08:00
Mitchell Hashimoto
4d47dae5b9
many more hosts converted
2014-01-07 21:11:59 -08:00
Mitchell Hashimoto
4cec8b48d9
hosts/freebsd: convert
2014-01-07 21:01:03 -08:00
Mitchell Hashimoto
a6c7cc481e
convert more hosts: arch and linux
2014-01-07 20:53:39 -08:00
Mitchell Hashimoto
bdb88da743
hosts/bsd: convert to new style
2014-01-07 20:39:24 -08:00
Mitchell Hashimoto
5e490e3746
Get tests to pass
2014-01-07 19:26:03 -08:00
Mitchell Hashimoto
93e365bb33
core: Vagrant::Environment uses new host settings
2014-01-07 19:11:08 -08:00
Mitchell Hashimoto
ea502c5c3d
commands/plugin: vagrant plugin install can accept multiple
2014-01-07 14:17:48 -08:00
Mitchell Hashimoto
24a2892236
Update CHANGELOG and website
2014-01-07 14:11:33 -08:00
Ryan S. Brown
b53ae446d2
Allow `vagrant (un)install plugin1 plugin2 plugin3`
2014-01-07 14:09:31 -08:00
Mitchell Hashimoto
86cab61c27
commands/plugin: support installing from file
2014-01-06 09:27:37 -08:00
Thomas Grainger
feb748f488
Allow defining of <install-type> and <install-type-args>
2014-01-06 12:22:43 +00:00
Mitchell Hashimoto
f612ec7549
core: support plugin sources, and mask Bundler errors
2014-01-05 23:13:49 -08:00
Mitchell Hashimoto
0117521744
commands/plugin: vagrant update is fancier now (see website docs)
2014-01-05 22:33:05 -08:00
Mitchell Hashimoto
561e65ec72
commands/plugin: list shows version constraints and entrypoints
2014-01-05 21:16:41 -08:00
Mitchell Hashimoto
bef7051943
commands/plugin: InstallGem tests
2014-01-05 21:08:55 -08:00
Mitchell Hashimoto
aeb0d1a480
commands/plugin: fix plugin existence middleware, add tests
2014-01-05 20:57:55 -08:00
Mitchell Hashimoto
5fe2994005
commands/plugin: convert all actions to use the new classes
2014-01-05 20:50:25 -08:00
Mitchell Hashimoto
8904319beb
commands/plugin: install version and entrypoints work
2014-01-05 20:47:02 -08:00
Mitchell Hashimoto
9dc1307b7c
commands/plugin: remove --plugin-prerelease
2014-01-05 17:46:20 -08:00
Mitchell Hashimoto
d368b3cf62
core: Tolerate syntax errors in ~/.gemrc [GH-2760]
2014-01-05 17:11:24 -08:00
Mitchell Hashimoto
8823f43f3a
commands/plugin: error if uninstall non-existent plugin
2014-01-05 16:03:00 -08:00
Mitchell Hashimoto
e1c9431085
commands/plugin: uninstall works again
2014-01-05 16:02:00 -08:00
Mitchell Hashimoto
95aeb9443d
commands/plugin: Remove PruneGems
2014-01-05 14:55:44 -08:00
Mitchell Hashimoto
86610bf735
installing gems works
2014-01-05 14:54:50 -08:00
Mitchell Hashimoto
1eef75a715
commands/plugin: list uses PluginManager
2014-01-05 08:42:34 -08:00
Mitchell Hashimoto
279b171339
commands/plugin: remove unnecessary line
2014-01-04 17:22:07 -08:00
Mitchell Hashimoto
ae17dc09eb
commands/plugin: list plugins uses Bundler
2014-01-04 17:21:53 -08:00
Mitchell Hashimoto
8450f20e87
Move StateFile into Vagrant::Plugin core
2014-01-04 16:45:41 -08:00
Mitchell Hashimoto
5387984e0f
commands/plugin: allow within Bundler env (cause we always are)
2014-01-04 16:32:46 -08:00
Mitchell Hashimoto
4c6957b5cf
communicators/ssh: if insert_key is false, don't insert a key
2014-01-03 11:29:44 -08:00
Mitchell Hashimoto
54e640b0c9
communicators/ssh: output UI when inserting key
2014-01-03 11:22:05 -08:00
Mitchell Hashimoto
b3a9e6a088
insert_public_key cap, and use that if it exists
2014-01-03 11:13:21 -08:00
Mitchell Hashimoto
38e7166a21
communicators/ssh: support passwords
2014-01-03 09:55:34 -08:00
Mitchell Hashimoto
e115322e78
core: accept passwords in ssh_info
2014-01-03 09:48:35 -08:00
Mitchell Hashimoto
2f7163386d
providers/virtualbox: don't error when intnet set to "true" [GH-2751]
2014-01-03 08:31:14 -08:00
Mitchell Hashimoto
e29bcba955
provisioners/puppet: alphabetize
2014-01-02 14:44:49 -08:00
Mitchell Hashimoto
040e1a2e0a
provisioners/chef: synced_folder_type
2014-01-02 14:40:57 -08:00
Mitchell Hashimoto
1da271c536
provisioners/puppet: synced_folder_type [GH-2709]
2014-01-02 14:37:47 -08:00
Mitchell Hashimoto
862331fbf0
Merge branch '1.4.3'
...
Conflicts:
CHANGELOG.md
lib/vagrant/version.rb
2014-01-02 10:16:52 -08:00
Mitchell Hashimoto
3f2d3886b2
providers/virtualbox: fix package [GH-2739]
2014-01-02 10:09:05 -08:00
Ryan S. Brown
23ce05d166
detect fedora 19 and 20
2014-01-02 11:09:11 -06:00
Mitchell Hashimoto
437b186966
Merge pull request #2734 from seginoviax/funtoo
...
New guest: Funtoo
2014-01-01 20:48:46 -08:00
Seginoviax
12176515da
Add funtoo guest support. Based heavily on https://github.com/mitchellh/vagrant/pull/1840
2013-12-31 17:33:10 -08:00
Seginoviax
a4c74ea87a
Revert "Add funtoo guest support. Based heavily on https://github.com/mitchellh/vagrant/pull/1840 "
...
This reverts commit 3559c08086
.
2013-12-31 17:12:19 -08:00
Mitchell Hashimoto
7141be065a
Merge pull request #2674 from phinze/static-nfs-guest-ips
...
core: problems with using VirtualBox guest properties for reading NFS Guest IP
2013-12-31 11:00:23 -08:00
Mitchell Hashimoto
7f5c85cf20
provisioners/chef-solo: delete data bag secret [GH-2712]
2013-12-31 10:44:08 -08:00
Mitchell Hashimoto
54f4cffc00
providers/virtualbox: export after checking if package exists [GH-2380]
2013-12-31 08:45:56 -08:00
Seginoviax
3559c08086
Add funtoo guest support. Based heavily on https://github.com/mitchellh/vagrant/pull/1840
2013-12-31 00:54:32 -08:00
Mitchell Hashimoto
f89c4412b2
synced_folders/nfs: lock around sudo input [GH-2680]
2013-12-30 14:45:40 -08:00
Mitchell Hashimoto
28720b181d
guests/ubuntu: remove mount_nfs cap
2013-12-30 08:12:10 -08:00
Paul Hinze
fc66ec1660
providers/virtualbox: allow and prefer static guest IPs for NFS
...
Since vbox guest properties are proving to be less reliable than we had
hoped, bring back the static config parsing mechanism for finding a
guest IP to hand to NFS. If we find a static IP (or set of IPs) we'll
use that instead of trying to probe guest properties.
This retains NFS support for DHCP interfaces while regaining the
reliability that we previously had when static IPs were required.
2013-12-28 17:01:08 -06:00
Mitchell Hashimoto
5d39cc381f
Merge pull request #2694 from tmatilai/plugin-json-errors
...
core: show more informative error if plugin.json parsing fails
2013-12-28 13:12:59 -08:00
Mitchell Hashimoto
0316665ad8
commands/plugin: use default version requirement
2013-12-28 14:10:57 -07:00
Mitchell Hashimoto
35d4737553
Merge pull request #2705 from tmatilai/upstart-emit-nfs
...
Emit upstart event `vagrant-mounted` also on NFS mounts
2013-12-28 12:50:53 -08:00
Mitchell Hashimoto
2cf864e95b
hosts/bsd: check exports only if exports file exists [GH-2714]
2013-12-28 13:48:13 -07:00
Marc Meszaros
13ff159d8c
Fix salt provisioner error namespace to be more consistent with other provisioners
2013-12-27 22:38:44 -05:00
Marc Meszaros
194d7d11cd
Add error messages to localization file for salt provisioner
2013-12-27 22:37:54 -05:00
Tobias Bähr
364488eba8
Set default value to avoid a prompt
2013-12-22 18:48:14 +01:00
Teemu Matilainen
572cdeeda9
guests/linux: Emit upstart event on VirtualBox using the expanded path
2013-12-22 08:55:59 -03:00
Teemu Matilainen
2fab268ede
guests/linux: Emit upstart event `vagrant-mounted` also on NFS mounts
...
Complements #2502 , and fixes error on VMs without upstart (like #2596 ).
2013-12-22 08:46:24 -03:00
Teemu Matilainen
a5b84f413e
core: More informative error if plugin.json parsing fails
2013-12-20 07:10:10 -03:00
Mitchell Hashimoto
489506ff83
guests/linux: up the amount of retries for NFS mounts
2013-12-18 08:38:31 -08:00
Mitchell Hashimoto
9ac4ec85dd
Merge pull request #2677 from purpleidea/fix_puppet_apply
...
provisioner/puppet: do not prepend default path because it can override modules.
2013-12-18 08:31:21 -08:00
James Shubin
d4c76d1bcf
Do not prepend default path because it can override modules.
...
It is common for Puppet to manage itself. If the puppet code you are
deploying pushes files to /etc/puppet/modules/, then prepending this
path can break deployment because it will override the module path if
the deployment code is changing. There is no good reason to include this
path. Puppet has built in defaults for this reason.
2013-12-17 14:29:54 -05:00
Charles Blaxland
7518bf94eb
Force rm of chef config files #2669
2013-12-17 17:53:52 +11:00
Mitchell Hashimoto
042a8d6428
Merge pull request #2667 from gildegoma/bugfix_ansible_raw_args
...
provisioner/ansible: Fix a bug in `raw_arguments` option
2013-12-16 13:15:30 -08:00
Gilles Cornu
e5f45e2b79
Ansible: Fix a bug in `raw_arguments` option
...
Without this change, it is not possible to pass more than one "raw"
argument, which was not the expected behavior. In addition to Array
format, String (for a single argument) is still accepted (for sake of
"backward compatibility" and ease of use).
Note: Due to low/expert usage of this option, I think that it is not
necessary to add more robust validation on this parameter (e.g. Array
of String type checking or argument syntax pattern matching). Use it at
your own risk ;-)
2013-12-16 21:20:10 +01:00
Charlie Huggard
d26c1471d7
Refactor ChangeHostName for EL.
...
Based off of the Debian pattern. Need to add tests.
Related to #2653 and #2592
2013-12-16 01:52:39 -06:00
Mitchell Hashimoto
da91572ce7
commands/init: error if can't write Vagrantfile [GH-2660]
2013-12-15 11:28:51 -08:00
Gilles Cornu
213534d185
Merge pull request #2606 from maspwr/ansible-groups
...
Add ability to use Ansible groups in generated inventory. Fixes #2551 .
2013-12-14 07:03:22 -08:00
Mitchell Hashimoto
2c568a75f2
commands/ssh: use proper variable
2013-12-13 22:32:01 -08:00
Mitchell Hashimoto
2bebf188d6
hosts/bsd: check for exports file issues prior to exporting NFS
2013-12-13 22:14:13 -08:00
Mitchell Hashimoto
c1141dded3
providers/virtualbox: don't clear /etc/exports on BSDs for NFS [GH-2645]
2013-12-13 22:03:14 -08:00
Mitchell Hashimoto
902b769e6b
core: -t/-T work for vagrant ssh -c [GH-2618]
2013-12-13 21:07:54 -08:00
Fabio Rehm
46ba43e6ac
provisioners/docker: Display warning in case a version get specified on the Vagrantfile and the guest is a RedHat-ian guest [GH-2649]
2013-12-13 23:06:20 -02:00
Fabio Rehm
6f304d5e29
provisioners/docker: Move DockerConfigureVagrantUser capability up to Linux guests [GH-2649]
2013-12-13 23:06:20 -02:00
Fabio Rehm
5a842fc609
provisioners/docker: Check if epel-release is installed on RedHat-ian guests before attempting installation [GH-2649]
2013-12-13 23:06:20 -02:00
Naoto TAKAHASHI
746d406558
add docker for redhat
2013-12-14 02:35:34 +09:00
Teemu Matilainen
d321b9199e
provisioners/chef: fix node/client deletion when node_name is not set [GH-2345]
...
V2 config uses `hostname` instead of `host_name`.
2013-12-13 00:51:22 -03:00
Arthur Neves
c57073da7b
Rename docker_client and docker_installer
...
We can rename those classes and remove the docker_ prefix as they
already have a module namespace.
2013-12-12 14:59:03 -05:00
Markus Kern
c8a09b344b
guests/redhat: Don't error if ifdown fails [GH-2614]
2013-12-10 20:04:36 +00:00
Mitchell Hashimoto
05b2e03586
guests/redhat: don't ifdown non-existent interfaces [GH-2614]
2013-12-10 09:04:20 -08:00
Mitchell Hashimoto
ed4cfa913c
Merge pull request #2620 from ShonM/master
...
guests/freebsd: Update FreeBSD configure_networks with less shell specifics
2013-12-10 08:53:34 -08:00
Paul Hinze
abe0731d2e
guests/{ubuntu,debian}: fix change_host_name for trailing dots [GH-2610]
...
When `/etc/hosts` contained a FQDN with a trailing dot, the `\b` in the
sed expression would not match, since dot is not considered to be a word
character.
Fix this by regexp-escaping the hostname search, and matching the end of
the line on optional space followed by additional characters.
Also add some tests that extract the regexp used by sed and verify that
it does what we want. These will hopefully serve us in the future if we
ever need to test additional edge cases.
2013-12-09 18:56:45 -06:00
Shon M
3e1471fb53
Update FreeBSD configure_networks with less shell specifics
2013-12-09 17:27:54 -07:00
Jacques Fuentes
579cc8e558
Remove defunct @build_options reference
2013-12-09 18:36:57 -05:00
Jacques Fuentes
1738f9dccf
Add option to Docker provisioner to build local images
2013-12-09 17:54:32 -05:00
Mark Aaron Shirley
906579d25a
Add ability to use Ansible groups in generated inventory. Fixes #2551 .
2013-12-08 23:08:03 -08:00
Matt Alexander
edeb5f0e9f
Add the symlink back that disabled renaming of network interface names
2013-12-07 14:59:40 -06:00
Matt Alexander
df67d2b44f
Run "ip link set [eth1] down" before running "netctl start [eth1]" in Arch guest network configuration
2013-12-07 14:22:19 -06:00
Mitchell Hashimoto
d80f32c20f
synced_folders/nfs: allow plugins to provide valid NFS ids
2013-12-06 16:42:34 -08:00
Mitchell Hashimoto
2c65d247da
core: Allow options to be passed down into SF cleanup
2013-12-06 16:40:24 -08:00
Mitchell Hashimoto
76df3ced03
synced_folders/nfs: style
2013-12-06 15:07:55 -08:00
Mitchell Hashimoto
55931d507e
Merge branch 'nfs-sync-folder-cleanup' of https://github.com/emyl/vagrant into emyl-nfs-sync-folder-cleanup
...
Conflicts:
plugins/providers/virtualbox/action.rb
2013-12-06 15:06:34 -08:00
Mitchell Hashimoto
f3d71de022
Merge pull request #2591 from instilled/arch-netctl-fix
...
guests/arch: netctl fix
2013-12-06 15:02:41 -08:00
Mitchell Hashimoto
89f4e14ab3
Merge pull request #2585 from mitchellh/2585-fix-docker-image-assignment
...
provisioner/docker: unable to run multiple docker containers based off the same image
2013-12-06 14:56:15 -08:00
Teemu Matilainen
b0919b916b
Remove extraneous character
...
Going down? ;)
2013-12-06 18:57:27 -03:00
Mitchell Hashimoto
5b7a4d7f6e
Merge pull request #2596 from tmatilai/fix-initctl-test
...
guests/linux: fix testing if initctl exists
2013-12-06 13:22:03 -08:00
Mitchell Hashimoto
b65462faf1
providers/virtualbox: resume should wait for boot
2013-12-06 13:21:07 -08:00
Teemu Matilainen
c566465bdc
Fix testing if initctl exists
...
If /sbin/initctl was not found, the command (`false && ...`) returned
non-zero exit code leading to Vagrant throwing an exception.
2013-12-06 18:17:41 -03:00
Mitchell Hashimoto
17b68f7d50
provisioners/puppet: use unique directory for each definition
2013-12-06 12:39:50 -08:00
Mitchell Hashimoto
f8223d4704
provisioners/chef: support proper counter for multiple chefs
2013-12-06 12:26:48 -08:00
Mitchell Hashimoto
38f931ba93
provisioners/shell: array args properly work
2013-12-06 11:28:32 -08:00
Fabio Rehm
8688c6b8b2
provisioners/docker: Only assign the `image` config in case it was not specified
2013-12-05 22:12:44 -02:00
Mitchell Hashimoto
0d02ada43b
providers/virtualbox: only clear shared folders if we have a VM
2013-12-05 13:39:23 -08:00
John Bellone
bebaa63063
[provisioner/chef]: Update base to fix typo.
...
It seems this was introduced by accident with #2281 .
2013-12-05 15:24:53 -05:00
me
2a75c34d62
systemctl wasn't a good idea
2013-12-05 16:01:44 +01:00
me
158d82ea39
Avoid udev rule masking and configure ifaces with sed instead.
2013-12-05 15:16:59 +01:00
Teemu Matilainen
897fde3274
Add missing argument to ProviderVirtualBox::SyncedFolder#driver call
...
GH-2577 missed passing the `machine` to the `driver` method.
2013-12-05 00:21:16 -03:00
Fabio Rehm
7e0b0a5a3c
provisioners/docker: Extract container lookup method
2013-12-04 22:13:17 -02:00
Fabio Rehm
c7a5592b96
provisioners/docker: Ensure checks for whether the container exists / is running works accross multiple Docker versions [GH-2579]
2013-12-04 22:10:39 -02:00
Teemu Matilainen
294f4def91
Fix `vagrant plugin` commands
...
`StateFile#installed_plugins` returns now a Hash instead of Array.
Fixes regression from 39b2539
.
2013-12-04 18:25:33 -03:00
Mitchell Hashimoto
3df245f1fd
provisioners/chef: create/chown backup folders [GH-2281]
2013-12-04 11:51:05 -08:00
Mitchell Hashimoto
d354cdda4a
core: request users upgrade plugins if they're old
2013-12-04 11:43:39 -08:00
Mitchell Hashimoto
236141ba90
commands/plugin: old state files default to 0 for vagrant version
2013-12-04 11:29:17 -08:00
Mitchell Hashimoto
39b2539ec7
commands/plugin: state file keeps track of the Vagrant version
2013-12-04 11:17:48 -08:00