Commit 0eb634ae authored by Seth Vargo's avatar Seth Vargo

Merge pull request #1525 from scott2449/master

Add default nodename for chef-client
parents 1954cc97 4383b435
...@@ -14,6 +14,7 @@ import ( ...@@ -14,6 +14,7 @@ import (
"strings" "strings"
"github.com/mitchellh/packer/common" "github.com/mitchellh/packer/common"
"github.com/mitchellh/packer/common/uuid"
"github.com/mitchellh/packer/packer" "github.com/mitchellh/packer/packer"
) )
...@@ -187,7 +188,11 @@ func (p *Provisioner) Prepare(raws ...interface{}) error { ...@@ -187,7 +188,11 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
} }
func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
nodeName := p.config.NodeName nodeName := p.config.NodeName
if nodeName == "" {
nodeName = fmt.Sprintf("packer-%s", uuid.TimeOrderedUUID())
}
remoteValidationKeyPath := "" remoteValidationKeyPath := ""
serverUrl := p.config.ServerUrl serverUrl := p.config.ServerUrl
...@@ -553,9 +558,7 @@ validation_client_name "chef-validator" ...@@ -553,9 +558,7 @@ validation_client_name "chef-validator"
{{if ne .ValidationKeyPath ""}} {{if ne .ValidationKeyPath ""}}
validation_key "{{.ValidationKeyPath}}" validation_key "{{.ValidationKeyPath}}"
{{end}} {{end}}
{{if ne .NodeName ""}}
node_name "{{.NodeName}}" node_name "{{.NodeName}}"
{{end}}
{{if ne .ChefEnvironment ""}} {{if ne .ChefEnvironment ""}}
environment "{{.ChefEnvironment}}" environment "{{.ChefEnvironment}}"
{{end}} {{end}}
......
...@@ -29,14 +29,14 @@ remote machine and run Chef client. ...@@ -29,14 +29,14 @@ remote machine and run Chef client.
} }
``` ```
Note: to properly clean up the Chef node and client, you must have Note: to properly clean up the Chef node and client the machine on which
`knife` on your path and properly configured. 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 ## Configuration Reference
The reference of available configuration options is listed below. No The reference of available configuration options is listed below. No
configuration is actually required, but `node_name` is recommended configuration is actually required.
since it will allow the provisioner to clean up the node/client.
* `chef_environment` (string) - The name of the chef_environment sent to the * `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. Chef server. By default this is empty and will not use an environment.
...@@ -60,8 +60,7 @@ since it will allow the provisioner to clean up the node/client. ...@@ -60,8 +60,7 @@ since it will allow the provisioner to clean up the node/client.
node attributes while running Chef. node attributes while running Chef.
* `node_name` (string) - The name of the node to register with the 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, Server. This is optional and by default is packer-{{uuid}}.
Packer can't clean up the node from the Chef Server using knife.
* `prevent_sudo` (boolean) - By default, the configured commands that are * `prevent_sudo` (boolean) - By default, the configured commands that are
executed to install and run Chef are executed with `sudo`. If this is true, executed to install and run Chef are executed with `sudo`. If this is true,
...@@ -78,7 +77,6 @@ since it will allow the provisioner to clean up the node/client. ...@@ -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 * `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. 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 * `skip_install` (boolean) - If true, Chef will not automatically be installed
on the machine using the Opscode omnibus installers. on the machine using the Opscode omnibus installers.
...@@ -116,9 +114,7 @@ validation_client_name "chef-validator" ...@@ -116,9 +114,7 @@ validation_client_name "chef-validator"
{{if ne .ValidationKeyPath ""}} {{if ne .ValidationKeyPath ""}}
validation_key "{{.ValidationKeyPath}}" validation_key "{{.ValidationKeyPath}}"
{{end}} {{end}}
{{if ne .NodeName ""}}
node_name "{{.NodeName}}" node_name "{{.NodeName}}"
{{end}}
``` ```
This template is a [configuration template](/docs/templates/configuration-templates.html) This template is a [configuration template](/docs/templates/configuration-templates.html)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment