Commit Graph

289 Commits

Author SHA1 Message Date
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