415 Commits

Author SHA1 Message Date
Paul Hinze
7c56c74bb6
Support and honor the "primary" option for Command plugins 2022-07-27 11:36:04 -05:00
sophia
7441927f06 Set not created machine state when appropriate 2022-07-25 15:16:40 -05:00
sophia
5df47c8856 Check for existence of metatdata.json to determine if a box is v1 2022-07-25 13:05:48 -05:00
sophia
7678c28f65 Add warning about v1 boxes 2022-07-25 12:29:59 -05:00
sophia
0af2ff5709 Automatically update v1 boxes 2022-07-25 12:29:32 -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
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
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
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
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
sophia
8859e2e03b Add test communicator plugin to guest detection test 2022-06-29 17:23:43 -05:00
sophia
adadf26c9c Check if communicator is available before detecting guests 2022-06-29 17:23:43 -05:00
Chris Roberts
aec4d13e21 Set configuration after successful init 2022-06-29 11:46:41 -07:00
Chris Roberts
8c40214d61 Update project to use cleanup, not shutdown targets 2022-06-29 11:46:41 -07:00
Chris Roberts
822b2af8a5 Set target configuration from vagrantfile before save 2022-06-28 11:07:52 -07:00
Chris Roberts
e9353ac566 Remove some extraneous logger output 2022-06-28 09:49:28 -07:00
Chris Roberts
2e2966ae9e Remove test basis config helper function 2022-06-28 08:54:29 -07:00