Commit Graph

377 Commits

Author SHA1 Message Date
Billie H. Cleek f760ab2fd8 Make SCP the default for provisioner/ansible
Add a new option, `use_sftp` to the ansible provisioner. It's default
value is false; ansible provisioner will use SCP by default.

Refactor to consistently set all configure options for ansible
provisioner in the Prepare step.

Remove incorrect information about `ANSIBLE_HOST_KEY_CHECKING=False`
being set when `ansible_env_vars` is not set in the packer template.

Update BATS tests for the ansible provisioner to actually check that the
fetched directory contains the contents expected. This revealed a
problem with the all_options template that required adding a host to the
hosts list in the test playbook.
2016-09-11 23:58:31 -07:00
Billie H. Cleek e6a0e523e2 refactor sftp subsystem request handling
Refactor the sftp subsystem request handling to make it more similar to
an exec request. This simplifies and improves the readability of the
code.
2016-09-11 23:58:31 -07:00
Billie H. Cleek da223b9539 add scp support to ansible provisioner
Handle running `scp -t` and `scp -f` exec requests in the
ansible-provisioner's SSH
server to allow Ansible to use SCP so that SFTP doesn't have to be
installed on the node.

Update the BATS tests to test the ansible provisioner.
2016-09-11 23:58:31 -07:00
Spencer Owen 9963bfcd42 removes unneeded white space 2016-09-01 13:39:44 -06:00
Spencer Owen 7fdd303641 Installs 64bit chef on windows if available
Resolves #3847

- Changes linux install url to new omnitruck.chef.io url. 
- Changes powershell install to use omnitruck url instead of hard coded to 32bit msi install.
2016-09-01 13:23:08 -06:00
Rickard von Essen d1e38052f7 Merge pull request #3350 from JoakimLofgren/add-support-for-ansible-galaxy
Add support for ansible-galaxy
2016-09-01 20:51:17 +02:00
Billie Cleek 023f2edde8 add better logging and error handling to ansible provisioner (#3477) 2016-08-24 19:53:39 +02:00
Chris Bednarski 32cbb515b5 Merge pull request #3692 from mohae/3474-file-mkdir-all
3474 file mkdir all
2016-07-07 16:44:15 -07:00
Joel Scoble 94d158b0b7 remove debug fmt.Print from test 2016-07-07 18:12:54 -05:00
Ricard Clau 049fb2d9c1 actually check for errors in functional tests 2016-07-07 20:01:23 +01:00
Ricard Clau 0c81e49f83 Adding a functional test with an Ansible message very long 2016-07-07 01:12:57 +01:00
Chris Bednarski 664e640257 Merge pull request #3392 from msteinhoff/fix-ansible-provisioner-long-lines
Fix Scanner buffer too long error in ansible-remote provisioner
2016-07-06 15:27:57 -07:00
Joel Scoble 999b8b2ed0 file provisioner: download should create all dirs in the destination path 2016-07-06 15:42:26 -05:00
Jamie Snell 7b3224f3c7 rename KnifeChefTemplate to KnifeTemplate 2016-06-14 13:42:53 -05:00
Jamie Snell 4847e891b0 Fix knife clean-up run on windows 2016-06-14 13:34:25 -05:00
Tom Asquith 40aa2b9973 added support for specifying an execute command to the puppet-server provisioner. 2016-06-13 14:12:28 +01:00
Billie Cleek 49067e732a append ANSIBLE_HOST_KEY_CHECKING correctly (#3568)
Append the ANSIBLE_HOST_KEY_CHECKING environment variable correctly
regardless of whether the template specifies some environment variables.
2016-05-24 15:34:51 -07:00
Justin Nauman f2b0fabe66 Fixes #3466 - Remote path needs to be set prior to config interpolation (#3468) 2016-04-29 19:21:27 -07:00
Ian Duffy 7e653370b7 Seperate remote_path into remote_folder and remote_script. (#3462)
Commonly /tmp is set as noexec, as a result packer scripts
fail to run. In order to get around this one can set a
remote_path, whoever, remote path requires full filename
and path.

By making remote_path a combination of
remote_folder/remote_script we can change remote_folder
and keep the default script_nnn.sh

Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-04-26 16:04:29 -07:00
Mario Steinhoff b5f6e379f0 Fix Scanner buffer too long error in ansible-remote provisioner
Ansible may produce very long lines which Scanner can not handle. This
replaces the Scanner with a Reader and uses the ReadString method to
read an arbitrary large line from the ansible-playbook stdout pipe.
2016-03-28 21:27:42 +02:00
Joakim Löfgren 1172e670c0 Add support for ansible-galaxy
This adds "galaxy_file" to the options

Implement #3301
2016-03-14 18:26:56 +01:00
Keyan Pishdadian f3811cb99d Add ignore_exit_codes param for puppet-masterless provisioner 2016-03-13 23:39:18 -04:00
Rickard von Essen d59844f0d1 Determine current user without CGO. 2016-03-07 13:35:24 +01:00
Rickard von Essen 7369841e63 Ansible: add the support for specifying ansible_user
Closes #3273
2016-03-07 13:35:24 +01:00
Rickard von Essen d6716f6ee1 Ansible: don't use deprecated ssh options when ver above 2.0
Ansible 2.0 deprecated ansible_ssh_user, ansible_ssh_port, ansible_ssh_host
instead use ansible_user, ansible_port, and ansible_host in the
inventory file.

Closes #3275
2016-03-07 13:26:22 +01:00
Rickard von Essen f823725e53 Ansible: os.Environ() should always be passed to the ansible command.
Fixes GH-3271

Regression introduced in GH-3203
2016-02-26 20:49:37 +01:00
Vespian 4750da3457 Add empty_groups param to ansible provisioner 2016-02-19 23:46:50 +01:00
Marat Bakeev 2791542171 Allow specifying environment variables for ansible provisioner 2016-02-15 13:07:02 +13:00
Chris Bednarski 6dd02e7912 Update ansible test to use the new Downloader interface 2016-02-12 14:53:23 -08:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Chris Bednarski d8aaf6175f Merge pull request #2470 from jsoriano/puppet-masterless-clean-staging
Puppet masterless provisioner optionally cleans staging directory
2016-02-11 17:39:35 -08:00
Chris Bednarski 3ae867446d Merge pull request #2660 from mafrosis/saltp
Salt provisioner updates
2016-02-11 16:37:06 -08:00
Billie H. Cleek 0cd54ed19e add options to configure host alias and groups 2016-02-10 23:33:14 -08:00
Chris Bednarski a6552f7c75 Merge pull request #3166 from ephemeralsnow/master
Add chmod to chef-solo provisioner
2016-02-10 19:23:47 -08:00
Billie Cleek a5ab53bf5e update ansible tests
Update tests to account for changes made in #3149
2016-02-10 14:16:02 -08:00
Billie Cleek a23610ef41 cleanup ansible provisioner key generation
* Clearly separate host signer and user key generation into separate
  functions and data structures.

* Remove inaccurate comment about needing to specify both files if
  either one is specified.

* Rename parameters for clarity according to their meaning to the
  callee.

* Style the code with gofmt.
2016-02-10 14:16:02 -08:00
ephemeralsnow 3de8561a75 Add chmod to chef-solo provisioner 2016-02-09 20:06:26 +09:00
Chris Bednarski 569e6cc464 go fmt 2016-02-08 17:34:06 -08:00
Marat Bakeev c95b2b483f Merge branch ansible-provisioner of https://github.com/dkhenry/packer 2016-02-05 15:40:17 +13:00
Chris Bednarski 114bddfe36 Merge branch 'master' of https://github.com/mitchellh/packer 2016-02-01 13:28:56 -08:00
Chris Bednarski 1f6749096a Restore missing interpolation after merging ansible remote; fixes #3138 2016-02-01 13:28:49 -08:00
Billie H. Cleek bf3c294326 listen on system chosen port
Change the default for LocalPort to "0", so that the listener will be a
system chosen port.
2016-01-28 22:22:12 -08:00
Chris Bednarski 15f99a4aee Merge branch 'ansible-provisioner' of https://github.com/bhcleek/packer into f-ansible 2016-01-28 15:16:54 -08:00
Chris Bednarski 87532b1b00 Merge branch 'chef-provisioner-windows' of https://github.com/sneal/packer into f-chef-provisioner-windows 2016-01-28 14:55:17 -08:00
Matt Black 33071150c1 Salt provisioner: option to set logging level on Salt highstate run 2016-01-26 13:09:15 +00:00
Matt Black 9ccf298be9 Salt provisioner: option to ignore salt highstate failures fixes #2486 2016-01-26 13:09:15 +00:00
Matt Black 5cd15b52c5 Salt provisioner: dynamic command line args passed onto salt-call fixes #2652 2016-01-26 13:09:15 +00:00
Matt Black 7cb802f8a0 Salt provisioner: improved inputs validation 2016-01-26 13:09:15 +00:00
Chris Bednarski 3eabc6253d Merge pull request #2653 from evertrue/evertrue/eherot/add_data_bag_secret_to_chef_client
Chef-client provisioner: Add encrypted data bag secret path (Fixes #1945)
2016-01-13 13:59:48 -08:00
Billie Cleek 77c48678d6 eliminate possible race conditions
Eliminate race-y use of the packer.Ui interface by wrapping it in a
concurrency-safe implementation.
2015-12-19 15:15:19 -08:00