Skip to content

Commit

Permalink
Merge pull request #1525 from scott2449/master
Browse files Browse the repository at this point in the history
Add default nodename for chef-client
  • Loading branch information
sethvargo committed Nov 26, 2014
2 parents 1954cc9 + 4383b43 commit 0eb634a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 11 deletions.
7 changes: 5 additions & 2 deletions provisioner/chef-client/provisioner.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"strings"

"github.com/mitchellh/packer/common"
"github.com/mitchellh/packer/common/uuid"
"github.com/mitchellh/packer/packer"
)

Expand Down Expand Up @@ -187,7 +188,11 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
}

func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {

nodeName := p.config.NodeName
if nodeName == "" {
nodeName = fmt.Sprintf("packer-%s", uuid.TimeOrderedUUID())
}
remoteValidationKeyPath := ""
serverUrl := p.config.ServerUrl

Expand Down Expand Up @@ -553,9 +558,7 @@ validation_client_name "chef-validator"
{{if ne .ValidationKeyPath ""}}
validation_key "{{.ValidationKeyPath}}"
{{end}}
{{if ne .NodeName ""}}
node_name "{{.NodeName}}"
{{end}}
{{if ne .ChefEnvironment ""}}
environment "{{.ChefEnvironment}}"
{{end}}
Expand Down
14 changes: 5 additions & 9 deletions website/source/docs/provisioners/chef-client.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ remote machine and run Chef client.
}
```

Note: to properly clean up the Chef node and client, you must have
`knife` on your path and properly configured.
Note: to properly clean up the Chef node and client the machine on which
packer is running must have knife on the path and configured globally,
i.e, ~/.chef/knife.rb must be present and configured for the target chef server

## Configuration Reference

The reference of available configuration options is listed below. No
configuration is actually required, but `node_name` is recommended
since it will allow the provisioner to clean up the node/client.
configuration is actually required.

* `chef_environment` (string) - The name of the chef_environment sent to the
Chef server. By default this is empty and will not use an environment.
Expand All @@ -60,8 +60,7 @@ since it will allow the provisioner to clean up the node/client.
node attributes while running Chef.

* `node_name` (string) - The name of the node to register with the Chef
Server. This is optional and by defalt is empty. If you don't set this,
Packer can't clean up the node from the Chef Server using knife.
Server. This is optional and by default is packer-{{uuid}}.

* `prevent_sudo` (boolean) - By default, the configured commands that are
executed to install and run Chef are executed with `sudo`. If this is true,
Expand All @@ -78,7 +77,6 @@ since it will allow the provisioner to clean up the node/client.

* `skip_clean_node` (boolean) - If true, Packer won't remove the node
from the Chef server after it is done running. By default, this is false.
This will be true by default if `node_name` is not set.

* `skip_install` (boolean) - If true, Chef will not automatically be installed
on the machine using the Opscode omnibus installers.
Expand Down Expand Up @@ -116,9 +114,7 @@ validation_client_name "chef-validator"
{{if ne .ValidationKeyPath ""}}
validation_key "{{.ValidationKeyPath}}"
{{end}}
{{if ne .NodeName ""}}
node_name "{{.NodeName}}"
{{end}}
```

This template is a [configuration template](/docs/templates/configuration-templates.html)
Expand Down

0 comments on commit 0eb634a

Please sign in to comment.