Bug#1108514: Vagrant gathered an unknown Ansible version: and falls back on the compatibility mode '1.8'

2025-06-30 Thread Domenico Andreoli
Control: tags -1 patch

The attached patch was tested on my Trixie and works fine.

-- 
rsa4096: 3B10 0CA1 8674 ACBA B4FE  FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA  356E CC79 2832 ED38 CB05
From: Patrick Poortman 
Date: Tue Apr 2 15:18:20 2024 +0200
Subject: provisioner/ansible: Fix ansible version gathering in host provisioner

Origin: Upstream (merged) PR https://github.com/hashicorp/vagrant/pull/13375
Bug-Debian: https://bugs.debian.org/1108514
---
 plugins/provisioners/ansible/provisioner/host.rb   |2 +-
 test/unit/plugins/provisioners/ansible/provisioner_test.rb |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Index: b/plugins/provisioners/ansible/provisioner/host.rb
===
--- a/plugins/provisioners/ansible/provisioner/host.rb
+++ b/plugins/provisioners/ansible/provisioner/host.rb
@@ -110,7 +110,7 @@ module VagrantPlugins
 def gather_ansible_version
   raw_output = ''
   command = ['python3', '-c',
- "\"import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))\""]
+ "import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))"]
 
   command << {
 notify: [:stdout, :stderr]
Index: b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
===
--- a/test/unit/plugins/provisioners/ansible/provisioner_test.rb
+++ b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
@@ -74,7 +74,7 @@ VF
   def self.it_should_check_ansible_version
 it "execute 'Python ansible version check before executing 'ansible-playbook'" do
   expect(Vagrant::Util::Subprocess).to receive(:execute)
-.once.with('python3', '-c', "\"import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))\"", { notify: %i[
+.once.with('python3', '-c', "import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))", { notify: %i[
  stdout stderr
] })
   expect(Vagrant::Util::Subprocess).to receive(:execute)
@@ -1052,7 +1052,7 @@ VF
 expect(Vagrant::Util::Subprocess).to receive(:execute)
   .once
   .with('python3', '-c',
-"\"import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))\"", { notify: %i[stdout stderr] })
+"import importlib.metadata; print('ansible ' + importlib.metadata.version('ansible'))", { notify: %i[stdout stderr] })
   .and_return(default_execute_result)
 expect(Vagrant::Util::Subprocess).to receive(:execute)
   .once


signature.asc
Description: PGP signature


Bug#1108514: Vagrant gathered an unknown Ansible version: and falls back on the compatibility mode '1.8'

2025-06-30 Thread Domenico Andreoli
Apologies, the PR is actually https://github.com/hashicorp/vagrant/pull/13375.

Thanks,
dom

-- 
rsa4096: 3B10 0CA1 8674 ACBA B4FE  FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA  356E CC79 2832 ED38 CB05


signature.asc
Description: PGP signature


Bug#1108514: Vagrant gathered an unknown Ansible version: and falls back on the compatibility mode '1.8'

2025-06-30 Thread Domenico Andreoli
Package: vagrant
Version: 2.3.7+git20230731.5fc64cde+dfsg-3+b1
Severity: normal

Hi,

When I provison a VM with Ansible I get this output:

 cut here 
 INFO subprocess: Starting process: ["/usr/bin/python3", "-c", "\"import 
importlib.metadata; print('ansible ' + 
importlib.metadata.version('ansible'))\""]
 INFO subprocess: Vagrant not running in installer, restoring original 
environment...
DEBUG subprocess: Selecting on IO
DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000
DEBUG subprocess: Exit status: 0
 INFO interface: warn: Vagrant gathered an unknown Ansible version:


and falls back on the compatibility mode '1.8'.

Alternatively, the compatibility mode can be specified in your Vagrantfile:
https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode

Vagrant gathered an unknown Ansible version:


and falls back on the compatibility mode '1.8'.

Alternatively, the compatibility mode can be specified in your Vagrantfile:
https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode
 cut here 

Such compatibility mode triggers later errors that are not part of this report.

There is an issue with the quoting of the in-line Python script that
is already fixed in the upstream repo, see PR [0]. I'll provide a patch
for your convenience.

It would be great to have this fixed before the release or at least in
a later update.

Thanks,
Dom

[0] https://github.com/hashicorp/vagrant/issues/13234

--
rsa4096: 3B10 0CA1 8674 ACBA B4FE  FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA  356E CC79 2832 ED38 CB05


signature.asc
Description: PGP signature