5255 Commits

Author SHA1 Message Date
Chris Roberts
f457cbb72b
Use machine UI when processing actions 2022-04-25 12:26:43 -05:00
Chris Roberts
df0bbe343f
Support bold style and add #clear_line 2022-04-25 12:26:43 -05:00
Chris Roberts
71fb214d95
Add #input to terminal client and use event stream 2022-04-25 12:26:43 -05:00
Paul Hinze
06ad1b4565
Fixup tests for Ruby 3.0
This is a pass through test failures and deprecation warnings:

 * Make all ambiguous `.with(..., key: val)` use explicit hashes to
   prevent test failures for argument mismatch in Ruby 3.0
 * Scope down all unbounded `raise_error` to address warnings (remove
   one test that was revealed to be referencing a nonexistent variable
   once the raise_error was scoped.)
 * Update all `any_instance` usage to new syntax to address warnings
 * Allow the service cache to be cleared and do so between some tests
 * Fix a small bug in with_plugin's plugin not found code path (revealed
   by a scoped and_raise)
2022-04-25 12:26:40 -05:00
Chris Roberts
20d717a521
Update provisioner service plugin setup and caching 2022-04-25 12:26:39 -05:00
Chris Roberts
74ff5da434
Trace item registration in the cache 2022-04-25 12:26:39 -05:00
Chris Roberts
39a85d1cf3
Support caching plugins within services 2022-04-25 12:26:39 -05:00
Chris Roberts
2b5bd64ec8
Remove local provider injection to machine 2022-04-25 12:26:39 -05:00
Chris Roberts
ab8dee7a72
Add some missing mappers for converting to proto 2022-04-25 12:26:39 -05:00
Chris Roberts
6dd5a3ae9b
Load plugins within #with_plugin helper 2022-04-25 12:26:39 -05:00
Chris Roberts
d070b2cc6f
Initialize cache in the proper location within Service class 2022-04-25 12:26:38 -05:00
Chris Roberts
b0b5d1191e
Update and document cacher 2022-04-25 12:26:38 -05:00
Chris Roberts
f88254eb23
Let #with_plugin load plugins by type 2022-04-25 12:26:38 -05:00
sophia
b7d12a0907
Get provider from remote machine 2022-04-25 12:26:38 -05:00
Chris Roberts
f183a8a810
Update provisioner service implementation 2022-04-25 12:26:38 -05:00
Chris Roberts
2f4670e48a
Define cache for services and provide it 2022-04-25 12:26:38 -05:00
Chris Roberts
8542650e38
If destination is any, only allow proto destinations 2022-04-25 12:26:38 -05:00
Chris Roberts
3e7f72b9b0
Extract direct arguments to use for spec 2022-04-25 12:26:37 -05:00
Chris Roberts
987998aa41
Grab cacher from local instance 2022-04-25 12:26:37 -05:00
Chris Roberts
b976be72bd
Simplify cacher 2022-04-25 12:26:37 -05:00
Chris Roberts
d82702064f
Only deactivate remote plugin manager if activated 2022-04-25 12:26:37 -05:00
Chris Roberts
83ca40e239
Refactor Ruby service implementations
Update the Ruby service implementations to use the funcspec util
    module for generating spec content. A helper method is now used
    for generating a parent class for services to subclass which
    automatically includes all required modules for usage.
2022-04-25 12:26:37 -05:00
Paul Hinze
ff86d86ac8
Provisioner Plugins 2022-04-25 12:26:37 -05:00
Chris Roberts
2b38005dfb
Include namespace for wrapper type 2022-04-25 12:26:37 -05:00
Chris Roberts
4679d39039
Fix name and method call in folders mappers 2022-04-25 12:26:37 -05:00
sophia
94698704ab
Fix some small errors 2022-04-25 12:26:37 -05:00
Chris Roberts
c7fdd92eb5
Add folders type to mappers 2022-04-25 12:26:36 -05:00
Chris Roberts
14d2d66d29
Use folders and options types in client/services 2022-04-25 12:26:36 -05:00
Chris Roberts
c32ba38b70
Add mappers for Folders type 2022-04-25 12:26:36 -05:00
Chris Roberts
0cb053c20c
Add a Folders type 2022-04-25 12:26:36 -05:00
Chris Roberts
c00eb5a5a8
Store options value as hash 2022-04-25 12:26:36 -05:00
Chris Roberts
f507a3d7ff
Add todo note about deleted entries 2022-04-25 12:26:36 -05:00
Chris Roberts
b7f074e492
Remove debugging artifacts 2022-04-25 12:26:36 -05:00
Chris Roberts
ac8790b694
Remove deleteion of host and machine index entries 2022-04-25 12:26:36 -05:00
Chris Roberts
9a6f5fa316
Don't unany mapping if source value is proto 2022-04-25 12:26:35 -05:00
Chris Roberts
a5b3ca9f6d
Return remote plugin instances 2022-04-25 12:26:35 -05:00
Chris Roberts
095a0f8847
WIP checkpoint with callable remote provider action 2022-04-25 12:26:35 -05:00
Chris Roberts
d2f795e11b
Provide client to manager enable helper method 2022-04-25 12:26:35 -05:00
sophia
55fb52f174
Update the synced folder client to pass direct values 2022-04-25 12:26:34 -05:00
Paul Hinze
f314c090e2
Set local machine within provider service
See inline comment for more context
2022-04-25 12:26:34 -05:00
Paul Hinze
8730b9f100
Fix MachineState mapper so IsRunning actions work
The IsRunning action checks if `env[:machine].state.id == :running` but
this check was never passing as the protobuf-washed version of machine
state was yielding a machine state w/ a string value like `"running"`.

Easy fix in the mapper!
2022-04-25 12:26:34 -05:00
Paul Hinze
a5f0996f5f
Fix ssh_info protobuf empty value handling
In https://github.com/hashicorp/vagrant-plugin-sdk/pull/115 we make the
SSHInfo fields optional, which allows us to remove zero values and fix
default value population within Machine#ssh_info.
2022-04-25 12:26:34 -05:00
sophia
29eb55909c
Refactor guest detect client 2022-04-25 12:26:34 -05:00
sophia
b6de8c3a80
Add guest detect function to client 2022-04-25 12:26:34 -05:00
sophia
8911ebd2b7
Get hash of synced folders 2022-04-25 12:26:33 -05:00
sophia
87f8c9cc5e
Implement synced folder prepare endpoint 2022-04-25 12:26:33 -05:00
sophia
19f3d2f0b6
Refactor named plugin bits to apply to all components 2022-04-25 12:26:33 -05:00
sophia
6c28de9ea9
Refactor named plugin service/client endpoints 2022-04-25 12:26:33 -05:00
sophia
153d218d68
Set plugin name 2022-04-25 12:26:32 -05:00
sophia
e95d906f74
Get plugin name from client 2022-04-25 12:26:32 -05:00