Merge pull request #269 from rach/master

provisioner/salt-masterless: `local_state_tree` should not be mandatory
This commit is contained in:
Mitchell Hashimoto 2013-08-11 16:17:37 -07:00
commit 6a7450974d
3 changed files with 22 additions and 64 deletions

View File

@ -68,13 +68,12 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
} }
} }
if p.config.LocalStateTree == "" { if p.config.LocalStateTree != "" {
errs = packer.MultiErrorAppend(errs, if _, err := os.Stat(p.config.LocalStateTree); err != nil {
errors.New("Please specify a local_state_tree")) errs = packer.MultiErrorAppend(errs,
} else if _, err := os.Stat(p.config.LocalStateTree); err != nil { errors.New("local_state_tree must exist and be accessible"))
errs = packer.MultiErrorAppend(errs, }
errors.New("local_state_tree must exist and be accessible")) }
}
if errs != nil && len(errs.Errors) > 0 { if errs != nil && len(errs.Errors) > 0 {
return errs return errs

View File

@ -6,7 +6,8 @@ layout: "docs"
Type: `salt-masterless` Type: `salt-masterless`
The salt-masterless provisioner provisions machines built by Packer using [Salt](http://saltstack.com/) states. The `salt-masterless` provisioner provisions machines built by Packer using
[Salt](http://saltstack.com/) states, without connecting to a Salt master.
## Basic Example ## Basic Example
@ -15,7 +16,6 @@ The example below is fully functional.
<pre class="prettyprint"> <pre class="prettyprint">
{ {
"type": "salt-masterless", "type": "salt-masterless",
"bootstrap_args": "git v0.16.0"
"local_state_tree": "/Users/me/salt" "local_state_tree": "/Users/me/salt"
} }
</pre> </pre>
@ -24,15 +24,21 @@ The example below is fully functional.
The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree. The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree.
Required:
* `local_state_tree` (string) - The path to your local [state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree). This will be uploaded to the `/srv/salt` on the remote, and removed before shutdown.
Optional: Optional:
* `skip_bootstrap` (boolean) - By default the salt provisioner runs [salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install salt. Set this to true to skip this step. * `local_state_tree` (string) - The path to your local
[state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree).
This will be uploaded to the `/srv/salt` on the remote.
* `boostrap_args` (string) - * `skip_bootstrap` (boolean) - By default the salt provisioner runs
Arguments to send to the bootstrap script. Usage is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap), but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh) has more detailed usage instructions. By default, no arguments are sent to the script. [salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install
salt. Set this to true to skip this step.
* `temp_config_dir` (string) - Where your local state tree will be copied before moving to the `/srv/salt` directory. Default is `/tmp/salt`. * `boostrap_args` (string) - Arguments to send to the bootstrap script. Usage
is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap),
but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh)
has more detailed usage instructions. By default, no arguments are sent to
the script.
* `temp_config_dir` (string) - Where your local state tree will be copied
before moving to the `/srv/salt` directory. Default is `/tmp/salt`.

View File

@ -1,47 +0,0 @@
---
layout: "docs"
---
# Salt Masterless Provisioner
Type: `salt-masterless`
The `salt-masterless` provisioner provisions machines built by Packer using
[Salt](http://saltstack.com/) states, without connecting to a Salt master.
## Basic Example
The example below is fully functional.
<pre class="prettyprint">
{
"type": "salt-masterless",
"local_state_tree": "/Users/me/salt"
}
</pre>
## Configuration Reference
The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree.
Required:
* `local_state_tree` (string) - The path to your local
[state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree).
This will be uploaded to the `/srv/salt` on the remote, and removed before
shutdown.
Optional:
* `skip_bootstrap` (boolean) - By default the salt provisioner runs
[salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install
salt. Set this to true to skip this step.
* `boostrap_args` (string) - Arguments to send to the bootstrap script. Usage
is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap),
but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh)
has more detailed usage instructions. By default, no arguments are sent to
the script.
* `temp_config_dir` (string) - Where your local state tree will be copied
before moving to the `/srv/salt` directory. Default is `/tmp/salt`.