Commit Graph

538 Commits

Author SHA1 Message Date
Mitchell Hashimoto b77042dc85 provisioner/shell-local: fix vet 2015-06-22 15:01:22 -07:00
Mitchell Hashimoto 5db4d7c01f fmt 2015-06-22 12:37:52 -07:00
Mitchell Hashimoto 288b9a70f6 Merge pull request #1657 from njhartwell/master
Adding disable sudo support to salt masterless
2015-06-22 12:37:30 -07:00
Mitchell Hashimoto 11e325738b Merge branch 'ansible-inventory-groups' of https://github.com/lyrixx/packer into lyrixx-ansible-inventory-groups 2015-06-22 12:35:50 -07:00
Mitchell Hashimoto 7c8e86c9c5 provisioner/*: fix interpolation context 2015-06-22 12:26:54 -07:00
Mitchell Hashimoto 0e8036a023 Merge pull request #2283 from mitchellh/f-local-shell
Local shell provisioner
2015-06-22 12:18:48 -07:00
Mitchell Hashimoto 6ec428cc38 provisioner/shell: retry file delete [GH-2286] 2015-06-21 19:53:43 -07:00
Mitchell Hashimoto 2dc6155c30 provisioner/shell-local: tests 2015-06-19 15:27:44 -07:00
Mitchell Hashimoto 80fc1f032b provisioner/shell-local: a first stab 2015-06-19 15:06:06 -07:00
Mitchell Hashimoto 59766067c0 provisioner/windows-restart: make test pass on slow machines 2015-06-19 06:13:51 +02:00
Mitchell Hashimoto 873bc7471f Merge pull request #2280 from flopex/ignore_exit_codes
provisioner/puppet-server: Add ignore exit codes option
2015-06-19 06:08:29 +02:00
Mitchell Hashimoto 4463083a60 provisioner/shell: randomize default script name 2015-06-18 10:38:23 +02:00
Mitchell Hashimoto b2609db395 provisioner/windows-restart: fix potential panic case 2015-06-17 18:22:27 +02:00
Mitchell Hashimoto 7711e07f05 provisioner/windows-restart: test fix 2015-06-17 17:56:31 +02:00
Mitchell Hashimoto 49769a17c2 Merge pull request #2243 from mitchellh/f-powershell
Windows provisioners: powershell, windows-shell, windows-restart
2015-06-17 17:51:42 +02:00
Mitchell Hashimoto 5ee02b09b2 Merge pull request #2258 from mitchellh/b-puppet-manifest-base
provisioner/puppet-masterless: only base if manifest is a file [GH-1933]
2015-06-17 17:51:07 +02:00
Gonzalo Peci af4d8b99b4 Add quickfix to restart provisioner as existing one was not working.
For more information read https://github.com/mitchellh/packer/pull/2243
2015-06-17 12:29:10 +12:00
Mitchell Hashimoto 8990c38d5e provisioner/puppet-masterless: deprecation warning 2015-06-16 09:38:24 -07:00
Mitchell Hashimoto 6cda4fa548 Merge branch 'default_facts' of https://github.com/danzilio/packer into danzilio-default_facts 2015-06-15 15:29:23 -07:00
Mitchell Hashimoto 65916514c0 Merge branch 'puppet_working_dir' of https://github.com/ColinHebert/packer into ColinHebert-puppet_working_dir 2015-06-15 15:17:45 -07:00
Mitchell Hashimoto 5d38ee939b Merge pull request #2259 from mitchellh/b-shell-delete
provisioner/shell: remove file after exec [GH-1536]
2015-06-15 15:15:51 -07:00
Mitchell Hashimoto 6c80228661 provisioner/shell: missing error arg 2015-06-15 15:11:08 -07:00
Alexander Golovko 500d83b673 add download support to file provisioner 2015-06-15 15:08:56 -07:00
Mitchell Hashimoto a235419c7d provisioner/shell: remove file after exec [GH-1536] 2015-06-15 15:02:59 -07:00
Mitchell Hashimoto 742e556836 provisioner/puppet-masterless: only base if manifest is a file [GH-1933] 2015-06-15 14:44:54 -07:00
Mitchell Hashimoto 711dfc9d0a provisioner/chef: show command in output 2015-06-15 14:35:54 -07:00
Mitchell Hashimoto 14787fd4cc provisioner/chef-client: run cleanup on node [GH-1295] 2015-06-15 14:29:12 -07:00
Mitchell Hashimoto 106c9403ed provisioner/chef-client: chmod the directories 2015-06-15 13:41:07 -07:00
Mitchell Hashimoto bee3b59c40 Merge branch 'chef-client-client_key' of https://github.com/ameir/packer into ameir-chef-client-client_key 2015-06-15 13:40:33 -07:00
Mitchell Hashimoto ab6a330d86 provisioner/*: fix go vet 2015-06-14 12:39:39 -07:00
Mitchell Hashimoto 339a4ccdab provisioner/windows-shell 2015-06-14 11:23:29 -07:00
Mitchell Hashimoto 840ddb4f20 provisioner/windows-restart 2015-06-14 11:14:47 -07:00
Mitchell Hashimoto 040ff0706d provisioner/powershell 2015-06-14 11:01:28 -07:00
Mitchell Hashimoto c549fce85e provisioner/shell: escape single quotes [GH-2067] 2015-06-13 14:11:20 -04:00
Mitchell Hashimoto 7830d78d06 provisioner/shell: fix tests 2015-06-11 17:24:02 -04:00
Mitchell Hashimoto b28f946be9 Merge pull request #2210 from mitchellh/b-set-e
provisioner/shell: set -e for inline [GH-2069]
2015-06-11 17:19:43 -04:00
Mitchell Hashimoto 3ed73852be provisioner/shell: set -e on the shebang itself 2015-06-11 17:19:23 -04:00
Mitchell Hashimoto a995df352e provisioner/shell: uploaded script should be 0755 [GH-1708] 2015-06-10 21:18:46 -07:00
Mitchell Hashimoto 952077ccb0 provisioner/shell: set -e for inline [GH-2069] 2015-06-10 21:02:22 -07:00
Mitchell Hashimoto 2b4df93f2f provisioner/*: interpolation 2015-05-27 14:50:20 -07:00
Mitchell Hashimoto c2381be44f provisioner/*: convert to interpolation 2015-05-27 14:41:47 -07:00
Francisco Lopez 758618ecaa Add ignore_exit_codes key for provisioner puppet-server 2015-05-14 15:05:44 -07:00
Nathan Hartwell c4cee75b93 Adding tests for disable sudo 2015-05-13 08:32:09 -05:00
Nathan Hartwell d0d3229f96 Merge branch 'master' of https://github.com/mitchellh/packer
Conflicts:
	provisioner/salt-masterless/provisioner.go
2015-05-13 08:13:38 -05:00
Grégoire Pineau cd14cb7012 [Provisioner][Ansible] Added support for inventory group 2015-04-30 18:43:00 +02:00
Ameir Abdeldayem 5c06af872d Support chef-client 'client_key' and default to <staging
dir>/client.pem.
2015-04-09 02:15:16 -04:00
Emil Hessman 3165b0c936 provisioner/salt-masterless: fix incorrect printf verb types
Fixes the following vet reports:

provisioner/salt-masterless/provisioner.go:119: arg cmd for printf verb %s of wrong type: *github.com/mitchellh/packer/packer.RemoteCmd
provisioner/salt-masterless/provisioner.go:121: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:142: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:157: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:172: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:216: arg err for printf verb %d of wrong type: error
2015-02-25 05:43:18 +01:00
Emil Hessman 92704b693a provisioner/puppet-masterless: fix missing format argument
Fixes the following vet report:

provisioner/puppet-masterless/provisioner.go:196: missing argument for Errorf(%d): format reads arg 1, have only 0 args
2015-02-25 05:43:18 +01:00
David Danzilio 7e3d172581 Fixing spacing on line 162 and 164 of provisioner/puppet-masterless/provisioner_test.go 2015-02-24 22:56:37 -05:00
David Danzilio 8404f6ce86 Taking a stab at a test for the facter facts 2015-02-24 22:52:09 -05:00
David Danzilio d1445bc6fe Make PackerBuildName and PackerBuilderType available as Facts during a masterless run similar to the way we do with the Shell provisioner. 2015-02-24 21:44:00 -05:00
Colin Hebert b7fccec91c Set the working dir to staging dir 2015-01-11 10:29:01 +11:00
Colin Hebert a100e9393b Add support for custom working directory for puppet 2015-01-11 10:25:48 +11:00
Erik Simmler 034ed36d0e Ask salt to return a proper exit code so we can fail the builder appropriately. 2014-12-30 10:34:43 -05:00
Neeki Patel 3a3a81b01c Merge remote-tracking branch 'upstream/master' 2014-12-24 17:04:27 -05:00
Victor Trac eb72584415 fix passing bootstrap_args to bootstrap script 2014-12-22 14:08:32 -06:00
Neeki Patel 027b43ea05 Fixed info declared and not used 2014-12-16 09:49:57 -05:00
Neeki Patel 5a9e5df967 Allow manifest_file to be a directory
Puppet is removing support for imports and node inherits. This change will support directories as manifests

https://docs.puppetlabs.com/puppet/latest/reference/dirs_manifest.html
https://docs.puppetlabs.com/puppet/latest/reference/lang_import.html
2014-12-16 09:27:30 -05:00
Timur Batyrshin e4c544b3e2 added ssl_verify_mode parameter to chef-client provisioner 2014-12-05 20:26:41 +03:00
James Massara 1837c7189a Added tests for prevent_sudo 2014-11-27 06:24:54 -08:00
James Massara a5ca2e5a27 Use sudo only if prevent_sudo is not set 2014-11-27 06:24:54 -08:00
Seth Vargo 0eb634ae6a Merge pull request #1525 from scott2449/master
Add default nodename for chef-client
2014-11-26 16:29:22 -05:00
Nathan Hartwell e5c6f1a753 Merge branch 'master' of https://github.com/mitchellh/packer
Conflicts:
	provisioner/salt-masterless/provisioner.go
2014-11-05 10:58:25 -06:00
Mitchell Hashimoto 81d8cd0db4 Merge pull request #1394 from mafrosis/salt-masterless
Salt masterless tidy up
2014-10-28 08:35:10 -07:00
Mitchell Hashimoto 3eda0f33a0 provisioner/shell: quote PACKER env vars [GH-1565] 2014-10-28 08:23:18 -07:00
Mitchell Hashimoto 8cdb686505 Merge pull request #1562 from bhcleek/ansible-local-inventory-best-practice
provisioners/ansible-local: always use an inventory file
2014-10-27 17:01:12 -07:00
Steve Daniels 86fb46ab0a Update SaltStack provision to https
This changes the SaltStack bootstrap URL to use the HTTPS link from the commercial site.  Alternatives are the HTTPS link to the raw file on GitHub, but this, whilst more transparent, might break down the line.
2014-10-22 17:55:45 +01:00
Billie H. Cleek afa499befd always use an inventory file
Using "127.0.0.1," as the argument to `ansible-playbook -i` uses an
undocumented feature of Ansible. Michael DeHaan has indicated that
support for it may be pulled in the future
(https://groups.google.com/forum/#!topic/ansible-project/G_9JRGp5jGE).
2014-10-14 15:36:29 -07:00
Mitchell Hashimoto 373cefa93c Merge pull request #1585 from Tpbrown/ansible-color-and-unbuffered
provisioner/ansible: Colorize Ansible output, and don't buffer output.
2014-10-14 15:36:27 -07:00
Josh Frye 5835ca42b4 Move quoting to else block only for valid vars. Add test case. 2014-10-14 14:20:36 -07:00
Josh Frye a667282e00 Single quote env var values. 2014-10-14 13:03:14 -07:00
Tim Brown baa8697f5d Colorize Ansible output, and don't buffer output.
Setting environment variables for the ansible-playbook invocation.

ANSIBLE_FORCE_COLOR will ensure output is colorized.  PYTHONUNBUFFERED will stream output as Ansible runs, vs getting a big dump of output at the end.
2014-10-13 15:31:11 -07:00
Nathan Hartwell 331003c809 Merge branch 'master' of https://github.com/mitchellh/packer 2014-10-06 15:19:11 -05:00
mafro ed07fb63e4 salt provisioner: tidy up and refactor into functions 2014-10-01 12:31:58 +10:00
mafro e7a46d97c0 salt provisioner: require local_state_tree 2014-10-01 12:31:58 +10:00
Scott Rahner 4383b435a4 adding default nodename 2014-09-24 19:40:34 -04:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto 802168f4b5 Merge branch 'add-chef-environment' of github.com:cfortier2/packer into cfortier2-add-chef-environment
Conflicts:
	provisioner/chef-client/provisioner.go
2014-09-05 16:13:32 -07:00
Mitchell Hashimoto 825864a9ea Merge branch 'additional-user-variables' of github.com:nBerg/packer into nBerg-additional-user-variables
Conflicts:
	builder/amazon/common/run_config.go
2014-09-02 09:57:52 -07:00
yveslaroche 3bfeb54853 Fix Ansible inventory path on Windows
Convert the path to use a '/' separator.
2014-07-25 14:32:38 +01:00
Misha Brukman c75a671c1e Cleaned up Go formatting with gofmt. 2014-07-17 15:33:09 -04:00
sawanoboly 18dddb516b Fix remotePaths when provisioning Linux from Windows 2014-07-11 19:12:34 +09:00
Nina Berg bd1a0d07fb Added some variables to amazon-ebs builder and chef-client provisioner 2014-07-08 13:15:17 -04:00
cfortier2 e908cc1733 add chef_environment test 2014-05-21 09:30:18 -04:00
cfortier2 25386f8e8e add support for chef_environment 2014-05-21 09:24:34 -04:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
renat-sabitov-sirca 0a8e4c7186 Uploading the whole ansible playbook directory 2014-05-10 01:59:05 +10:00
Nathan Hartwell 88ec874c32 Adding disable_sudo support to salt-masterless provisioner
This is already present in some other provisioners and is helpful when
using a builder that gives you root access.
2014-05-09 09:08:41 -05:00
Mitchell Hashimoto 5c5d62733f fmt 2014-05-01 14:24:19 -07:00
Mitchell Hashimoto 9beac8d286 provisioner/chef-client: proper ordering of args [GH-1100] 2014-05-01 14:13:22 -07:00
Ben Langfeld b801713e83 Node DNA needs to handle multiple types
Makes chef-client provisioner consistent with chef-solo in its handling of nested JSON as well as strings.

Fixes #1096
2014-05-01 12:48:45 -03:00
Mitchell Hashimoto bb8d0a5e7a provisioner/chef-solo: convert []uint8 to string 2014-04-29 00:33:55 -07:00
Mitchell Hashimoto 379f3ae933 provisioner/chef-solo: be more lenient on json fix 2014-04-28 22:20:57 -07:00
Mitchell Hashimoto 4379997c2c provisioner/chef-solo: better error for bad type in JSON 2014-04-28 22:18:21 -07:00
Mitchell Hashimoto 8fc46aaa82 provisioner/chef-solo: deeploy nested JSON works properly 2014-04-28 21:56:32 -07:00
James Cline 6017f895f1 provisioners/chef-client: delete correct client
The server URL was being passed through rather than the client name.
2014-04-28 15:29:15 -07:00
Mitchell Hashimoto 9365b879c0 provisioner/shell: chmod uploaded file to 0777 [GH-994] 2014-04-26 20:20:47 -07:00
Mitchell Hashimoto ec41edf558 provisioner/shell: Split on first equal for env vars [GH-1045] 2014-04-26 14:51:56 -07:00
Mitchell Hashimoto 5fac6c79c4 fmt 2014-04-26 11:12:43 -07:00
James Cline eb4ba76e1a provisioner/chef-client: validation_client_name
Allows setting of validation_client_name from packer template json.
2014-04-24 00:09:30 -07:00
Ross Smith II ec847acf80 Merge pull request #963 from rhburrows/ansible-local-paths-on-windows
Fix ansible paths when provisioning Linux from Windows
2014-04-21 08:21:08 -07:00
Ross Smith II 4f186fbd6e Merge pull request #1006 from jgornick/add-ansible-inventory-file (manually) 2014-04-21 07:57:24 -07:00
Joe Gornick d9fc06a170 Update Ansible provisioner to set cwd to staging directory. 2014-04-08 09:50:26 -05:00
Joe Gornick 6d56def162 Add inventory_file option to Ansible provisioner. 2014-04-04 14:58:48 -05:00
Ryan Burrows 6420fbb469 Fix ansible paths when provisioning Linux from Windows
Since the paths are generated on the host machine but the commands are
executed on the VM being provisioned the paths generated will use path
separators from the host. In the case of provisioning a Linux VM from
Windows this path will not work.

Convert the path to use a '/' separator which should work for both
platforms in Go
2014-03-18 11:12:13 -07:00
Mitchell Hashimoto 3de16f20b9 privisioner/chef-client: don't chown with ubuntu [GH-939] 2014-03-12 21:05:25 -07:00
Mitchell Hashimoto ab97545a52 provisioner/puppet-server: docs 2014-02-24 09:51:48 -08:00
Mitchell Hashimoto 2af91addf9 Merge pull request #796 from Jimdo/puppet-server
Add puppet server provisioner
2014-02-24 09:49:27 -08:00
Mitchell Hashimoto 000e5b67ff provisioner/chef-client: docs and validation key path 2014-02-24 09:45:04 -08:00
Mitchell Hashimoto d7e6409b9a provisioner/chef-client: clean up 2014-02-24 08:53:56 -08:00
Mitchell Hashimoto d0a08e83cf Merge pull request #855 from Elachance/chef-client-provisioner
adding chef-client provisioner
2014-02-24 08:33:11 -08:00
Mitchell Hashimoto 4576093c17 fmt 2014-02-24 08:26:51 -08:00
Mitchell Hashimoto 8c1de9e712 provisioner/ansible-local: better error if missing [GH-836] 2014-02-21 20:30:04 -08:00
Mitchell Hashimoto a51fbea499 provisioner/ansible-local: style 2014-02-21 15:27:39 -08:00
Jan Brauer ee50657097 Merge remote-tracking branch 'upstream/master' into puppet-server 2014-02-18 09:41:10 +01:00
Bernard McKeever 458d90c71d provisioner/ansible: support {group,host}_vars
ansible looks for group and host vars directories as well as playbooks
this revision to the provisioner uploads those as well.
squashed to a single commit by strcrzy.
2014-02-02 09:34:41 -08:00
Bailey Johnson 73bbfab8f1 adding chef-client provisioner 2014-01-25 01:06:55 +00:00
jamie brim ec1adec029 provisioner/ansible: configurable command / args
allow users to provide a replacement command / extra args to the
ansible-local provisioner.

this is useful, for example, to unbuffer output when using the
docker builder, or to modify ansible behavior, like enabling
verbose mode, injecting variables, or changing paths.
2014-01-22 14:34:34 -08:00
jamie brim 75f64ef6af provisioner/ansible: upload playbooks correctly
`Provision` calls uploadFile on each path in playbook_paths, but
playbook_paths can only contain directories, per bf7530ca28.

This changes `Provision` to call uploadDir instead.
2014-01-17 16:54:20 -08:00
Jan Brauer 9d01684c1c Use sudo by default, as in puppet-masterless 2014-01-09 08:51:48 +01:00
Jan Brauer 58b06526f5 Update docs for puppet-server provisioner 2014-01-08 13:03:03 +01:00
Jan Brauer 646f4a6dd3 Implement puppet-server provisioner
This closely modeled after the same provisioner
in Vagrant.
2014-01-08 12:50:24 +01:00
Mitchell Hashimoto 525802e9e6 provisioner/ansible-local: templates for role, playbook paths [GH-749] 2013-12-27 08:29:31 -07:00
Mitchell Hashimoto 4d3c9e7104 Merge pull request #726 from rocketnova/master
provisioner/chef-solo: Chef environment doesn't work for chef-solo
2013-12-18 08:40:13 -08:00
Sudharshan S e8d1cc8e31 Fix Puppet Provisioner crash when HieraConfigPath or ManifestDir is specified
Prevents the following error,
Build 'amazon-instance' errored: template: tpl11:1:103: executing "tpl11" at <.HieraConfigPath>: HieraConfigPath has arguments but cannot be invoked as function
2013-12-18 19:33:43 +05:30
Rocket bb8e9ad71c Change chef environment to work for chef-solo. 2013-12-17 17:15:37 -08:00
Jake Good b76a116823 Fix Ansible-local provisioner configuration check for 'playbook_paths' as it was checking for files, not paths 2013-12-12 14:13:23 -06:00
Mitchell Hashimoto 962cedd04c fmt 2013-12-11 13:43:59 -08:00
Mitchell Hashimoto 10546f6aee provisioner/puppet-masterless: fix compile 2013-12-11 13:22:00 -08:00
Mitchell Hashimoto 895d87d9eb provisioner/puppet-masterless: use Go 1.2 template comparators 2013-12-11 12:39:02 -08:00
Mitchell Hashimoto 3a2c04e4e5 provisioner/puppet-masterless: validate manifest_dir is a dir 2013-12-11 11:21:51 -08:00
Mitchell Hashimoto 2986452804 provisioner/puppet-masterless: simplify manifest dir upload 2013-12-11 11:20:22 -08:00
Jan Brauer afd0aea8df Merge branch 'master' into configure-manifest-dir 2013-12-10 09:08:11 +01:00
Mitchell Hashimoto 956f49f439 provisioner/puppet-masterless: check for hiera config path [GH-656] 2013-12-06 19:30:06 -08:00
Jan Brauer 1a191044e7 Return targetPath 2013-11-25 22:32:14 +01:00
Jan Brauer 8beaae0d0e #450 - allow configuration of manifest dir 2013-11-25 08:52:41 +01:00
Mitchell Hashimoto 7472507962 provisioner/chef-solo: test for encrypted data bag secret path config
/cc @matheeeny - Tests :)
2013-11-18 15:48:13 -08:00
Mitchell Hashimoto d56eec8852 provisioner/chef-solo: naming nitpick
/cc @matheeeny - I prefer to be more explicit and say this is the path,
rather than the secret value itself.
2013-11-18 15:46:37 -08:00
Andrew Matheny 6dfcf2b347 Add support for passing encrypted data bag secret to chef-solo
Adds additional option to chef-solo provisioner for an encrypted data bag
secret file.  Local file is copied up and referenced in solo.rb
2013-11-13 13:39:29 -05:00
Mitchell Hashimoto 457b99db3f provisioner/chef-solo: Say using Chef-solo 2013-11-09 18:47:20 -08:00
Mitchell Hashimoto d94cff93da Merge pull request #475 from kelseyhightower/ansible-provisioner
provisioner/ansible-local: Add support for provisioning with Ansible
2013-10-20 17:46:36 -07:00
Mitchell Hashimoto d1c497676a Merge pull request #514 from rgarcia/salt-masterless-uploaddir
provisioner/salt-masterless: use communicator.UploadDir
2013-10-20 17:42:38 -07:00
Mitchell Hashimoto 75bdba7f97 Merge pull request #513 from rgarcia/salt-masterless-mv-bug
provisioner/salt-masterless: move states to /srv/salt, not /srv/salt/states
2013-10-20 17:40:27 -07:00
Mitchell Hashimoto 528ae09c37 provisioner/shell: comment on why we return right away if advance == 0
/cc @mwhooker
2013-10-15 09:48:12 -10:00
Mitchell Hashimoto f673ca52ba provisoiner/shell: append only needs to add a byte for UnixReader 2013-10-15 09:40:47 -10:00
Matthew Hooker 104f5049a7 provisioner/shell: fix EOF detection
Fixes #507

The scanUnixLine function was erroneously returning empty lines when EOF
was reached.
This commit adds a test for the problem and changes the scanUnixLine
function to elide the trailing \n if no content was read.
2013-10-15 05:56:10 -07:00
Rafael Garcia 32b9a305a1 provisioner/salt-masterless: use communicator.UploadDir 2013-10-09 18:51:30 -07:00
Rafael Garcia 76393ba285 provisioner/salt-masterless: move states to /srv/salt, not /srv/salt/states
Latest version copies local state tree to {tmp}/states and then executes `mv {tmp}/states /srv/salt/`. This creates a `/srv/salt/states` instead of the correct `/srv/salt` directory.
2013-10-09 13:49:30 -07:00
Mitchell Hashimoto ff970483c4 provisioner/shell: add more tests for UnixReader 2013-10-04 10:47:28 -07:00
Mitchell Hashimoto 5dfe27b40f provisioner/chef-solo: unused var 2013-10-02 08:29:12 -07:00
Mitchell Hashimoto 543a1a21e8 provisioner/chef-solo: alphabetize tests and such
/cc @netshade
2013-10-02 08:28:51 -07:00
Chris fd6415ddf5 formatting 2013-10-01 11:21:16 -04:00
Chris bc8e5d2c41 add environments_path and chef_environment support to chef provisioner 2013-10-01 11:20:36 -04:00
Matthew Hooker 0d1b936f69 Fix UnixReader panic on empty lines.
Added a test for the failure.

Most of the scanner code looks like it's a modified version of
bufio.ScanLines, so I changed it to use that but always add a line feed.
2013-10-01 09:06:01 +00:00
Jason A. Beranek b3d76b7945 provisioner/shell: fix provisioner to use UnixReader [GH-477]
Packer was using the original file reader when uploading, instead of the UnixReader /cc @mitchellh
2013-09-30 23:54:54 -05:00
Mitchell Hashimoto 89d165aae7 provisioner/shell: add another UnixReader test for sanity 2013-09-30 11:39:24 -07:00
Kelsey Hightower e7b7d71f16 Add tests for ansible provisioner default settings 2013-09-29 15:44:21 -07:00
Kelsey Hightower 4d241b96c1 Define the default staging dir using a const var 2013-09-29 15:42:42 -07:00
Kelsey Hightower 365f356a0b Add tests for ansible-local provisioner 2013-09-29 14:54:49 -07:00
Kelsey Hightower ea3677387e Add ansible-local provisioner 2013-09-29 13:38:37 -07:00
Kirill Kazakov be80edb28e provisioner/chef-solo: fix .RolesPath and .DataBagsPath in the config template 2013-09-27 19:13:55 +04:00
Mitchell Hashimoto 25924a2d2b provisioner/puppet-masterless: user variables in puppet vars [GH-448] 2013-09-21 18:28:14 -07:00
Mitchell Hashimoto abbac36796 provisioner/shell: convert windows line endings to Unix [GH-277] 2013-09-20 10:22:43 -07:00
Mitchell Hashimoto 677f2989b9 provisioner/chef-solo: template doesn't support comp [GH-442] 2013-09-19 11:54:24 -07:00
Mitchell Hashimoto 1b1b535ee5 provisioner/chef-solo: one test per test
/cc @jerryclinesmith
2013-09-18 14:19:50 -07:00
Mitchell Hashimoto ba9d85c744 provisioner/chef-solo: template process roles/data bags path
/cc @jerryclinesmith
2013-09-18 14:17:54 -07:00
Mitchell Hashimoto 7034f69f2c provisioner/chef-solo: move quoting to template
/cc @jerryclinesmith - I want the quoting to go into the template. I
realize the cookbooks path doesn't do this and you were following that.
That one is just weird because it is an array and Go templates kind of
suck.
2013-09-18 14:17:07 -07:00
Mitchell Hashimoto b2d5b15155 fmt 2013-09-18 14:14:18 -07:00
Mitchell Hashimoto 129f1290c1 Merge pull request #411 from jerryclinesmith/issue_348
provisioners/chef-solo: add support for roles and data_bags
2013-09-18 14:13:41 -07:00
Mitchell Hashimoto dc0232975d provisioner/chef-solo: ability to specify custom chef template 2013-09-15 23:29:29 -07:00
Jack Pearkes 8f5a185818 provisioner/puppet-masterless: remove duplicate manifest upload message 2013-09-13 14:54:28 +02:00
Justin Clayton cd2280f3bf facter vars no longer smush up against puppet command when prevent_sudo is true 2013-09-12 16:52:25 -07:00
Jerry Clinesmith fa2f277c67 #348: chef-solo provisioner: add support for data_bags and roles 2013-09-10 22:00:29 -05:00
Mitchell Hashimoto 8e44971b3d provisioner/puppet-masterless: proper exit code check 2013-09-09 15:04:13 -07:00
Mitchell Hashimoto a14a3fe3f1 provisioner/puppet-masterless: detailed exit codes 2013-09-09 15:04:13 -07:00
Mitchell Hashimoto c83fbc0b42 provisioner/puppet-masterless: better messaging 2013-09-09 14:03:40 -07:00
Mitchell Hashimoto adbb490189 provisioner/file: support uploading directories [GH-251] 2013-09-09 14:00:06 -07:00
Mitchell Hashimoto fd0df9ff58 provisioners/puppet-masterless: support hiera configs 2013-09-09 13:24:17 -07:00
Mitchell Hashimoto 41b70aae99 provisioner/puppet-masterless: support custom facts 2013-09-08 23:00:11 -07:00
Mitchell Hashimoto b92aed5577 provisioner/puppet-masterless: more sane messaging 2013-09-07 23:43:06 -07:00
Mitchell Hashimoto 023678fe7b provisioner/puppet-masterless: more validation and tests 2013-09-07 23:31:28 -07:00
Mitchell Hashimoto d854b08642 provisioner/puppet-masterless: rework internals, use SCP 2013-09-07 23:08:56 -07:00
Mitchell Hashimoto 5079fd4f0b Rename puppet provisioner to puppet-masterless 2013-09-07 22:27:25 -07:00
James Turnbull d37f287f8c Added basic Puppet provisioner 2013-09-03 08:39:49 -04:00
Mitchell Hashimoto 28bf6122bd provisioner/*: implement Cancel 2013-08-30 23:23:36 -07:00
Mitchell Hashimoto 55b0b586d3 provisioner/chef-solo: code re-org 2013-08-30 16:35:57 -07:00
Mitchell Hashimoto 662e74d070 provisioner/chef-solo: properly escape user vars for JSON
/cc @mwhooker - I moved the processing up into Prepare so that any
errors will be shown during a validate pass. Also, I escape some stuff
in keys. Tests moved as well.
2013-08-30 16:05:04 -07:00
Mitchell Hashimoto 6914baa473 Merge pull request #364 from mwhooker/362
provisioner/chef-solo: template expansion of `json`
2013-08-30 15:26:39 -07:00
Mitchell Hashimoto 404ae53a4a provisioner/salt-masterless: join paths properly 2013-08-30 14:26:29 -07:00
Matthew Hooker 9537f085ae clean up and retab. 2013-08-28 17:35:43 -07:00
Matthew Hooker 4b76b2d9e3 template expansion of `json` in chef-solo
Fixes #362
2013-08-28 17:27:22 -07:00
Mitchell Hashimoto b4b68bce00 Merge branch 'fix-minion-config-with-non-tmp-dir' of https://github.com/rach/packer into rach-fix-minion-config-with-non-tmp-dir
Conflicts:
	provisioner/salt-masterless/provisioner.go
2013-08-27 20:21:02 -07:00
Mitchell Hashimoto 64fe98c465 provisioner/chef-solo: template process the configuration 2013-08-27 17:41:49 -07:00
Mitchell Hashimoto c9ef66651b fmt 2013-08-27 17:37:29 -07:00
Mitchell Hashimoto a8694fdda8 Merge pull request #353 from rach/add-setting-for-pillar-folder
provisioner/salt-masterless: Add setting for pillar folder
2013-08-27 17:36:28 -07:00
Rachid Belaid a755be49fa Add doc and change pillar tree in roots to respect salt vocabulary 2013-08-28 01:01:37 +01:00
Rachid Belaid 7bdb5f9cfb Add setting for pillar folder to respect saltstack structure 2013-08-28 00:38:36 +01:00
Rachid Belaid 40af1e681a Fix minion config with non tmp dir 2013-08-27 23:49:04 +01:00
Mitchell Hashimoto 3b097f9805 provisioner/chef-solo: use proper exceute command 2013-08-27 14:35:11 -07:00
Mitchell Hashimoto 87dde46413 provisioner/chef-solo: remove unused constants and variables 2013-08-27 13:32:59 -07:00
Mitchell Hashimoto e72c06a740 provisioner/chef-solo: upload cookbooks 2013-08-27 13:27:20 -07:00
Mitchell Hashimoto 607372f75a provisioner/chef-solo: massive refactor and style nitpick 2013-08-27 13:27:20 -07:00
Mitchell Hashimoto 4a5a8c6006 provisioner/chef-solo: installChef fixed up to use tpl and StartWithUi 2013-08-27 13:27:20 -07:00
Mitchell Hashimoto 585cee9b4c Merge branch 'provisioner-chef-solo' of https://github.com/jvandyke/packer into jvandyke-provisioner-chef-solo
Conflicts:
	config.go
2013-08-25 20:49:53 -07:00
Mitchell Hashimoto 095631107a communicator/ssh: UploadDir works properly 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 80e36f11b9 provisioner/salt-masterless: fix the build 2013-08-23 15:58:30 -07:00
Rachid Belaid 3cb3a7cd30 Fix #264 to upload local minion config
Conflicts:
	provisioner/salt-masterless/provisioner.go
	website/source/docs/provisioners/salt.html.markdown
2013-08-23 15:41:11 -07:00
Mitchell Hashimoto a46c7afcf7 provisioner/shell: retry the upload if command fails as well
This improves reboot handling robustness
2013-08-23 11:21:20 -07:00
Mitchell Hashimoto 717746ce4f provisioner/shell: retry uploads if reboot [GH-282] 2013-08-19 23:02:06 -07:00
Mitchell Hashimoto 64d87bfaf3 *: switch to packer ConfigTemplate 2013-08-15 19:17:23 -07:00
Mitchell Hashimoto 3ea4c720b1 provisioner/salt-masterless: switch replace to that prior replace works
/cc @markpeek
2013-08-12 17:10:50 -07:00
Mitchell Hashimoto d60b769217 provisioner/salt-masterless: replace windows slash with linux [GH-276] 2013-08-12 16:26:46 -07:00
Mitchell Hashimoto 21f92715c0 provisioner/shell: start_retry_timeout for reboot handling [GH-260] 2013-08-12 15:49:55 -07:00
Mitchell Hashimoto 769c349def provisioner/salt-masterless: nice error even if bad exit status
/cc @rgarcia
2013-08-12 09:19:11 -07:00
Mitchell Hashimoto fb6d2754da packer: Add Machine func to Ui 2013-08-11 18:16:00 -07:00
Mitchell Hashimoto ffa7dff585 fmt 2013-08-11 16:17:59 -07:00
Rach Belaid 23b856332e #269 Make local_state_tree option not mandatory
Update and rename salt.html.markdown to salt-masterless.html.markdown
salt.html.markdown had a better history and formatting
And remove local_state_tree from required option from code and docs
2013-08-10 16:18:57 +01:00
Mitchell Hashimoto adfb6caa2b provisioner/salt-masterless: error if any commands exit with non-zero
[GH-266]

/cc @rgarcia
2013-08-09 17:35:57 -07:00
Mitchell Hashimoto 72a7a5e69c provisioner/salt-masterless: don't delete states [GH-265] 2013-08-09 17:01:39 -07:00
Mitchell Hashimoto 55ad0058bc provisioner/salt-masterless: convert to new template stuff + user vars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto 332bdf6edc builder/*, provisioner/*: set user vars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto 3f1af409e2 provisioner/shell: tests passing and compiling 2013-08-08 17:25:26 -07:00
Mitchell Hashimoto f4b0e2248f provisioner/shell: convert to latest template stuff 2013-08-08 17:25:26 -07:00
Mitchell Hashimoto bf67c6c36e provisioner/file: use the template processing stuff 2013-08-08 17:25:26 -07:00
Rafael Garcia ec556044cd provisioner/file: state of the art config decoding 2013-08-06 15:30:49 -07:00
Rafael Garcia 25af1c8bd4 provisioner/shell: state of the art config decoding 2013-08-06 15:30:36 -07:00
Mitchell Hashimoto 5b7d8fbc74 rename builder/common to common since it is generally useful 2013-08-01 12:11:54 -07:00
Mitchell Hashimoto 25183e7702 provisioner/salt-masterless: remove Ui
/cc @rgarcia Should just pass it in as a param
2013-08-01 10:06:38 -07:00
Mitchell Hashimoto f7cbdf4112 provisioner/salt-masterless: verify local_state_tree exists
/cc @rgarcia
2013-07-31 23:11:08 -07:00
Mitchell Hashimoto 104fe91b48 provisioner/salt-masterless: use Messages for minor steps
/cc @rgarcia - "Message" in Ui is the non-bold colored messages and
are meant for sub-messages or steps part of a larger message. "Say"
is used for the bold stuff. This is more in line wit how Packer works.
2013-07-31 23:07:15 -07:00
Mitchell Hashimoto f3331afb1c provisioner/salt-masterless: don't capitalize Ui
/cc @rgarcia - Not sure why this was capitalized to begin with
2013-07-31 23:06:22 -07:00
Mitchell Hashimoto 7e5c64ca7f provisioner/salt-masterless: use common lib for config decoding
/cc @rgarcia - Since you opened the pull request, common config
decoding stuff has been pulled out into the common Package. This
simplifies a lot of code.
2013-07-31 23:05:15 -07:00
Mitchell Hashimoto aacca7d066 provisoner/salt-masterless: lowercase package name
/cc @rgarcia - I don't know of any Go packages that follow this naming
convention so I just lowercased it.
2013-07-31 23:01:03 -07:00
Rafael Garcia 29993b30e4 provisioner/salt-masterless: rename 2013-07-28 23:30:03 -07:00
Rafael Garcia 7019281ad6 provisioner/salt: use cmd.StartWithUi 2013-07-27 18:12:18 -07:00
Rafael Garcia 5feadedba2 provisioner/salt: simple tests 2013-07-27 00:14:32 -07:00
Rafael Garcia 9c25bb5cd7 provisioner/salt: put state tree temporarily in /tmp/salt by default 2013-07-27 00:14:32 -07:00
Rafael Garcia 8f0d4890d9 provisioner/salt: copy local state tree to remote, run highstate 2013-07-27 00:14:32 -07:00
Rafael Garcia a74a515aa7 provisioner/salt: pass args to bootstrap 2013-07-27 00:14:32 -07:00
Rafael Garcia 361d7fbf8e provisioner/salt: install salt 2013-07-27 00:14:32 -07:00
Mitchell Hashimoto b64a2532f4 provisioner/shell: use StartWithUi 2013-07-23 22:44:32 -05:00
Mark Peek 0403932315 Log an upload error closer to when it occurs
When there is an error returned from the Upload it is propagated back
to the main loop and may have additional log messages before the actual
error is displayed. This displays a log message close to where the error
actually occurred.
2013-07-17 18:17:46 -07:00
James Van Dyke 74f36aaebd Remove debugging statement. 2013-07-15 16:38:26 -04:00
Mitchell Hashimoto 0b5f4d9d17 provisioner/shell: make build name and builder type env vars [GH-154] 2013-07-15 10:07:49 +09:00
Mitchell Hashimoto 3b4ef72e47 Unused keys are invalid in templates [GH-104] 2013-07-14 09:28:56 +09:00
James Van Dyke adaceb7766 Remove redundant code and clean up some string concatenation.
Clean up Say statements.
2013-07-12 11:09:52 -04:00
James Van Dyke 6a1d1cfb70 Improve logging.
Correct behavior for undefined recipe list.
Correct package name to upstream repo.
2013-07-11 12:22:15 -04:00
James Van Dyke 0d33f9ae08 Add basic test file for provisioner-chef-solo. 2013-07-11 10:47:51 -04:00
James Van Dyke 355fdecafa Merge remote-tracking branch 'upstream/master' into provisioner-chef-solo
Conflicts:
	config.go

Add the chef-solo provisioner back to config.go.
Fix import path for chef-solo provisioner.
2013-07-10 08:58:00 -04:00
Mitchell Hashimoto 1745d4e831 provisioner/shell: close source script file handle 2013-07-07 20:50:53 -07:00
Mitchell Hashimoto b22743767e provisioner/shell: inline_shebang for inline scripts 2013-07-07 17:52:20 -07:00
Mitchell Hashimoto 6a5bbaa05d Merge pull request #133 from ubermuda/provisioner/shell/script-execution
provisioner/shell: execute script directly instead of using /bin/sh
2013-07-07 17:47:25 -07:00
James Van Dyke 13da0ef49b Rename configuration `avoid_sudo` to `prevent_sudo` 2013-07-06 00:37:59 -04:00
James Van Dyke c24e74c699 Remove errant die statement. 2013-07-06 00:17:28 -04:00
James Van Dyke 6e1e92f14f Implement `skip_install` configuration to skip Chef installation. 2013-07-06 00:15:21 -04:00
James Van Dyke 4e1d0f5a12 Implement `avoid_sudo` configuration option. 2013-07-05 23:56:51 -04:00
James Van Dyke 5f81e605e8 Rename configuration `cookbook_paths` to `cookbooks_paths` to
conform to Vagrant wording.
Remove configuration `cookbook_path` to simplify some things.
2013-07-05 22:33:24 -04:00
James Van Dyke 543fdbd8c2 Make JSON attributes work with real JSON! 2013-07-05 21:57:56 -04:00
Mitchell Hashimoto 1a2e4f9d0b fmt 2013-07-05 11:00:18 -07:00
James Van Dyke 712fd1f8fd First pass at Chef Solo provisioner. 2013-07-05 00:26:48 -04:00
Mitchell Hashimoto 32aabb6ea2 provisioner/file: style nitpicks
/cc @ericlathrop
2013-07-04 12:50:00 -07:00
Eric Lathrop 3957d3dadc Implement file upload provisioner per #118. 2013-07-04 15:16:17 -04:00
Geoffrey Bachelet 43db2c23eb provisioner/shell: execute script directly instead of using /bin/sh 2013-07-03 20:17:31 -04:00
Mitchell Hashimoto 919c3935e1 Merge branch 'shell-env-vars'
Conflicts:
	website/source/docs/provisioners/shell.html.markdown
2013-06-28 08:20:12 -04:00
Jack Pearkes d64797cc44 provisioner/shell: remove check for empty env vars config 2013-06-28 14:11:27 +02:00
Mitchell Hashimoto 17d0f5f71b provisioner/shell: rename "path" to "script" 2013-06-27 10:56:46 -07:00
Jack Pearkes e9d8e9f537 provisioner/shell: add support for environment variables to be injected 2013-06-27 14:42:14 +02:00
Mitchell Hashimoto 8cb2fd761e provisioner/shell: Error if a script fails 2013-06-26 17:52:49 -07:00
Mitchell Hashimoto e8cbb9f9b6 provisioner/shell: Error message if provisioning fails 2013-06-23 17:37:44 -07:00
Mitchell Hashimoto 9367df4a3f provisioner/shell: copy the scripts [GH-29] 2013-06-23 11:56:49 -07:00
Mitchell Hashimoto 7797676091 provisioner/shell: can specify multiple scripts to provision with 2013-06-20 13:45:54 -07:00
Mitchell Hashimoto 417f7e7f47 fmt 2013-06-11 14:09:31 -07:00
Mitchell Hashimoto 59b5902619 provisioner/shell: Support inline commands 2013-06-11 13:52:32 -07:00
Mitchell Hashimoto 690954cb51 provisioner/shell: validation 2013-06-11 13:42:15 -07:00
Mitchell Hashimoto 4a8278d49b provisioner/shell: Support setting the execute command 2013-06-06 23:14:31 -07:00
Mitchell Hashimoto e9b552ba18 provisioner/shell: Remove TODO since we handled it 2013-06-06 22:39:52 -07:00
Mitchell Hashimoto 0a6d8ed75a packer: Add errors to Prepare 2013-06-06 17:07:42 -07:00
Mitchell Hashimoto 6b87c42ee6 packer: Change provisioner interface to take array of configs 2013-06-06 17:01:12 -07:00
Mitchell Hashimoto c5d539ef13 command/build: Better prefixes 2013-06-03 11:40:08 -07:00
Mitchell Hashimoto 37937c1290 provisioner/shell: Use RemoteCmd.Wait 2013-06-03 10:56:12 -07:00
Mitchell Hashimoto fdda64f48e provisioner/shell: Trim whitespace on output 2013-06-02 23:39:04 -07:00
Mitchell Hashimoto 684df67ca6 provisioner/shell: Adhere to new communicator API 2013-06-02 23:34:55 -07:00
Mitchell Hashimoto ffcb7afbee provisioner/shell: Properly handle closed channels in select 2013-06-02 19:03:26 -07:00
Mitchell Hashimoto cf732a913d provisioner/shell: stream output in real time 2013-06-01 21:59:33 -07:00
Mitchell Hashimoto ace53450b9 packer: More efficient RemoteCommand.ExitChan 2013-06-01 17:57:26 -07:00
Mitchell Hashimoto 9ebf0435ff provisioner/shell: Basic run 2013-05-27 21:54:19 -07:00
Mitchell Hashimoto f726ea2800 provisioner/shell: Start working on shell provisioner 2013-05-27 15:06:34 -07:00
Mitchell Hashimoto 46a058572b provisioner/shell and plugin/provisioner-shell 2013-05-23 22:38:40 -07:00