Paul Hinze
957d0d3779
Bring plugin options back to Ruby for providers and synced folders
...
This removes the need for the validation workaround for Docker, because
box_updated is once again available in that context.
We don't technically need the SyncedFolder priorities back on the Ruby
side, but wiring them through for symmetry.
Depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/183
2022-07-15 12:14:47 -05:00
Paul Hinze
da77316f9a
Fix virtualbox lifecycle acctests
...
Two fixes:
1. Allow us to make it through Vagrant::Environment initialization when
there's no project yet, fixing box add and init commands.
2. Don't prune UNKNOWN targets from state... as VBox looks like it
leaves things in that state when it runs suspend.
2022-07-13 18:36:11 -05:00
Chris Roberts
58fce40886
Add AsTarget() to machine and include nicer output
2022-07-11 15:08:08 -07:00
Chris Roberts
766b951040
Ensure config is set on basis/project during init
2022-07-08 16:38:03 -07:00
Chris Roberts
df42e88aab
Attach project logger to target on scrub
2022-07-08 16:38:03 -07:00
Chris Roberts
23983d30d4
Reload project after target created in tests
2022-07-08 16:38:03 -07:00
Chris Roberts
410650117d
Setup our logger so we get output on failures
2022-07-08 16:38:03 -07:00
Chris Roberts
6d0b5363c1
Update target init/scrub behavior on projects
2022-07-08 16:38:03 -07:00
Chris Roberts
7c28aa3ce8
Add Exists() helper to target
2022-07-08 16:38:02 -07:00
Chris Roberts
e78d0b6681
Close project in test to force full target removal
2022-07-08 16:38:02 -07:00
Chris Roberts
08bcc8e9c7
When unsetting machine ID, just set state to not created
2022-07-08 16:38:02 -07:00
Chris Roberts
df0a4342a6
When project is provided set ref into data
2022-07-08 16:38:02 -07:00
Chris Roberts
2c756b3c07
Update testing helpers to use factory
2022-07-08 16:38:02 -07:00
Chris Roberts
2c35229013
Perform target lookup to validate exist and name
2022-07-08 16:38:02 -07:00
Chris Roberts
9fe9492875
Only store configuration if vagrantfile defined
2022-07-08 16:38:02 -07:00
Chris Roberts
bdf1cfe6bf
Set test target state to created
2022-07-08 16:38:02 -07:00
Chris Roberts
762fac3ae6
Init project config and only save if vagrantfile defined
2022-07-08 16:38:02 -07:00
Chris Roberts
0a4b9c9019
Always save the target when saving machine
2022-07-08 16:38:02 -07:00
Chris Roberts
5619341880
Use factory values only if provided options left unset
2022-07-08 16:38:02 -07:00
Chris Roberts
a3b32bdf60
Default configuration data, only store if vagrantfile defined
2022-07-08 16:38:02 -07:00
Chris Roberts
0f7c4f25c1
Load target in index via factory. Filter targets.
2022-07-08 16:38:02 -07:00
Chris Roberts
e959369a0b
Use factory for scope loading in runner
2022-07-08 16:38:02 -07:00
Chris Roberts
5df92814c7
Update function call name fo init operation
2022-07-08 16:38:02 -07:00
Chris Roberts
51d8c84740
Refactor how scopes are created and initialized
2022-07-08 16:38:02 -07:00
Chris Roberts
b82d55cc37
Update vagrantfile to load machines via factory
2022-07-08 16:38:02 -07:00
Chris Roberts
81754f4f9a
Add logging when using cache version and closing instance
2022-07-08 16:38:02 -07:00
Chris Roberts
50dd39c5f4
Update factory to build scope types
2022-07-08 16:38:02 -07:00
Paul Hinze
ee8883153c
Make Docker provider work again post config refactor
...
- Allow machine.box to be empty without sadness (depends on
https://github.com/hashicorp/vagrant-plugin-sdk/pull/182 )
- Get synced folder type from plugin name instead of defaulting to
:virtualbox
2022-07-08 11:36:27 -05:00
Sophia Castellarin
66a22e5254
Merge pull request #303 from hashicorp/synced_folder_has_override_opts
...
Synced folder has override opts
2022-07-07 16:28:14 -05:00
Sophia Castellarin
1bc4c4be7c
Merge pull request #304 from hashicorp/close-ui
...
Close UI if it is close-able
2022-07-07 16:18:08 -05:00
Chris Roberts
f5d778d51a
Revert "Merge pull request #300 from hashicorp/optimize-ruby-command-list"
...
This reverts commit 1c26a4abb0c9e095b3f6ec9944c4b15f6f1cd064, reversing
changes made to 186824a568583d8f6f2a50501d940ed71608fa0b.
The changes broke plugin loading when using subcommands so these
changes will be reverted until the underlying issue can be
investigated and resolved.
2022-07-07 14:03:56 -07:00
sophia
ffc2dd729b
Use more generic hash for folder options. This will allow using exisiting mappers
2022-07-07 12:30:24 -05:00
sophia
e8c0587c85
go generate
2022-07-07 12:30:24 -05:00
sophia
19fbd81c8e
Close UI if it is close-able
2022-07-07 11:40:20 -05:00
Paul Hinze
522c56f0c6
Merge pull request #305 from hashicorp/use-default-synced-folder
...
Fix method for getting default synced folder type
2022-07-07 11:34:27 -05:00
Chris Roberts
1c26a4abb0
Merge pull request #300 from hashicorp/optimize-ruby-command-list
...
Optimize command list generation
2022-07-07 09:29:15 -07:00
Paul Hinze
91478e9e0a
Fix method for getting default synced folder type
...
As a part of a series of larger changes the default synced folder type
accidentally got wired up to DefaultProvider instead of its dedicated
defaultSyncedFolderType() method.
This was working fine for "virtualbox" where the provider name and the
synced folder name are both the same, but it was causing virtualbox
synced folders to be selected when using the "docker" provider and
making things break.
This is one necessary step to get machine lifecycles working again with
Docker.
2022-07-07 11:24:53 -05:00
Paul Hinze
fb2a102c71
Fix init and other commands that run without a project
...
The Basis needs to be able to respond to Vagrantfile() and
DefaultProvider() to make it through Vagrant::Environment
initialization.
Depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/178
2022-07-01 11:56:08 -05:00
Chris Roberts
2d08919314
Merge pull request #296 from hashicorp/case-of-the-missing-target
...
Set target configuration from vagrantfile before save
2022-06-30 12:30:55 -07:00
Chris Roberts
8b7d702ddd
Check existing target state and remove if not created
2022-06-30 11:16:23 -07:00
Chris Roberts
e7df8b6c52
Properly delete the target from the project
2022-06-30 11:16:09 -07:00
Chris Roberts
b365827f73
Save updated project after deleting target
2022-06-30 11:15:56 -07:00
sophia
b01ace79f0
Set default communicator constant
2022-06-30 09:13:55 -05:00
sophia
935c665412
Add tests for default communicator
2022-06-30 09:13:53 -05:00
sophia
22b2d52e00
Get communicator specified in Vagrnatfile
2022-06-30 09:13:17 -05:00
Chris Roberts
a146f3beac
Fetch all ruby commands in single request
2022-06-29 16:14:19 -07:00
Chris Roberts
e1d7962ee8
Generated proto updates for get commands
2022-06-29 16:14:01 -07:00
Chris Roberts
067e6aeed1
Add get commands implementation to client and server
2022-06-29 16:13:36 -07:00
Chris Roberts
29a5c1b855
Add rpc for getting commands
2022-06-29 16:12:36 -07:00
Chris Roberts
ced8f947f8
Modify ordering of attributes
2022-06-29 16:11:30 -07:00