Brian Cain
608863809a
Merge pull request #10405 from briancain/fixup-inline-windows-trigger-run
...
Fixes #10393 : Only use Shellwords on non-windows hosts
2018-11-13 14:25:27 -08:00
Brian Cain
69b3b44505
Fixes #10393 : Only use Shellwords on non-windows hosts
...
This commit updates how the trigger `run` inline option works by only
applying `Shellwords.split` to the inline command if it is going to be
run on non-Windows hosts. Otherwise pass the inline script directly to
be executed by Powershell.
2018-11-13 13:07:39 -08:00
Chris Roberts
c2aa1e207f
Add a Communicator#reset! method
2018-11-12 15:36:20 -08:00
Brian Cain
f4d618eb58
Fixes #9840 : Introduce ruby option for trigger
...
This commit introduces a new option to the core trigger feature: `ruby`.
It can be defined to run ruby code when the trigger is configured to
fire. If you give the ruby block an env and machine argument, the
defined ruby code can use those variables internally.
2018-10-05 12:53:41 -07:00
Brian Cain
58ebd52f99
Add abort option to core triggers
...
This commit adds a new option `abort`, which when configured, will exit
the Vagrant process completely. If set to `true`, it will exit cleanly
with exit code 0. Otherwise, the exit code can be configured.
2018-09-25 09:40:36 -07:00
Mikhail Emelchenkov
ed8ecd15e1
Fix: trigger embedded plugin fails to exec scripts at paths contains spaces
2018-08-17 15:14:54 -07:00
Brian Cain
29aba535ce
( #10104 ) Ensure trigger run args are an array prior to join
...
Prior to this commit, if the args key was a string rather than an array
of strings, the `join` command would fail when appending the arguments
to the run command for a given script. This commit updates that by
ensuring the `args` option is an array prior to joining the arguments.
2018-08-14 10:29:51 -07:00
Brian Cain
52c3dcc70e
( #9997 ) Catch and allow for non-standard exit codes
...
Prior to this commit, the run trigger option wouldn't catch for failures
outside of the #Subprocess.execute raising exceptions. This commit fixes
that by inspecting the exit code result of the subprocess and using the
new `exit_codes` option to determine how to move forward with the
trigger.
2018-07-09 15:56:26 -07:00
Brian Cain
a9be56b356
Code updates based on PR feedback
2018-04-24 10:04:40 -07:00
Brian Cain
daffd87200
Use match over match? for Ruby 2.3
2018-04-20 12:24:32 -07:00
Brian Cain
188fd5d6a6
Split out run methods with Powershell functions
2018-04-20 10:51:38 -07:00
Brian Cain
12b1a3dfe4
Update triggers based on code review
2018-04-20 10:51:38 -07:00
Brian Cain
4e5e4d0214
Use args setting for run option in trigger
2018-04-20 10:51:38 -07:00
Brian Cain
8451cbf854
Move up location of error message
2018-04-20 10:51:38 -07:00
Brian Cain
c35e0a4f9a
Update docs with some basic trigger examples
2018-04-20 10:51:38 -07:00
Brian Cain
e0806f623c
Remove TODO
2018-04-20 10:51:38 -07:00
Brian Cain
6bf01965de
Fix run command for windows hosts
2018-04-20 10:51:38 -07:00
Brian Cain
a5fe84d64f
Fix string translation
2018-04-20 10:51:38 -07:00
Brian Cain
7cdb32f642
Use inclunde? instead of any? for ruby 2.3
2018-04-20 10:51:38 -07:00
Brian Cain
767a315393
Trigger cleanup
2018-04-20 10:51:38 -07:00
Brian Cain
85dedf25d9
Ensure that :all triggers don't get filtered out
2018-04-20 10:51:38 -07:00
Brian Cain
600557ff24
Move strings to translation file
2018-04-20 10:51:38 -07:00
Brian Cain
a1e4fe4411
Align how local provisioner looks with shell provisioner
2018-04-20 10:51:38 -07:00
Brian Cain
a857056136
Update color for run_remote to match shell provisioner colors
2018-04-20 10:51:38 -07:00
Brian Cain
8b71c24f90
Match properly on guests with trigger filtering
2018-04-20 10:51:38 -07:00
Brian Cain
a4faaa1a4d
Provision run_remote using the shell provisioner
2018-04-20 10:51:38 -07:00
Brian Cain
fd2878309b
Move exception warnings in run function
2018-04-20 10:51:38 -07:00
Brian Cain
e078767b2b
run now supports script files as well as inline scripts
2018-04-20 10:51:38 -07:00
Brian Cain
8b70abd4d0
Send the correct config message to warn
2018-04-20 10:51:38 -07:00
Brian Cain
59965f4fd6
Properly filter triggers
2018-04-20 10:51:38 -07:00
Brian Cain
975b8e774c
Get basic run triggers executing inline scripts
2018-04-20 10:51:38 -07:00
Brian Cain
d750169f6e
Add some logging around run and run_remote
2018-04-20 10:51:38 -07:00
Brian Cain
48b7c682ad
Use active machine object
2018-04-20 10:51:38 -07:00
Brian Cain
93af398f9e
Update params for NoStageGiven error
2018-04-20 10:51:38 -07:00
Brian Cain
bbf4e3c521
Reduce fire trigger methods to a single method
2018-04-20 10:51:38 -07:00
Brian Cain
eac2fcf71e
Filter triggers based on only_on restraint
2018-04-20 10:51:38 -07:00
Brian Cain
6373441ab2
Ensure guest name is a string
2018-04-20 10:51:38 -07:00
Brian Cain
76418b9fcd
Simplify trigger selection
2018-04-20 10:51:38 -07:00
Brian Cain
0e5cd900f8
Add missing param
2018-04-20 10:51:38 -07:00
Brian Cain
1462b3f718
Simplify trigger command filtering
2018-04-20 10:51:38 -07:00
Brian Cain
372a6a7911
Initial trigger plugin scaffolding
2018-04-20 10:51:38 -07:00
Brian Cain
4ecf682265
Add basic trigger plugin scaffold
2018-04-20 10:51:38 -07:00
Josh Soref
1a5ddea9f4
Spelling fixes
...
* account
* addresses
* administrator
* afterwards
* because
* bridgeable
* capabilities
* capability
* checksum
* configuration
* configuration for
* configure
* criteria
* delimited
* delivered
* derivatives
* description
* detect
* directory
* display
* downloading
* during
* electric
* enabling
* encountered
* equivalent
* executable
* executed
* hashicorp
* hypervisor
* hyphens
* implementation
* incorporate
* inheritance
* initialize
* instance
* instead
* interactions
* invocable
* machine
* maximum
* message
* mounting
* overridden
* overwrite
* paramiko
* preparing
* provides
* provisioning
* recursively
* requested
* resetting
* retryable
* running
* satisfied
* searching
* sometimes
* specified
* successfully
* synced folders
* unauthorized
* underlying
* userprofile
* vagrant
* vagrantfile
* variable
* various
* version
* virtual
* windows
2018-03-14 14:41:04 +00:00
Vít Ondruch
7187e6f909
Use Integer instead of Fixnum for Ruby 2.4+ compatibility.
2017-10-23 10:57:36 -07:00
Brian J. Murrell
583fb3c787
Clear POSIXLY_CORRECT when using optparse
...
In case a user (perhaps inadvertently, or for particular reasons) has POSIXLY_CORRECT
set in their environment, make sure to clear it before calling optparse.optparse!() since
we don't really want POSIXLY_CORRECT argument parsing.
2017-06-14 12:57:10 -04:00
Mitchell Hashimoto
85f1e05e2a
core: prune machine if non-existent CWD from index [GH-4742]
2015-11-18 15:48:59 -08:00
Mitchell Hashimoto
69d9bc0fe8
Environment can_install_provider and install_provider
2015-11-05 11:50:10 -08:00
Mitchell Hashimoto
e759df11a0
core: fix crash for missing options [GH-5550]
2015-07-06 10:36:41 -06:00
Seth Vargo
d2874064f4
Use .key? instead of .has_key?
2015-01-05 18:29:01 -05:00
Seth Vargo
c8bdf53c7e
Rename push environment to env
2014-12-08 11:35:12 -08:00