Fix double digits Ansible version match #13493
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Vagrant does an Ansible version check in the Ansible provisioner to determine which compatibility mode to use. The latest version of Ansible is Ansible 10 and this check fails in Vagrant when using Ansible 10.
This is the first time that double digits are used in an Ansible major version. The regex that is used to determine the major version in Vagrant only checks a single digit. So in this case it matches to 0, which in turn will trigger compatibility mode 1.8 instead of 2.0. Compatibility mode 1.8 uses sudo in the command, instead of become which is needed by recent Ansible versions.
This PR updates the regex to check all digits before the first dot, so the major version is set to 10 instead of 0 and the correct compatibility mode is selected.