James Bardin
7f571b5ebb
additional null checks in provisioners
...
Now that provisioners for directly with the plugin API and cty data
types, we need to add a few null checks to catch invalid input that
would have otherwise been masked by the legacy SDK.
2021-04-20 12:31:32 -04:00
James Bardin
47a682141a
remote provisioners require a connection config
2021-02-24 13:25:58 -05:00
Jonathan Hall
49ee3d3ef8
Grammar nit: "setup" as a verb should be spelled "set up"
2021-01-26 20:39:11 +01:00
James Bardin
ff30030e4f
builtin provisioners are re-used and not Closed
2021-01-19 17:48:30 -05:00
James Bardin
026ba5b013
ensure context cancel is never nil
...
The context used for Stop is more appropriately tied to the lifetime of
the provisioner rather than a call to the ProvisionResource method. In
some cases Stop can be called before ProvisionResource, causing a panic
the provisioner. Rather than adding nil checks to the CancelFunc call
for Stop, create a base context to use for cancellation with both Stop
and Close methods.
2021-01-08 12:36:45 -05:00
James Bardin
313d3e5c4d
builtin/provisioners/remote-exec: staticcheck
2020-12-02 13:59:20 -05:00
James Bardin
256a7ec95a
rewrite file as an internal provisioner
2020-12-02 12:45:00 -05:00
James Bardin
1ec8d921d4
rewrite remote-exec as an internal provisioner
2020-12-02 12:45:00 -05:00
James Bardin
9adfaa9b5d
rewrite local-exec to run internally
...
Use the new interface directly, so that there are no shims or plugins
involved with the execution of the provisioner.
2020-12-02 12:45:00 -05:00
James Bardin
01ac480a58
update provisioners to use legacy types
2020-12-02 12:16:35 -05:00
Pam Selle
e39e0e3d04
Remove vendor provisioners and add fmt Make target
...
Remove chef, habitat, puppet, and salt-masterless provsioners,
which follows their deprecation. Update the documentatin for these
provisioners to clarify that they have been removed from later versions
of Terraform. Adds the fmt Make target back and updates fmtcheck script
for correctness.
2020-11-17 11:22:03 -05:00
James Bardin
a3c9b33b7b
output buffer must be synchronized
2020-09-30 13:44:07 -04:00
Sander van Harmelen
9453308c78
Make sure the WinRM communicator can reconnect
2020-05-05 16:18:30 -04:00
Sander van Harmelen
10aab86051
Make sure we use MaxRetries correctly
...
Even if MaxRetries is 0, we should still execute the loop one time in
order to run the Chef-Client at least once. Also waiting only makes
sense when we have `attempts` left. And last but not least we want to
exit immediately when the exit code is not in the retry list.
So this PR fixes three small issues to make everything work as
expected.
2020-05-05 16:18:30 -04:00
Sander van Harmelen
a614056925
Refactor the code a bit to make it more idiomatic
2020-05-01 08:58:33 -04:00
Brian Dwyer
2f4067cf70
Clean up and add docs
...
Signed-off-by: Brian Dwyer <Brian.Dwyer@broadridge.com>
2020-04-30 08:16:17 -04:00
Brian Dwyer
4701ed2e02
Gracefully handle Chef RFC062 Exit Codes
...
Signed-off-by: Brian Dwyer <Brian.Dwyer@broadridge.com>
2020-04-29 23:48:19 -04:00
David McNeil
3a079b04db
Change file permission ordering to avoid race condition
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-03-09 11:04:07 -04:00
David McNeil
b95daa87c8
Fix permissions of habitat provision's user.toml
...
Signed-off-by: David McNeil <mcneil.david2@gmail.com>
2020-03-09 10:24:29 -04:00
Alex Harvey
cbeedfca35
provisioner/puppet: fix bug when connection type was not set in config ( #23057 )
...
Before this, the Terraform Puppet provisioner would error out in a
confusing way if the type attribute in a connection block was not given.
Apparently an omitted type leads to type having a value "" which must be
then assumed to mean "ssh".
Fixes #23004
2019-10-17 11:46:55 -04:00
Kyle Mott
30895a6cf5
Merge cleanup, remove `license` parameter in favor of bool `accept_license`, adjust how license acceptance is done, update hab provisioner doc.
2019-09-29 11:16:25 -07:00
Kyle Mott
e3d1876f44
Merge upstream
2019-09-27 16:38:50 -07:00
Mudassar Shafique
50a6c69ab5
Habitat License Acceptance changes. These changes add a new argument that allows users to accept Habitat End User License.
...
It also containts doc updates for Habitat and Chef provisioner
2019-09-09 23:03:39 +05:00
Kyle Mott
997761ef41
Remove commented out code.
2019-09-05 09:45:33 -07:00
Kyle Mott
164332bfa1
Update Linux Habitat Provisioner to support new licensing, options cleanup.
2019-09-05 09:44:35 -07:00
Alex Pilon
c993fc3c1b
better error handling for type assertions
2019-08-06 20:49:55 -04:00
Alex Pilon
4bf43efcfd
move hcl2shim package to configs
2019-08-06 19:58:58 -04:00
Alex Pilon
d1448fc319
restore test
...
switch provisioner validation to cast to []interface{} first
2019-08-05 22:08:04 -04:00
Alex Pilon
83aa07f907
prune NewResourceConfig and update tests
2019-08-05 22:08:03 -04:00
Pam Selle
291cf8c5a4
Revert "Habitat License Acceptance changes. "
2019-08-05 12:43:55 -04:00
Pam Selle
9020636f93
Merge pull request #21345 from mudash/master
...
Habitat License Acceptance changes.
2019-08-05 12:40:34 -04:00
Alex Pilon
7f8f198719
remove UnknownVariabeValue from config and update references to shim
2019-07-17 22:41:24 -04:00
Radek Simko
5b9f2fafc8
Standardise directory name for test data
2019-06-30 10:16:15 +02:00
Tim Sharpe
615110e13e
provisioner: new Puppet provisioner ( #18851 )
...
* Basic Puppet provisioner
* (fixup) fix snake_case use in Bolt
* (fixup) Remove unused ValidateFunc
* (fixup) Check bolt result status
* (lint) go fmt
* Requested changes
* Remove PE autodetection
* Apply suggestions from @svanharmelen
Co-Authored-By: rodjek <tim@sharpe.id.au>
* Tag all JSON fields in bolt output
* Defer comm.Disconnect() as suggested
* Make bolt timeout configurable
* Update builtin/provisioners/puppet/resource_provisioner.go
Co-Authored-By: rodjek <tim@sharpe.id.au>
* Make extension_requests and custom_attributes configurable
2019-06-10 15:31:21 -04:00
Mudassar Shafique
258319e6b0
Adding a comment to explain a testcase
2019-06-05 13:52:53 -07:00
Mudassar Shafique
e78658de4c
Habitat License Acceptance changes. These changes add a new argument that allows users to accept Habitat End User License.
2019-05-16 16:55:07 -07:00
Jurnell Cockhren
1242e08473
fix(salt-masterless): Compare retrieved variable values with defaults
2019-02-14 18:13:16 -08:00
Jurnell Cockhren
996f845d4b
fix(salt-masterless): set the default values for state and pillar remote locations
2019-02-14 18:13:16 -08:00
Sander van Harmelen
56e6c60f76
Merge pull request #18533 from alice-sawatzky/master
...
change chef linux provisioner to use user:group chown syntax
2018-10-11 10:29:01 +02:00
Sean Chittenden
d749420a25
Fix drift caused from gofmt when running make dev and go 1.11.
...
A fresh checkout of `origin/master` does not build atm using the `dev`
target because `master` has not been formatted using `gofmt` from Go
1.11 (tis has been the case for a while if you've been running devel).
None of the drift in question is especially new but now that Go 1.11
has been released and gofmt's formatting guidelines have been updated,
it would be *really* nice if the code in `master` reflected the current
tooling in order to avoid having to fight this drift locally.
* 8mo: https://github.com/hashicorp/terraform/blame/master/backend/remote-state/s3/backend_test.go#L260-L261
* 6mo: https://github.com/hashicorp/terraform/blame/master/builtin/provisioners/chef/linux_provisioner_test.go#L124
* 1yr: 7cfeffe36b/command/init.go (L75-L76)
* 12d: 7cfeffe36b/command/meta_backend_test.go (L1437)
* 2yr: 7cfeffe36b/helper/schema/resource_timeout_test.go (L26)
* 4yr: 7cfeffe36b/helper/schema/schema_test.go (L2059)
* 1yr: 7cfeffe36b/plugin/discovery/get_test.go (L151)
2018-09-09 10:18:08 -07:00
Alice Sawatzky
15c65f981b
change chef linux provisioner to use user:group chown syntax
2018-07-24 19:12:40 -05:00
Skyler Layne
d1124a4e3d
Update resource_provisioner.go
...
fix spacing for service url.
2018-07-05 15:37:42 -04:00
Andre Bindewald
de43f01d65
provisioner/local-exec: Support custom environment variables on Windows
...
Due to an incorrect slice allocation, the environment variable list was created with an empty string
element for each real element added.
It appears that this was silently ignored on Unix, but caused the following environment settings
to be ignored altogether on Windows.
2018-06-15 18:26:43 -07:00
James Bardin
f8b691f743
Merge pull request #17781 from hashicorp/jbardin/habitat
...
`enable` habitat supervisor service before `start`
2018-04-05 08:43:50 -04:00
James Bardin
c1edaadc7b
Merge pull request #17403 from rwc/hab-provisioner-updates
...
[provisioner-habitat] Fix package channel honoring and documentation
2018-04-04 16:55:24 -04:00
Marko Springfeldt
a201b04b26
`enable` habitat supervisor service before `start`
...
Signed-off-by: Arash Zandi <arash.zandi@smartb.eu>
2018-04-04 16:51:26 -04:00
James Bardin
e9e4ee4940
Merge pull request #17609 from hashicorp/jbardin/remote-command
...
clean up remote.Cmd api
2018-03-23 17:34:06 -04:00
James Bardin
ad8642e2c2
have remote.ExitError format errors and status
...
Since all use cases of ExitStatus are just putting it into fmt.Errorf,
usually with the command string, have ExitStatus do that for the caller.
2018-03-23 11:36:57 -04:00
James Bardin
56acda00bc
add timeout test to remote-exec
...
Add a test to remote-exec to make sure the proper timeout is honored
during apply.
TODO: we need some test helpers for provisioners, so they can all be
verified.
2018-03-20 14:24:01 -04:00
James Bardin
9b4b5f2a72
use correct context for communicator.Retry
...
The timeout for a provisioner is expected to only apply to the initial
connection. Keep the context for the communicator.Retry separate from
the global cancellation context.
2018-03-20 13:06:28 -04:00