Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Packer
Commits
196a0642
Commit
196a0642
authored
11 years ago
by
Mitchell Hashimoto
Browse files
Options
Download
Email Patches
Plain Diff
packer: configure the build with the paused provisioner
parent
47a83591
main
actions/fix-check-links
azr/mini-dag
azr_acc_test_install_n_run_single_plugins
azr_implicit_requried_plugin_2
azr_remove_amazon_builder
b-azure_arm-cert-timeout
backport/brk.feat/remove-website-code/horribly-finer-bison
backport/clarify-builders-page/promptly-fun-cheetah
backport/nywilken/update-plugins-link/steadily-ace-bear
backport/update-docs-hcp-packer-ga/deeply-capital-malamute
backport/update-docs-hcp-packer-ga/slowly-golden-narwhal
backport/update-docs-hcp-packer-ga/solely-renewing-chipmunk
brk.feat/mdx-v2
build-after-tests
bump_hcp_sdk_go
config_docs
crt-onboarding-test
d-powershell-generated-docs
dependabot/github_actions/slackapi/slack-github-action-1.19.0
example-test
extract_outscale
f-inspect-regression
fix_1000
fix_100000
hcp-packer-registry-pps
improved-error-handling-hcp-packer
linode-hcp-ready
mode-check
nywilken/update-external-plugins
packer-plugin-dev-documentation-updates
poc/packer-init
pr/10199
release/1.7.x
release/1.8.x
revert-6594-mode-check
stable-website
testing_hcp_rewrite_two
update-alert-banner
update-community-codeowners
update_sdk
use_progress_bar
validate_locals
vscode-customization
wilken/hcl2_upgrade-legacy-mode
wilken/implicitly-required-plugins-legacy-mode
wilken/packer-legacy-mode
wilken/packer-par-client
zs.draft-empty-page-check-script
1.5.0
v1.8.0
v1.7.10
v1.7.9
v1.7.8
v1.7.7
v1.7.6
v1.7.5
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.6.6
v1.6.5
v1.6.4
v1.6.3
v1.6.2
v1.6.1
v1.6.0
v1.5.6
v1.5.5
v1.5.4
v1.5.3
v1.5.2
v1.5.1
v1.5.0
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.5
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.11.0
v0.10.2
v0.10.1
v0.10.0
v0.9.0
v0.9.0-rc2
v0.8.6
v0.8.5
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.7.5
v0.7.2
v0.7.1
v0.7.0
v0.6.1
v0.6.0
nightly
list
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
packer/template.go
+7
-0
packer/template.go
packer/template_test.go
+64
-0
packer/template_test.go
with
71 additions
and
0 deletions
+71
-0
packer/template.go
+
7
-
0
View file @
196a0642
...
...
@@ -515,6 +515,13 @@ func (t *Template) Build(name string, components *ComponentFinder) (b Build, err
}
}
if
rawProvisioner
.
pauseBefore
>
0
{
provisioner
=
&
PausedProvisioner
{
PauseBefore
:
rawProvisioner
.
pauseBefore
,
Provisioner
:
provisioner
,
}
}
coreProv
:=
coreBuildProvisioner
{
provisioner
,
configs
}
provisioners
=
append
(
provisioners
,
coreProv
)
}
...
...
This diff is collapsed.
Click to expand it.
packer/template_test.go
+
64
-
0
View file @
196a0642
...
...
@@ -1311,6 +1311,70 @@ func TestTemplate_Build_ProvisionerOverrideBad(t *testing.T) {
}
}
func
TestTemplateBuild_ProvisionerPauseBefore
(
t
*
testing
.
T
)
{
data
:=
`
{
"builders": [
{
"name": "test1",
"type": "test-builder"
}
],
"provisioners": [
{
"type": "test-prov",
"pause_before": "5s"
}
]
}
`
template
,
err
:=
ParseTemplate
([]
byte
(
data
))
if
err
!=
nil
{
t
.
Fatalf
(
"err: %s"
,
err
)
}
builder
:=
new
(
MockBuilder
)
builderMap
:=
map
[
string
]
Builder
{
"test-builder"
:
builder
,
}
provisioner
:=
&
MockProvisioner
{}
provisionerMap
:=
map
[
string
]
Provisioner
{
"test-prov"
:
provisioner
,
}
builderFactory
:=
func
(
n
string
)
(
Builder
,
error
)
{
return
builderMap
[
n
],
nil
}
provFactory
:=
func
(
n
string
)
(
Provisioner
,
error
)
{
return
provisionerMap
[
n
],
nil
}
components
:=
&
ComponentFinder
{
Builder
:
builderFactory
,
Provisioner
:
provFactory
,
}
// Get the build, verifying we can get it without issue, but also
// that the proper builder was looked up and used for the build.
build
,
err
:=
template
.
Build
(
"test1"
,
components
)
if
err
!=
nil
{
t
.
Fatalf
(
"err: %s"
,
err
)
}
coreBuild
,
ok
:=
build
.
(
*
coreBuild
)
if
!
ok
{
t
.
Fatal
(
"should be okay"
)
}
if
len
(
coreBuild
.
provisioners
)
!=
1
{
t
.
Fatalf
(
"bad: %#v"
,
coreBuild
.
provisioners
)
}
if
pp
,
ok
:=
coreBuild
.
provisioners
[
0
]
.
provisioner
.
(
*
PausedProvisioner
);
!
ok
{
t
.
Fatalf
(
"should be paused provisioner"
)
}
else
{
if
pp
.
PauseBefore
!=
5
*
time
.
Second
{
t
.
Fatalf
(
"bad: %#v"
,
pp
.
PauseBefore
)
}
}
}
func
TestTemplateBuild_variables
(
t
*
testing
.
T
)
{
data
:=
`
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help