Commit Graph

729 Commits

Author SHA1 Message Date
Gilles Cornu c6ef73a6fa Merge 'gildegoma/2103-ansible-local-v2'
Resolve conflict in CHANGELOG.md
2015-11-10 23:05:29 +01:00
Seth Vargo a115928d98 Update output message to include --all 2015-11-09 09:36:27 +00:00
Gilles Cornu 9bfdaf7e75 provisioners/ansible: introduce ansible_local
With this change, the existing host-based Ansible provisioner is
refactored to share a maximum of code with this new guest-based Ansible
provisioner.

At this stage of development, the existing unit tests are intentionally
modified as little as possible, to keep safe the existing funtionalities.

Other issues resolved by this changeset:
 - Display a warning when running from a Windows host [GH-5292]
 - Do not run `ansible-playbook` in verbose mode when the `verbose` option
   is set to an empty string.
2015-11-08 10:42:48 +01:00
Mitchell Hashimoto baea923e9c commands/up: automatically install providers 2015-11-05 13:58:15 -08:00
Mitchell Hashimoto abb1030f10 hosts/windows: install VirtualBox 2015-11-04 19:37:55 -08:00
Mitchell Hashimoto dad5962ebb hosts/darwin: support virtualbox install 2015-11-04 15:47:56 -08:00
Mitchell Hashimoto d4ddb3c2f3 commands/provider 2015-11-04 14:20:48 -08:00
Eric Winkelmann e687f81fce Re-word Linux RDP error to include `xfreerdp`.
Changed the name of the error LinuxRDesktopNotFound to
LinuxRDPClientNotFound and re-worded error text in
templates/locales/en.yml to include `xfreerdp` when listing supported
RDP clients.
2015-11-02 23:42:01 -08:00
Marc Siegfriedt 8e87990599 add the option to make elevated interactive scripts 2015-10-15 12:25:50 -07:00
Mikhail Zholobov f930fa94af Move "cant_read_mac_addresses" error to the global space
Now it is used not only by Windows, but by Darwin guests as well.
2015-10-09 14:57:41 +03:00
Mitchell Hashimoto f0ddac8c9a providers/virtualbox: clone 2015-10-08 12:33:55 -04:00
Mitchell Hashimoto 9f05d22eb0 providers/virtualbox: cloning can do a non-linked clone 2015-10-08 12:03:58 -04:00
Mitchell Hashimoto 06f8595bc0 kernel/v2: clone option 2015-10-08 11:59:09 -04:00
Mitchell Hashimoto 0abc17eaed commands/snapshot: push now uses caps to be more resilient 2015-10-08 08:55:13 -04:00
Mitchell Hashimoto 7480b65e9d providers/virtualbox: use caps for snapshot list 2015-10-08 08:46:36 -04:00
Mitchell Hashimoto c36b682e40 providers/virtualbox: fix error if no snapshots 2015-10-07 22:22:55 -04:00
Mitchell Hashimoto 8c0e38b397 providers/virtualbox: snapshot restore 2015-10-07 16:48:29 -04:00
Mitchell Hashimoto d0e8ecfc73 providers/virtualbox: snapshot save/delete 2015-10-07 16:16:53 -04:00
Mitchell Hashimoto 2c936b2e37 providers/virtualbox: tidying up the linked clone feature 2015-10-06 14:11:41 -04:00
Mitchell Hashimoto d519d927fa Merge branch 'VB-linked-clone-support' of https://github.com/mpoeter/vagrant into mpoeter-VB-linked-clone-support 2015-10-06 13:50:34 -04:00
issyl0 d7220ac0c4 Fix typo
- This was referring to the current project's Vagrantfile, so "projects"
  needed a possessive apostrophe.
2015-08-16 16:43:10 +00:00
Manuel Pöter f4d1d068f9 Merge branch 'master' into VB-linked-clone-support 2015-07-13 10:56:17 +02:00
Seth Vargo 516d475f16 Checksum args to each docker container in local data
This allows Vagrant to calculate if a container's arguments (such as the run
arguments) have changed in the Vagrantfile since the original run.

Fixes GH-3055
2015-07-10 11:32:02 -06:00
Seth Vargo 4b1847acf3 Use Chef Client for Chef Zero
Fixes GH-5619
2015-07-09 21:23:42 -06:00
Mitchell Hashimoto 9596b7a46c synced_folders/rsync-auto: don't crash if rsync command fails [GH-4991] 2015-07-09 11:11:58 -06:00
Mitchell Hashimoto 9516427136 update messaging for installing docker 2015-07-07 12:04:21 -06:00
Mitchell Hashimoto cd18eddb1c providers/virtualbox: fix bug, make message clearer 2015-07-06 18:18:13 -06:00
Mitchell Hashimoto 71940c60ba providers/virtualbox: error if uid mismatch 2015-07-06 18:13:59 -06:00
Mitchell Hashimoto ab27413954 core: make note that the box is being added directly [GH-5311] 2015-07-06 12:17:49 -06:00
Mitchell Hashimoto d051d69591 Update error message for no chmod [GH-5440] 2015-07-06 11:25:39 -06:00
Mitchell Hashimoto b5e57a6e83 core: update error message for GH-5526 2015-07-06 10:49:39 -06:00
Mitchell Hashimoto 36fa04fd1e providers/virtualbox: catch subprocess launch error [GH-1483] 2015-07-05 17:01:06 -07:00
Seth Vargo a642663a73 Merge pull request #5584 from stoned/fix-locale-en
Fix message provision / disabled_by_config
2015-05-31 20:46:44 -07:00
Adam Spiers ce13051d61 eliminate guesswork with Vagrantfile errors
If the Vagrantfile has some kind of error, display not only
its path and the exception message, but also the originating
line number and exception class.

Also log the full backtrace when the error is in a provider
block, just as it is done when it's outside a provider block.
2015-05-31 18:25:51 -07:00
Seth Vargo f9816d89d9 Merge pull request #4867 from malonecm/GH4201-ShowRSyncOutput
GH-4201: Added rsync__showoutput to display rsync output to console
2015-05-30 21:21:26 -07:00
Seth Vargo 042928db9f Merge pull request #5601 from benh57/environments_wip
Puppet 4 and Puppet environments support
2015-05-30 21:04:48 -07:00
Seth Vargo cecd15edac Merge pull request #5395 from delftswa2014/fix-local-download
Fixed inaccurate downloading status message
2015-05-30 12:33:28 -07:00
Seth Vargo 03b945d4d0 Merge pull request #5399 from delftswa2014/improve-package-error-message
Improved the package error message
2015-05-30 12:32:19 -07:00
Seth Vargo dadee77730 Merge pull request #5637 from paul-krohn/config-not-found-error
Provide path to missing file.
2015-05-30 11:55:25 -07:00
Leo Cassarani 217a00c36c Add missing word to output of "vagrant up"
Add the word "flag" to the phrase "or use the `--provision` flag", which
is displayed when "vagrant up" is run for a VM that's already been
provisioned.
2015-05-11 16:01:53 +01:00
Paul Krohn c7f32e6159 When you can't find the salt minion or master config, say what you were looking for. 2015-04-26 11:34:34 -07:00
Ben Hines ffcb58bcd9 When using environments, allow specifying the 'main manifest' using manifest_path and manifest_file. 2015-04-12 12:31:31 -07:00
Ben Hines cff7c52716 Use localized error message. Update strings for puppet provisioner errors. 2015-04-12 01:25:40 -07:00
Ben Hines cf847e0410 Merge branch 'master' into environments_wip
Conflicts:
	Vagrantfile
	vagrant.gemspec
2015-04-11 13:33:32 -07:00
Stoned Elipot 27f323ed5a Fix message provision / disabled_by_config 2015-04-11 14:32:05 +02:00
Tim Rensen 1a2f403d0c Fixed VirtualBox's error message on 'private_network' 2015-03-30 12:41:19 +02:00
edward010 51842623db Improved the package error message
The package error message will now show the actual package name if the
package already existed.
2015-02-27 10:41:04 +01:00
Tim Rensen 6c2cc31926 Fixed inaccurate downloading status message
Importing a base box from the local file system currently outputs 'Downloading: file://...' which is more accurate now by presenting it as: 'Unpacking necessary files from: file://...'.
Fixes #5386.
2015-02-25 20:37:54 +01:00
Peter Rood 8b2deb6e7e fix typo 2015-01-09 04:29:33 -05:00
Chad Maloney dd62d3c5f1 Merge branch 'master' into GH4201-ShowRSyncOutput 2015-01-05 14:42:08 -06:00
Seth Vargo 97d5a6ebfc Log chef-zero instead of chef-solo 2014-12-28 12:52:54 -05:00
Seth Vargo 2b450a147f Merge pull request #4840 from MiLk/fixes/upgrading_home_path_v1_5
You need to press enter to migrate from 1.1 to 1.5
2014-12-15 00:06:41 -05:00
Seth Vargo 8c8a92c4be Merge pull request #4896 from analyzere/salt-grains-config
Issue #4895: Support grains config for salt
2014-12-14 23:48:02 -05:00
Seth Vargo 2e4f854725 Vagrant Cloud -> Atlas 2014-12-08 17:42:29 -08:00
Seth Vargo 8d090f2faa Fix bad error message 2014-12-08 11:35:13 -08:00
Seth Vargo 88aa106327 Fix up i18n missing translation 2014-12-08 11:35:11 -08:00
Seth Vargo 03b8105571 Super primitive implementation of Environment#push 2014-12-08 11:35:10 -08:00
Seth Vargo b6c5ca6b7a Add Push command and tests 2014-12-08 11:35:10 -08:00
Seth Vargo 8a7e546972 Add preliminary File pusher (incomplete) 2014-12-08 11:35:09 -08:00
Chad Maloney a2778c0a6b Merge branch 'master' into GH4201-ShowRSyncOutput 2014-12-03 13:11:56 -06:00
Ken Crowell 72afdce630 Issue #4895: Support grains config for salt 2014-12-02 18:01:09 -04:00
Paul Hinze 25ff636ee2 providers/virtualbox: cleanup default vbox dhcp server
fixes #3083

Detect the presence of the default DHCP server that comes in a fresh
VirtualBox install and clean it up to prevent it from colliding with
Vagrant-managed network config.

In order to accomplish this, we:

 - add a `remove_dhcp_server` call to the virtualbox driver
 - fix dhcp options parsing to allow `:dhcp_{ip,lower,upper}`
   configuration options to make it through (so a user can override the
   removal behavior with some explicit configuration)
 - add the full `:network_name` to the details returned from
   `:read_dhcp_servers`, so we can have a durable value to pass to
   `:remove_dhcp_server`

Note that we do have to eat one more `VBoxManage list dhcpservers` for
each network interface to support this, but this seemed like a nominal
cost
2014-11-30 22:03:52 -06:00
Chad Maloney 5de3f30bb0 GH-4201: Added rsync__showoutput to display rsync output to console 2014-11-25 12:38:41 -06:00
Emilien Kenler 17673fafcd You need to press enter to migrate from 1.1 to 1.5 2014-11-18 11:05:59 +09:00
Seth Vargo f232dc38c9 Automatically install Chef when provisioning with Chef 2014-11-07 15:56:22 -05:00
Seth Vargo 59eb0ad2e8 Add Chef Apply provisioner 2014-10-30 15:32:15 -04:00
Seth Vargo 6814f9c97d Capitalize Chef Server in errors 2014-10-30 13:43:25 -04:00
Mitchell Hashimoto 94b2a8a56b communicators/ssh: insert random key, remove insecure key 2014-10-24 09:58:18 -07:00
Mitchell Hashimoto 37a4000722 providers/virtualbox: more descriptive error if empty version [GH-4657] 2014-10-24 09:20:08 -07:00
Mitchell Hashimoto cba76c3b68 core: VirtualBox is no longer the fallback, not hardcoded anywhere
This commit finally removes all traces of VirtualBox defaults from
Vagrant core. Vagrant now completely relies on its automated provider
detection to pick the best and most relevant provider that is available
on the system and for a specific development environment.

A "vagrant up" on one development environment might prefer VirtualBox,
another might prefer Docker. As a result of this commit (plus the few
prior), the developer doesn't need to know anymore and doesn't need to
specify a `--provider` flag. Vagrant just figures out the correct
provider.

Yay. :)
2014-10-23 16:32:36 -07:00
Mitchell Hashimoto 06defb37c7 commands/up: if all machines autostart:false, start none [GH-4552] 2014-10-23 11:46:22 -07:00
Mitchell Hashimoto 4ffaaf119e providers/virtualbox: more hints when choosing interface [GH-4463] 2014-10-23 10:24:07 -07:00
Mitchell Hashimoto f0a4e26d27 Merge pull request #4548 from ebelew/shellargs
Update powershell provisioning to fix #4547
2014-10-23 09:50:50 -07:00
Mitchell Hashimoto 0e29dd5668 commands/rsync: handle proxy machines [GH-4066] 2014-10-22 16:17:39 -07:00
Mitchell Hashimoto 58f7310444 providers/virtualbox: detect conflict in name [GH-4681] 2014-10-21 15:56:32 -07:00
Ben Hines 16870d72d1 Some work in progress environment support 2014-10-19 21:28:38 -07:00
Mitchell Hashimoto 6986a8eeb2 Update wording for unreleased boxes 2014-10-18 16:28:05 -07:00
Eris Belew 7a73f5bd7c Update shell provisioner for powershell to add "shell_args", saner defaults and more useful detail in logging output; Add Eclipse .project file to .gitignore IDE section 2014-09-23 12:46:25 -07:00
mpoeter c20624bfdc Add support for linked clones for VirtualBox. 2014-09-09 19:17:04 +02:00
Mitchell Hashimoto 140a1b8d4b commands/version: use checkpoint data 2014-09-01 15:23:46 -07:00
Mitchell Hashimoto 8cd2e58194 core: better messaging around box add not existing [GH-4414] 2014-08-29 13:17:40 -07:00
Mitchell Hashimoto 4138179207 commands/plugin: error if windows with space in dir [GH-4351] 2014-08-29 12:16:40 -07:00
Mitchell Hashimoto be6665864d communicators/ssh: nicer errors for SSH exceptions [GH-4367] 2014-08-29 11:40:50 -07:00
Mitchell Hashimoto 059243670f commands/box: update gives nice message if no box 2014-08-29 11:19:54 -07:00
Mitchell Hashimoto b42e9aef23 guests/linux: more verbose output when shared folder mount fails
[GH-4403]
2014-08-29 08:27:48 -07:00
Mitchell Hashimoto b675be383b core: disallow brackets in VM names [GH-4319] 2014-08-10 21:05:29 -07:00
Mitchell Hashimoto ae1a03903e providers/virtualbox: error if can't read VM name [GH-4047] 2014-08-08 10:49:07 -07:00
Mitchell Hashimoto 0da5d7b650 communicators/ssh: clean error on max session [GH-4044] 2014-08-08 09:11:25 -07:00
Mitchell Hashimoto b516881d47 provisioners/puppet: don't repeat output when prov fails [GH-4303] 2014-08-06 11:11:12 -07:00
Matthijs van der Vleuten 1091b4cb54 Don't output stdout and stderr twice when shell provisioner fails
[GH-4086]
2014-06-23 11:35:40 +02:00
Mitchell Hashimoto d30efdcda9 Merge pull request #3926 from rockymadden/master
Fixed minor typo.
2014-05-29 07:43:15 -07:00
Rocky Madden 32029b91a0 Fixed minor typos. 2014-05-29 03:09:24 -06:00
Rocky Madden 3b4d575a02 Fixed minor typo. 2014-05-29 01:20:13 -06:00
cielavenir bcb3ced952 favorite SSH client is not limited to PuTTY 2014-05-22 17:15:12 +09:00
Mitchell Hashimoto 07dbe40e98 Merge pull request #3848 from shtouff/feat-capath
added capath option to curl Downloader
2014-05-20 20:50:26 -07:00
Mitchell Hashimoto f369c13e25 hosts/linux: niceer error if rdesktop not found 2014-05-20 19:58:12 -07:00
Rémi Paulmier 00a2670406 added capath option to curl Downloader 2014-05-19 18:08:23 +02:00
Felix Rabe 7ff3a4b428 Fix typo 2014-05-06 14:57:23 +02:00
Brian Pitts 9f62216f87 Remove check for nfs in config 2014-05-03 16:10:01 -05:00
Brian Pitts 4d90fdfec5 Check usability of nfs on host 2014-05-03 16:09:08 -05:00
Mitchell Hashimoto 604ae6caa3 communicators/ssh: detect if config.ssh.shell is non-functional [GH-3040] 2014-05-01 21:35:02 -07:00
Adam Spiers b0cfed5ec6 fix "maintiner" typo 2014-05-02 01:42:14 +01:00
Mitchell Hashimoto f2a2d93042 Revert "core: can't add boxes from network shares [GH-3279]"
This reverts commit 41636a8a9c.

Conflicts:
	CHANGELOG.md
2014-04-24 22:50:27 -07:00
Mitchell Hashimoto 63dffe3f92 commands/version: check latest version 2014-04-24 19:54:26 -07:00
Mitchell Hashimoto 85f4a4d5ee commands/box/remove: if box is in use, warn user, ask for confirmation 2014-04-23 06:13:16 -07:00
Mitchell Hashimoto 4ced49bf0d core: Batch action says immediately when error occurred 2014-04-21 13:56:35 -07:00
Emilien Kenler b77bd3e6bb Unit test + vault password file existence check 2014-04-21 13:56:16 -07:00
Mitchell Hashimoto 862414af12 core: lock around machine actions 2014-04-21 13:56:09 -07:00
Mitchell Hashimoto 53017bccc8 command/rsync-auto: work with provisioner synced folders 2014-04-21 13:55:57 -07:00
Mitchell Hashimoto dc2f729fd3 core: Environment#lock is more useful now 2014-04-21 13:54:39 -07:00
Mitchell Hashimoto 0fa07637f9 commands/rdp: execute propre capabilities 2014-04-21 13:54:11 -07:00
Mitchell Hashimoto 72030d2180 Note provisioners that don't work on Windows guests 2014-04-21 13:54:02 -07:00
Mitchell Hashimoto 9dd9fff637 core: check if provider is usable when requesting a machine 2014-04-21 13:53:10 -07:00
Mitchell Hashimoto aad8e7f80d core: provision "once" or "always" [GH-2421] 2014-04-21 13:52:30 -07:00
Mitchell Hashimoto f6fb9016a1 core: can specify a "post_up_message" [GH-1968] 2014-04-21 13:52:28 -07:00
Mitchell Hashimoto a0e9f46251 core: commands can use the IDs from anywhere to control 2014-04-21 13:51:24 -07:00
Mitchell Hashimoto e14216da4e commands/global-status: initial go at it 2014-04-21 13:51:22 -07:00
Mitchell Hashimoto ac032db6a6 core: MachineIndex has precision locking for entries 2014-04-21 13:51:14 -07:00
Mitchell Hashimoto 016afc7922 core: Basic MachineIndex class, starting point 2014-04-21 13:51:13 -07:00
Mitchell Hashimoto f07ee5754a core: Configurable communicator 2014-04-21 13:51:02 -07:00
Kenny Rasschaert fc95e77237 provisioners/salt: error if minion_config missing 2014-04-19 23:24:30 +02:00
Christian Berendt 8f96205d95 added missing newline in `box remove version listing`
The output of Errors::BoxRemoveMultiVersion is now like
the output of Errors::BoxRemoveVersionNotFound. I think
that's expected.

example output without this patch:

```
$ vagrant box remove berendt/ubuntu-14.04-amd64
You requested to remove the box 'berendt/ubuntu-14.04-amd64' with provider
'virtualbox'. This box has multiple versions. You must
explicitly specify which version you want to remove with
the `--box-version` flag.

Versions:  * 0.2.11
 * 0.2.12
 * 0.2.14
```

example output with this patch:

```
$ vagrant box remove berendt/ubuntu-14.04-amd64
You requested to remove the box 'berendt/ubuntu-14.04-amd64' with provider
'virtualbox'. This box has multiple versions. You must
explicitly specify which version you want to remove with
the `--box-version` flag. The available versions for this
box are:

 * 0.2.11
 * 0.2.12
 * 0.2.14
```
2014-04-14 20:49:17 +02:00
Mitchell Hashimoto 00962c7c2a commands/box/repackage: better error if box not found 2014-04-12 18:00:33 -07:00
Mitchell Hashimoto e972bbf32a synced_folders/rsync: change wording on no paths watching 2014-04-11 14:56:35 -07:00
Mitchell Hashimoto 75bc1c74b6 Merge pull request #3446 from brenttheisen/rsync_auto_nothing_to_watch_pr
command/rsync-auto: message and exit rsync-auto immediately if there is nothing to watch.
2014-04-11 14:53:42 -07:00
Brent Theisen 7b27fa31ce Print message and exit rsync-auto immediately if there is nothing to watch. 2014-04-11 16:49:58 -05:00
Abed Halawi 9ec7988f0d add translation message for docker building images 2014-04-11 19:43:51 +03:00
Mitchell Hashimoto dbbde8d63d Nitpick on messaging 2014-04-11 09:31:18 -07:00
Mitchell Hashimoto f8f38460c6 Merge pull request #3438 from berendt/show_version_when_removing_a_specific_box
print version when removing a specific box
2014-04-11 09:30:38 -07:00
Christian Berendt 6406b1e0c8 fixed spelling 2014-04-11 11:14:12 +02:00
Christian Berendt c43bd27ffe print version when removing a specific box
Example:

$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
Removing box 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' in version '0.2.9'...
2014-04-11 10:05:03 +02:00
Mitchell Hashimoto 41636a8a9c core: can't add boxes from network shares [GH-3279] 2014-04-09 14:15:26 -07:00
Mitchell Hashimoto d8ec7b02c4 commands/package: Nicer error if includes has symlinks [GH-3200] 2014-04-09 10:52:33 -07:00
Mitchell Hashimoto e748aadf4f core: give users chance to quit for upgrade [GH-3212] 2014-04-09 09:58:30 -07:00
Mitchell Hashimoto 09a3409746 commands/rsync-auto: do an initial sync [GH-3327] 2014-04-09 09:09:42 -07:00
Mitchell Hashimoto 800cf7539b synced_folders/rsync: don't crash if comm error during rsync-auto [GH-3419] 2014-04-09 08:58:56 -07:00
Mitchell Hashimoto 5f12126d32 core: network issues don't halt Vagrant during box update check [GH-3391] 2014-04-05 09:25:03 -07:00
Mitchell Hashimoto 0e46c5d9de core: Raise predictable error if box metadata downlaod fails 2014-04-05 09:20:03 -07:00
Mitchell Hashimoto 32d86ca42b core: don't allow version for old-style box [GH-3260] 2014-04-02 09:32:34 -07:00
Mitchell Hashimoto 36ad327ec1 core: ignore if box doesn't exist on update check [GH-3326] 2014-04-02 08:24:38 -07:00
Mitchell Hashimoto 097dd2917c core: better error when adding box with malformed version [GH-3332] 2014-04-01 22:48:52 -07:00
Mitchell Hashimoto 8195f7faab core: add test for removing box version [GH-3364]
/cc @berendt - Added a test
2014-04-01 21:47:51 -07:00
Mitchell Hashimoto 4c90a5d002 Merge pull request #3364 from berendt/fix_issue_3344
core: handle exception when removing a non existing box version
2014-04-01 21:42:43 -07:00
David Kuridža 15e3b7f068 add missing translation en.vagrant.commands.status.stopping 2014-04-01 14:44:38 +02:00
Christian Berendt 7d38d78fee handle exception when removing a non existinga box version
When trying to remove a not existing version of an existing box an
exception is thrown. The exception should be handled and some message
(box version 0.1.2 not available) should be printed.

With this patch the exception is handled correctly by using a newly
introduced exception BoxRemoveVersionNotFound.

Example output:

You requested to remove the box 'berendt/alpine-2.7.5-amd64' with provider
'virtualbox' in version '0.0.2'. The box 'berendt/alpine-2.7.5-amd64'
exists but not in the specified version '0.0.2'.
Please double-check and try again.

The available versions for this box are: 0.1.0

Fixes issue #3344
2014-03-31 20:32:34 +02:00
Mitchell Hashimoto 012c28606f kernel/v2: validate forwarded ports [GH-3187] 2014-03-13 08:32:05 -07:00
Mitchell Hashimoto 7d32aed01f Clarify error message on missing b ox 2014-03-12 09:38:52 -07:00
Mitchell Hashimoto 49471ffbf6 core: output when upgrading home path 2014-03-11 11:06:38 -07:00
Mitchell Hashimoto dabbb837fb Missing translation [GH-3130] 2014-03-11 11:01:07 -07:00
Mitchell Hashimoto eb9b85c388 core: UI#ask with no echo works even if noecho not supported [GH-3119] 2014-03-11 09:58:49 -07:00