Commit Graph
125 Commits
Author SHA1 Message Date
Karthik P 089df02532 Powershell Provisioner Error Handling (#13334)
* WIP Testing Approach

* WIP Testing Approach

* WIP Testing Approach Work

* WIP Testing Approach

* adding acceptance test for windows Amazon EBS.

* modify wrapper string to use Set-Variable

* fixing unit tests

* cleanup

* updated approach to use -file instead of inline powershell execution.

* adding more scenarios for acceptance test.

* using writeString for file directly.

* changing variable name

* updating test case. cleanup.

* updating test case

* updating test case

* updating test case - nested try catch

* adding unit test for None Execution Policy

* adding unit test for None Execution Policy

* fix test case
2025-04-25 11:23:32 +05:30
hashicorp-copywrite[bot] 19055df3ec [COMPLIANCE] License changes (#12568)
* Updating the license from MPL to Business Source License

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at https://hashi.co/license-faq, and details of the license at www.hashicorp.com/bsl.

* Update copyright file headers to BUSL-1.1

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-08-10 15:53:29 -07:00
hashicorp-copywrite[bot] b7df3ca36f [COMPLIANCE] Add Copyright and License Headers (#12254)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-03-02 15:37:05 -05:00
Lucas BajoletandEd Eustace f4a2ac3b31 feat: support pwsh in powershell provisioner (#11950)
* set `pwsh` to true in config to run `pwsh.exe`, default is false.
* add docs

Co-authored-by: Ed Eustace <[email protected]>
2022-08-19 16:00:46 -04:00
Lucas Bajolet c99b300e3a Add support for Env in remote shell provisioners (#11819)
* provisioner/shell: add support for Env variables

As mentioned in issue #11670, the Shell provider did not support Env
variable declarations in the HCL templates.
This commit adds the capability to the code.

* provisioner/powershell: add support for Env vars

* provisioner/windows-shell: support Env variables
2022-05-31 09:49:38 -04:00
Lucas Bajolet cbc67b7636 Merge pull request #11792 from teddylear/feat-pause_after-powershell
feat: Add pause_after config to powershell provisioner like shell
2022-05-30 16:47:25 -04:00
teddylear d00a41c6ae fix: updates to have make fmt-check and ci-lint pass 2022-05-27 19:36:41 -04:00
Lucas Bajolet 71752c9e1e powershell/provisioner: remove useless fmt.Sprintf
The fmt.Sprintf statement in Provisioner.Provision took a plain string
as parameter, without any arguments, making it futile to call.
2022-05-27 16:44:55 -04:00
Lucas Bajolet 673a97290a provisioner/powershell: remove unused variable
The retryableSleep variable in the powershell provisioner was defined
but never used, so we can safely rename it.
2022-05-27 16:44:55 -04:00
teddylear 000ace61a3 feat: Add pause_after config to powershell provisioner like shell
provisioner
2022-05-18 17:35:48 -04:00
Adrien Delorme a2124eb594 Tiny tweaks and fixes for the PowerShell provisioner (#11410)
* add docs
* fix potential bug
2021-11-23 12:34:26 +01:00
Adrien Delorme 87ba7258b3 Use packer-sdc in packer + remove mapstructure-to-hcl2 & struct-markdown (#10913)
* start using `go:generate packer-sdc struct-markdown`

* Update Makefile

remove @go install ./cmd/struct-markdown

* run go generate for struct-markdown

* use //go:generate packer-sdc mapstructure-to-hcl2

* run go generate for mapstructure-to-hcl2

* remove struct-markdown and mapstructure-to-hcl2

* vendor vendors
2021-04-16 11:52:03 +02:00
Megan Marsh 88b7b0e14a remove sdk 2020-12-17 13:29:25 -08:00
Megan Marsh 56a45b04ab Move hook and communicator definitions to packer-plugin-sdk 2020-11-30 14:30:30 -08:00
Megan Marsh c70870cb83 move multierror and multierrorappend into sdk 2020-11-30 14:29:06 -08:00
Megan Marsh 001886670d move Ui definition into the packer plugin sdk. 2020-11-30 14:26:54 -08:00
Megan Marsh 9e47696dff move helper/config to bundle with the other template definitions 2020-11-18 10:34:59 -08:00
Megan Marsh 3f6deb8828 move multistep into the plugin sdk 2020-11-17 16:31:03 -08:00
Megan Marsh 7d658149ea update tests and website and generated partials to reflect new package format 2020-11-17 10:36:01 -08:00
Megan Marsh 1ffc358ada move tmp helper func into packer-plugin-sdk 2020-11-16 15:13:08 -08:00
Megan Marsh e04eaa89e6 move steps and step configs from packer/common to packer/common/commonsteps 2020-11-13 11:15:04 -08:00
Megan Marsh 6402362018 create packer-plugin-sdk directory and begin moving the relevant folders into it. 2020-11-13 10:47:36 -08:00
Megan Marsh cd74456026 Common provisioner helpers (#10229)
* update docstrings to make it clear that plugins are servers and core is client

* move provisioner guest helper functions into common dir.
2020-11-09 12:16:44 +01:00
Megan Marsh c0ce8a9414 rework fixer deprecation code so we know what plugins they relate to 2020-10-21 15:28:59 -07:00
Wilken Rivera d72173ac1a Revert "Merge pull request #9040 from hashicorp/powershell-exit-code-fix-4916"
This reverts commit 334f399ee3, reversing
changes made to 45a5d28bad.

When testing against Windows SSH the Powershell script fails to parse
the newly added if statement.
2020-06-09 11:41:07 -04:00
Megan Marsh fecb040bf4 fix bug where build vars couldn't be properly interpolated into this execute command (#9275) 2020-05-25 11:54:27 +02:00
Wilken Rivera 2e326ef334 Switch back to call operator as opposed to dot sourcing
* Ensure child scope doesn't conflict with parent scope
* Add elevated user options to tests case.
2020-05-21 09:07:55 -04:00
Wilken Rivera 38f799df3e Add conditional to check if LastExitCode is defined
* Add broken requires statement test case
* Add test case to reproduce invalid LastExitCode
2020-05-21 09:07:43 -04:00
Wilken Rivera 35df3914d2 provisioner/powershell: Update default execute command to handle script errors
This change sets the ErrorActionPreference and wraps the script execution in a Try/Catch statement so that the provisioner can capture any errors encountered when running the script. In addition to the try/catch the `&` operator is replaced by the `.` sourcing operator to ensure the script is executed in the same scope as the parent command (so that errors bubble up properly).

Tests after change
```
⇶  ACC_TEST_BUILDERS=amazon-ebs ACC_TEST_PROVISIONERS=powershell go test ./provisioner/powershell/... -timeout=1h
ok      github.com/hashicorp/packer/provisioner/powershell      915.865s
```
2020-05-21 09:05:43 -04:00
Sylvia Moss 1c30a71d09 Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00