terraform/command
Kristin Laemmert 86e9ba3d65
* backend/local: push responsibility for unlocking state into individual operations
* unlock the state if Context() has an error, exactly as backend/remote does today
* terraform console and terraform import will exit before unlocking state in case of error in Context()
* responsibility for unlocking state in the local backend is pushed down the stack, out of backend.go and into each individual state operation
* add tests confirming that state is not locked after apply and plan

* backend/local: add checks that the state is unlocked after operations

This adds tests to plan, apply and refresh which validate that the state
is unlocked after all operations, regardless of exit status. I've also
added specific tests that force Context() to fail during each operation
to verify that locking behavior specifically.
2020-08-11 11:23:42 -04:00
..
cliconfig provider cache: log errors and validate dir exists (#24993) 2020-05-19 15:32:36 -04:00
clistate terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
e2etest internal/getproviders: decode and return any registry warnings (#25337) 2020-06-25 10:49:48 -04:00
format command/format: Fix empty overlap diagnostics 2020-06-05 16:17:27 -04:00
jsonconfig command/show: fix bug displaying provider config in json output of tf plan (#25577) 2020-07-14 15:28:31 -04:00
jsonplan command/jsonconfig: Use correct provider address to access schema 2020-04-06 09:24:23 -07:00
jsonprovider Mildwonkey/command tests (#24535) 2020-04-06 09:24:23 -07:00
jsonstate remove a few traces of states.EachMode 2020-04-30 09:22:15 -04:00
testdata command/show: fix bug displaying provider config in json output of tf plan (#25577) 2020-07-14 15:28:31 -04:00
webbrowser command/login: Fix browser launcher for WSL users 2020-02-13 15:02:40 -05:00
012_config_upgrade.go command: Fix 0.12upgrade stub 2020-06-01 16:12:30 -04:00
012_config_upgrade_test.go command: remove 0.12upgrade (#24403) 2020-03-19 08:01:16 -04:00
013_config_upgrade.go command: Fix 0.13upgrade to preserve more comments 2020-06-24 15:54:46 -04:00
013_config_upgrade_test.go command/0.13upgrade: make confirmation more user-friendly (#25142) 2020-06-08 13:36:19 -04:00
apply.go command/apply: Remove implicit init call 2020-06-12 12:39:15 -04:00
apply_destroy_test.go command: apply and most of import tests passing 2020-04-06 09:24:23 -07:00
apply_test.go command: apply and most of import tests passing 2020-04-06 09:24:23 -07:00
autocomplete.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
autocomplete_test.go command: use newer version of "complete" library 2017-12-05 10:24:04 -08:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
command.go Implement the Enterprise enhanced remote backend 2018-08-03 22:22:55 +02:00
command_test.go command: Fix command fixture modify-in-place bugs 2020-06-18 17:09:20 -04:00
console.go * backend/local: push responsibility for unlocking state into individual operations 2020-08-11 11:23:42 -04:00
console_interactive.go command: update "terraform console" for HCL2 2018-10-16 18:46:46 -07:00
console_interactive_solaris.go command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
console_test.go Support reading module outputs in terraform console (#24808) 2020-04-30 09:21:42 -04:00
debug_command.go Add debug command with json2dot 2016-11-21 11:59:20 -05:00
flag_kv.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
fmt.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
fmt_test.go command/fmt: Include source snippets in errors 2020-03-26 14:00:26 -04:00
get.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
get_test.go command: Update "terraform get" to use the new module installer 2019-01-17 16:52:34 -08:00
graph.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
graph_test.go command tests looked for providers in the graphs 2020-06-15 14:40:59 -04:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
hook_ui.go command: Add UI hooks for read actions 2020-05-21 16:02:18 -04:00
hook_ui_test.go Merge pull request #18823 from minamijoyo/fix-multibyte-trucate 2019-08-06 14:24:24 -04:00
import.go * backend/local: push responsibility for unlocking state into individual operations 2020-08-11 11:23:42 -04:00
import_test.go command/import: Fix allow-missing-config option 2020-06-23 14:20:50 -04:00
init.go Merge pull request #25504 from hashicorp/alisdair/post-install-cache-validate 2020-07-09 14:55:17 -04:00
init_test.go Merge pull request #25504 from hashicorp/alisdair/post-install-cache-validate 2020-07-09 14:55:17 -04:00
internal_plugin.go command/internal-plugin: Strip off TF_CLI_ARGS arguments 2019-12-05 15:00:51 -08:00
internal_plugin_list.go provisioner: new Puppet provisioner (#18851) 2019-06-10 15:31:21 -04:00
internal_plugin_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
login.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
login_test.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
logout.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
logout_test.go command/logout: Add terraform logout command 2020-02-06 15:00:55 -05:00
meta.go command: Unmanaged providers 2020-05-26 17:48:57 -07:00
meta_backend.go command: use backend config from state when backend=false is used. (#23802) 2020-01-07 15:07:06 -05:00
meta_backend_migrate.go don't store prepared backend config 2019-05-24 14:51:18 -04:00
meta_backend_test.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
meta_config.go don't print just warnings when loading backend cfg 2019-12-06 10:20:23 -05:00
meta_new.go prune dead code from command/meta 2019-07-18 16:11:41 -04:00
meta_providers.go providercache: Lazily detect executable file 2020-07-07 15:18:27 -04:00
meta_test.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
meta_vars.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
output.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
output_test.go command/output: Absence of outputs is not an error 2019-11-06 16:26:32 -08:00
plan.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
plan_test.go command: Fix command fixture modify-in-place bugs 2020-06-18 17:09:20 -04:00
plugins.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
plugins_lock.go Standardize on log level "WARN" rather than "WARNING" 2018-01-16 18:05:26 -08:00
plugins_lock_test.go cleanup temp files from command tests 2018-03-28 13:08:38 -04:00
plugins_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
providers.go command/providers: Show provider requirements tree 2020-06-09 14:21:53 -04:00
providers_mirror.go internal/getproviders: decode and return any registry warnings (#25337) 2020-06-25 10:49:48 -04:00
providers_schema.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
providers_schema_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
providers_test.go command/providers: Show provider requirements tree 2020-06-09 14:21:53 -04:00
push.go command: remove "terraform push" 2018-10-16 18:24:47 -07:00
refresh.go command/refresh: fix state file path (#22885) 2020-06-04 10:24:53 -04:00
refresh_test.go remove unused DependsOn usage in state 2020-05-14 15:46:08 -04:00
show.go backend/local: treat output changes as side-effects to be applied 2020-05-29 07:36:40 -07:00
show_test.go command/show: fix bug displaying provider config in json output of tf plan (#25577) 2020-07-14 15:28:31 -04:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_list_test.go command/state: update and fix the state list command 2018-10-19 16:31:12 +02:00
state_meta.go command: Add state replace-provider subcommand 2020-04-02 08:15:52 -04:00
state_mv.go fix state mv to work without EachMode 2020-04-30 09:22:15 -04:00
state_mv_test.go fix state mv to work without EachMode 2020-04-30 09:22:15 -04:00
state_pull.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_pull_test.go command: Use statemgr.Import and statemgr.Export for state push and pull 2018-11-19 09:02:35 -08:00
state_push.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_push_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
state_replace_provider.go website: Add docs for state replace-provider 2020-04-23 11:41:57 -04:00
state_replace_provider_test.go command: Add state replace-provider subcommand 2020-04-02 08:15:52 -04:00
state_rm.go command: adjust exit code of state rm (#22300) 2020-06-24 14:03:23 -04:00
state_rm_test.go command: adjust exit code of state rm (#22300) 2020-06-24 14:03:23 -04:00
state_show.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_show_test.go Mildwonkey/command tests (#24535) 2020-04-06 09:24:23 -07:00
state_test.go command: Allow tests to run to completion without panics or hangs 2018-10-16 19:14:11 -07:00
taint.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
taint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
ui_input.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
ui_input_test.go Make sure UIInput keeps working after being canceled 2019-04-29 15:15:26 +02:00
unlock.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
unlock_test.go check for errors when loading a backend config 2019-03-12 17:57:26 -04:00
untaint.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
untaint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
validate.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
validate_test.go vendor: go get github.com/hashicorp/hcl2@0b64543c968c 2019-06-18 17:37:24 -07:00
version.go command: Fix bug with -v/-version/--version flags 2020-06-17 15:24:15 -04:00
version_test.go command: Fix bug with -v/-version/--version flags 2020-06-17 15:24:15 -04:00
workspace_command.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_command_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
workspace_delete.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_list.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_new.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_select.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_show.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00