15942 Commits

Author SHA1 Message Date
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
4dd69a07a3 Generated proto updates for vagrantfile 2022-07-08 16:38:02 -07:00
Chris Roberts
3c88c9ca7d Support individual value fetching from vagrantfile 2022-07-08 16:38:02 -07:00
Chris Roberts
19b4adb3b8 Implement get_value rpc in vagrantfile client 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
27d08534cf
Merge pull request #309 from hashicorp/fix-docker-by-supporting-machine-with-no-box
Make Docker provider work again post config refactor
2022-07-08 15:07:00 -05:00
Sophia Castellarin
45882c7847
Merge pull request #310 from hashicorp/active-machines
Environment#active_machines should return a list of  tuple
2022-07-08 13:36:58 -05:00
Paul Hinze
23db31bde3
bump sdk 2022-07-08 13:14:05 -05:00
sophia
a6caa47f8e Environment#active_machines should return a list of tuple
The tuple should be compsed of the machine name (as a string)
and provider name (as a symbol)
2022-07-08 11:41:18 -05: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
6cda7d3556
Merge pull request #308 from hashicorp/unbreak-what-i-broke
Fix broken subcommand usage
2022-07-07 14:10:41 -07: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
Paul Hinze
59a8e9bb0f
Merge pull request #306 from hashicorp/fix-capability-boolean-handling
Fix Type::Booleans leaking through capabilities
2022-07-07 14:21:05 -05:00
sophia
7f695b7bb1 Bump sdk 2022-07-07 12:30:24 -05:00
sophia
9043ab4c45 go generate 2022-07-07 12:30:24 -05:00
sophia
e70a25e24f Use the scoped hash override to get overriden synced folder config 2022-07-07 12:30:24 -05: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
b17c36c7c7 Fix typo 2022-07-07 12:30:24 -05:00
sophia
e8c0587c85 go generate 2022-07-07 12:30:24 -05:00
Sophia Castellarin
0b53e06687
Merge pull request #297 from hashicorp/port-command-fix
Use remote provider
2022-07-07 12:21:48 -05:00
sophia
f1af42a7fc Don't use hash with indifferent access when converting hash
The HashWithIndifferentAccess will change all keys to strings when
merged with another regular hash. This causes errors in cases where
hashes are merged, for example in the action builder. Symbol/String
type data is kept over the wire, so there is no need to make the
mapped hash a HashWithIndifferentAccess.
2022-07-07 11:50:03 -05:00
sophia
73801703e7 Pass machine to provider capabilities 2022-07-07 11:49:57 -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
Paul Hinze
75d900c93b
Fix Type::Booleans leaking through capabilities
We had some cases where calling a capability that returned a boolean was
not getting correctly unpacked, so instead of `true` or `false` the
capability was putting out
`VagrantPlugins::CommandServe::Type::Boolean`.

This may have been happening in _all_ cases where a boolean was returned
from a capability and we just didn't notice it yet because the return
value was always truthy.

These tweaks should help ensure that Ruby types make it out where they
are supposed to be in Args::Direct usage.
2022-07-07 11:29:50 -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
Sophia Castellarin
186824a568
Merge pull request #302 from hashicorp/private-network
Rely on string/symbol maps for hash mapping
2022-07-06 13:20:41 -05:00
sophia
5709027c45 Update mapper tests for not returning HashWithIndifferentAccess 2022-07-01 13:56:50 -05:00
Paul Hinze
fe0b319004
Merge pull request #298 from hashicorp/fix-no-vagrantfile-commands
Fix init and other commands that run without a project / vagrantfile
2022-07-01 13:16:58 -05:00
sophia
eeba305399 Rely on string/symbol maps for hash mapping
Relying on HashWithIndifferentAccess in Hash mappers results in
errors when hashes get merged in Ruby. When merges between regular
hashes and HashWithIndifferentAccess happens, then all the keys
from HashWithIndifferentAccess are transformed to strings.
2022-07-01 12:47:12 -05:00
Paul Hinze
17be9ba354
bump sdk 2022-07-01 12:23:15 -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
25d00b4ff4
Merge pull request #301 from hashicorp/sparse-vagrantfile
Handle sparse Vagrantfile
2022-07-01 09:03:48 -07:00
Chris Roberts
6aa50189a2 Return empty results when no content to parse 2022-07-01 08:57:28 -07:00