Paul Hinze
0fef7cc416
Port push plugins
...
This uses the new Push plugin support added to the plugin SDK in https://github.com/hashicorp/vagrant-plugin-sdk/pull/106 to make the following changes:
* The plugin manager on the Go side now registers push plugins
* The the _remote_ plugin manager on the Ruby side now calls over to
the go side to get push plugins
* All the wiring is hooked up such that when a push plugin is replaced
with its remote GRPC-client-wielding equivalent, the messages are
ferried around.
2022-04-25 12:26:21 -05:00
Chris Roberts
d8e959c89f
Connect synced folder to client in _initialize method
2022-04-25 12:26:16 -05:00
Chris Roberts
031890fcc7
Allow plugin manager to be swapped out for remote manager
2022-04-25 12:26:15 -05:00
Chris Roberts
23d0d9debb
Provide client using keyword argument for synced folder
2022-04-25 12:26:14 -05:00
Chris Roberts
fb2319f1e2
Implement remote plugin manager backed by vagrant go
2022-04-25 12:26:14 -05:00
sophia
1db38e65f8
Setup remote plugin manager when in server mode
2022-04-25 12:26:14 -05:00
sophia
94a203efc9
Inject dummy client into remote synced folders
2022-04-25 12:26:14 -05:00
sophia
05bbd9ec50
Use v2 manager to seed ruby plugins for remote manager
2022-04-25 12:26:13 -05:00
sophia
78fbd12da9
Use remote plugin manager when in server mode
2022-04-25 12:26:13 -05:00
sophia
d5007d4d85
Use remote plugin module when in server mode
2022-04-25 12:26:13 -05:00
sophia
e951c4d971
Add remote plugin manager
2022-04-25 12:26:13 -05:00
sophia
7a75ed6cbb
Get stdout and stderr from privledged execute
2022-04-25 12:26:13 -05:00
sophia
8e85561f61
Get stdout and stderr from command
2022-04-25 12:26:12 -05:00
sophia
ab395ad730
Move remote communicator to remote plugin module
2022-04-25 12:26:09 -05:00
sophia
10b4015455
Setup remote communincator
2022-04-25 12:26:07 -05:00
sophia
dc9fe12644
Disable checking for synced folder client
2022-04-25 12:26:07 -05:00
sophia
e71e887331
Move remote synced folder module into remote plugin module
2022-04-25 12:26:06 -05:00
sophia
847d87a017
Get synced folder from machine
2022-04-25 12:26:04 -05:00
sophia
b58b77ef0b
Add capability methods for remote server
2022-04-25 12:26:03 -05:00
sophia
8bce3e6bd7
Enable remote mode for synced folders
2022-04-25 12:26:03 -05:00
sophia
4251b2ff7c
Get first level parent from ruby plugins
2022-04-25 12:24:48 -05:00
sophia
09a836745a
Don't search for parent plugins that don't exist in the Ruby run time
2022-04-25 12:24:48 -05:00
sophia
7477455380
Get parents from guest plugin
2022-04-25 12:24:39 -05:00
Chris Roberts
df53588de5
Store machine client within index entry for use in generating environment
2022-04-25 12:24:34 -05:00
Chris Roberts
99aef42342
Check for server mode before setting constant
2022-04-25 12:24:34 -05:00
Chris Roberts
927fd5e52f
Remove proto requires
...
They will only be needed when running in server mode, and when
in server mode, they will be loaded at startup
2022-04-25 12:24:34 -05:00
sophia
f722b15661
Remove references to SDK from remote machine index
2022-04-25 12:24:28 -05:00
sophia
8808ef353e
Clean up logging
2022-04-25 12:24:27 -05:00
sophia
90968ea430
pPss environment client to machine index eentry environment
2022-04-25 12:24:27 -05:00
sophia
3bda8b24ef
Save point: Get a target successfully from target index
2022-04-25 12:24:26 -05:00
sophia
a128d98dea
Move to_proto to config classes
2022-04-25 12:24:21 -05:00
sophia
0e40c2eb97
to_proto save point
2022-04-25 12:24:20 -05:00
Chris Roberts
8771e6078f
Add parents method to host plugin
2022-04-25 12:24:12 -05:00
Chris Roberts
c09fc7be1e
Whitespace cleanup
2022-04-25 12:23:55 -05:00
Chris Roberts
3d0d0148e9
Update tests to use real UI instance
...
Replaces use of UI doubles within tests to use actual UI instance
to ensure calls are passing parameters correctly.
2021-06-23 14:04:48 -07:00
Chris Roberts
e7a6f397da
Updates for Ruby 3.0
2021-06-21 15:57:46 -07:00
Chris Roberts
2d019cb608
Provide specialized messages on plugin install failure if possible
...
Inspect the error message received when failing to install a
plugin. If it's something we can determine the cause, send
back a cleaner error message to the user on how to resolve.
2021-03-08 15:57:13 -08:00
sophia
5607428a66
Don't try to recover machine without a uuid
2020-09-15 11:16:13 -05:00
sophia
943047d003
Add tests for synced folder collections
2020-08-19 17:57:57 -05:00
Chris Roberts
cd2d84fda7
Adjust synced folder collection class
2020-08-19 15:00:40 -05:00
sophia
faad9f2717
Add tests
2020-08-19 15:00:40 -05:00
sophia
afd2a28f60
Add synced_folder_capability
2020-08-19 15:00:40 -05:00
sophia
1661d1f1cf
Print help message if user provides and ambiguous option
2020-07-06 10:52:05 -05:00
Sophia Castellarin
955f1f1b25
Merge pull request #11656 from soapy1/recover-from-missing-global-data
...
Add local machine to global index of machines if it does not exist
2020-06-17 15:18:48 -05:00
Chris Roberts
f26440ee38
Only allow the all special value to be matched when requested
...
This prevents the all special value from being matched on the
non-defined raw action names when the typed triggers support
is enabled.
2020-06-12 17:09:31 -07:00
Chris Roberts
916655dbd3
Fix trigger matching on :all special value
...
Updates the type to do a proper comparison when checking for
the `:all` special value as well as applied ignores.
Fixes #11599
2020-06-09 16:12:48 -07:00
sophia
132720e3b4
Add local machine to global index of machines if it does not exist
2020-06-09 17:22:55 -05:00
Chris Roberts
5195bee9ea
Check if plugin install provides specification
...
During a plugin install, if the plugin is already installed and
activated, no specification will be returned as there was nothing
new installed. In this situation, look for the requested plugin
within the activated specifications. If it is found, then proceed
since the plugin is installed. If it is not found, return an error.
2020-05-06 15:51:37 -07:00
Chris Roberts
c5e2f36ddc
Merge pull request #11455 from chrisroberts/enhancement/triggers-insertions
...
Adjust how trigger actions are inserted into the stack
2020-04-08 16:53:17 -07:00
Chris Roberts
b8702ac889
Include default options in option parser
...
Adds method to shared helpers for adding procs to be evaluated
which can add default modifications to the option parser used
by commands. Customized option parser class within Vagrant
handles processing defined procs to set options.
2020-03-27 16:57:59 -07:00