283 Commits

Author SHA1 Message Date
Chris Roberts
8867dfc33c
Accept options hash for action methods 2022-04-25 12:26:31 -05:00
sophia
81a9d7b241
Pass machine to provider functions 2022-04-25 12:26:24 -05:00
sophia
fcf405bdf8
Run provider actions 2022-04-25 12:26:24 -05:00
sophia
8355209654
Accept machine for provider state endpoint 2022-04-25 12:26:24 -05:00
sophia
1e428a0812
Add mappers for provider 2022-04-25 12:26:24 -05:00
sophia
809e4044a0
Add provider remote plugin module 2022-04-25 12:26:23 -05:00
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