259 Commits

Author SHA1 Message Date
hashicorp-copywrite[bot]
36a312ee26
add missing license headers and update copyright file headers to BUS-1.1 2023-08-10 21:53:25 +01:00
Allison Larson
2fa539e499 Salt: Download & verify shasum of default bootstrap-salt file 2023-05-19 16:09:46 -07:00
Moritz Heiber
5f82adf122
Replace python with python3, which is a common convention (and Ansible only works with Python 3) 2023-01-11 11:01:55 +01:00
Moritz Heiber
76ef7d3dc8
Fix installing Ansible provisioner with version and pip 2023-01-10 14:05:44 +01:00
sophia
9743c85748 Only check for arguments matching test string if the argument is a string
This issue surfaced in the tests after updating to Ruby 3.2.0 where
the =~ operator has been removed.

ref: cca54c8b1b/NEWS.md (L498)
2023-01-03 16:01:20 -08:00
Chris Roberts
ca7c05f09d Fix ansible install for older distributions
Before installing dependencies run a check for the python-dev-is-python3
package and only install it if found (otherwise use python-dev). This
allows older versions of debian (and derivatives) to properly install
the defined dependencies.
2022-12-08 17:10:00 -08:00
Chris Roberts
3c75864ce9 Fix ansible shared test helper 2022-11-11 17:00:19 -08:00
Chris Roberts
0209cd21f9
Merge pull request #12832 from teh-syntax/main
Fixed issue provisioning ubuntu 22.04 python-dev has no install candidate
2022-11-08 15:25:22 -08:00
Nicolas St-Laurent
6f9f88e055 Replace deprecated File.exists? with File.exist?. 2022-09-22 08:54:46 -04:00
Robert McMahon
3f2d648691 Fixed issue provisioning ubuntu 22.04 python-dev has no install candidate 2022-08-06 20:24:17 -04:00
Collin McNeese
692cb1ae34
Updates install checks for Chef provisioners
Signed-off-by: Collin McNeese <cmcneese@chef.io>
2021-10-24 11:38:59 -05:00
Chris Roberts
bbd1404c1e
Merge pull request #12437 from chrisroberts/line-buf-shell-util
Line buffer utility and shell provisioner usage
2021-06-29 13:11:19 -07:00
Chris Roberts
aee58785b2 Add tests on provisioner to validate expected output behavior 2021-06-29 11:04:14 -07:00
Chris Roberts
3d0d0148e9 Update tests to use real UI instance
Replaces use of UI doubles within tests to use actual UI instance
    to ensure calls are passing parameters correctly.
2021-06-23 14:04:48 -07:00
Chris Roberts
e7a6f397da Updates for Ruby 3.0 2021-06-21 15:57:46 -07:00
sophia
fecfe86cb8 Strip whitespace from ansible version
Note: strip! returns nil if there is nothing to be stripped
2021-06-15 15:24:39 -05:00
Philipp Panzer
afa71702e2
add test for ansible core version format 2021-05-25 23:40:04 +02:00
sophia
7c8e204b8c Use test doubles instead of 'true' 2021-03-10 16:44:20 -06:00
Sergey Yelin
e95a7f3e8a
FreeBSD updated ansible to py37-ansible 2021-02-20 18:35:07 +03:00
Chris Roberts
5003bb6e15 Updates to address all Ruby deprecations and warnings
This includes updates for resolving all warnings provided by Ruby
for deprecations and/or removed methods. It also enables support
for Ruby 2.7 in the specification constraint as all 2.7 related
warnings are resolved with this changeset.
2020-08-10 13:05:41 -07:00
sophia
f69f87625a Allow docker run images to specify version with ':' 2020-08-06 10:25:19 -05:00
sophia
fb2470f48d Ensure shell provisioner gets extension specified in path config if exists 2020-05-26 16:35:31 -04:00
Brian Cain
3934a26c29
Fixes #11606: Mock out guest capabilities instead of running them
This commit fixes a test that only fails on certain users machines where
Vagrant ends up trying to run real guest capabilities to test if the
docker provisioner raises an error if the provisioner install failed. It
fixes it by mocking out the expected return values for those
capabilities rather than relying on them actually running for this
specific unit test.
2020-05-11 08:01:29 -07:00
Sophia Castellarin
238f5469b5
Merge pull request #11584 from soapy1/podman-install
Seperate podman centos and rhel install
2020-05-07 11:57:51 -04:00
sophia
7ffe2d92e9 Add test for installing 2020-05-07 11:39:08 -04:00
sophia
5124ec1cf9 Test docker installer and ensure that all caps are valid 2020-05-06 15:02:15 -04:00
sophia
13bb29af2b Don't warn on ansible compatability mode 2020-04-28 10:48:25 -04:00
Jeff Bonhag
2c4a40fccb
Fix issues with shell provisioner when WinSSH shell is set to cmd (#11547)
This commit fixes a couple of issues with the shell provisioner when the
WinSSH shell is set to cmd:

- A check for the .bat extension returned by File.extname
- Execute inline scripts with PowerShell when upload_path ends with .ps1

* Ensure script has correct extension

Co-Authored-By: Sophia Castellarin <sophia@hashicorp.com>
2020-04-24 15:56:27 -04:00
Sophia Castellarin
c89b68b06d
Merge pull request #11517 from soapy1/win-shell-provisioner-fail
Ensure windows files get an extension
2020-04-20 12:38:06 -04:00
sophia
4d516e2cae Test provision_winssh 2020-04-17 13:11:57 -04:00
Chris Roberts
c0f8a54924
Merge pull request #11436 from hvnsweeting/patch-1
Allow to specify python_version
2020-04-17 08:55:20 -07:00
sophia
2ddd12047c Ensure windows files get an extension 2020-04-17 10:31:24 -04:00
Sophia Castellarin
1fb3f30145
Merge pull request #11472 from soapy1/podman-provisioner
Add podman provisioner
2020-04-17 09:48:12 -04:00
Chris Roberts
84b309db32 Include test coverage on python value behavior 2020-04-16 17:25:55 -07:00
Viet Hung Nguyen
34993753fe Fix test 2020-04-16 17:16:07 -07:00
Brian Cain
dda2c8f913
Merge pull request #11411 from thunder-spb/alpine-ansbile-support
Alpine capability for Ansbile support
2020-04-08 09:43:53 -07:00
sophia
bcce2f720d Add option to install from kubic 2020-04-06 10:13:57 -04:00
Alexzander thunder Shevchenko
4caa5e1434 Setting python version back to 3.x since there some issues with Ansible version detection for pip installation. 2020-04-05 15:03:01 +03:00
Alexzander thunder Shevchenko
d1d214f6e2 Set python version to 2.7 as all other ansible provisioners do 2020-04-05 14:46:33 +03:00
Alexzander thunder Shevchenko
76e098039b Update tests to support pip installation via get_pip script 2020-04-05 14:28:44 +03:00
sophia
5c7fbb50e8 Test container provisioner plugin 2020-03-30 17:41:53 -04:00
Alexzander thunder Shevchenko
70e7d09718 Alpine Ansible Capability tests 2020-03-07 16:32:28 +03:00
Jeff Bonhag
85f0fce57a Allow #provision_winrm to modify upload_path
We need to ensure that Windows files have an extension when provisioning
via WinRM.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
d1ad67e333 No need to explicitly set UNSET_VALUE 2020-03-04 15:08:03 -08:00
Jeff Bonhag
4b7d55afaa Fixup paths to work with server-side Bash
This commit normalizes our Windows paths to use `/` instead of `\`.
These paths are compatible with both cmd and PowerShell, and are
required if the server-side shell is set to Bash.

The OpenSSH server executes all commands inside a default login shell
which cannot be controlled by the Vagrant configuration. So what ends up
getting executed on the server side looks something like this:

    "c:\\program files\\git\\bin\\bash.exe" -c "C:\\Windows\\Temp\\vagrant-ssh20200130-41670-1w5nsjy.bat"

By flipping the direction of the directory slashes, we end up with:

    "c:\\program files\\git\\bin\\bash.exe" -c "C:/Windows/Temp/vagrant-ssh20200130-43415-f1d5n2.bat"

This works whether the server-side shell is set to cmd, powershell, or
bash.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
8affdd24b6 Wire up inline command for popular Windows shells
* Remove connection between shell provisioner directory config and WinSSH
directory config because these should remain separate.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
df7c11a3a7 Fix issues with Windows SSH provisioner
Windows commands that run over SSH are wrapped in a script that writes a
special marker to the two output streams (stdout and stderr).  This
allows Vagrant to consume the output streams.

Unfortunately, this leads to a sort of chicken-and-egg problem where no
commands can be run before a wrapper script exists. For example, you
can't make a destination directory to upload the wrapper script without
first creating a wrapper script to make the directory. :)

This commit changes the behavior of the WinSSH communicator to assume
that the destination directory already exists for provisioning scripts.

It also moves the default `upload_path` from the shell provisioner
config so we can have OS-specific defaults.

Finally, it introduces a Windows-specific #upload method which will
properly use a Windows path separator on a non-Windows host.
2020-03-04 15:08:03 -08:00
Brian Cain
7d667c9dea
Update ansible install tests 2019-12-17 13:34:52 -08:00
Brian Cain
0c0352201d
Update ansible_install_test.rb
Remove extra whitespace
2019-12-17 12:51:39 -08:00
Gilles Cornu
bcdda99dfa
ansible_local: Fix pip setup on Arch Linux guest
Add 'python' package requirement. Tested against `archlinux/archlinux`
box, at version "2019.11.24".
2019-12-17 12:51:39 -08:00