Возможная ошибка SSL «невозможно получить сертификат локального эмитента» при запуске vagrant - PullRequest
0 голосов
/ 17 июня 2019

Я установил следующие переменные:

ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore

и запуск моей playbook через ansible-playbook -i ansible/inventory.ini -vvvvv ansible/playbook.yml работает нормально.

Теперь я бы хотел, чтобы vagrant запустил ANSIBLE Provision через vagrant. Vagrantfile выглядит так:

Vagrant.configure(2) do |config|
  config.vm.define "virtualbox_windows_server_2016_1" do |s|
    ...
    s.vm.provision "ansible" do |ansible|
      ansible.playbook = "ansible/playbook.yml"
      ansible.inventory_path = "ansible/inventory.ini"
      ansible.config_file = "ansible/ansible.cfg"
      ansible.verbose = "-vvvvv"
    end
  end  
end

Выполнение vagrant provision или vagrant up --provision приводит к следующей ошибке:

fatal: [virtualbox_windows_server_2016_1]: UNREACHABLE! => {
    "changed": false,
    "msg": "ssl: HTTPSConnectionPool(host='192.168.57.3', port=5986): Max retries exceeded with url: /wsman (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')))",
    "unreachable": true
}

Информация журнала vagrant говорит, что она запускает следующую команду:

PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_CONFIG='ansible/ansible.cfg' ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o IdentityFile=/Users/user/.vagrant.d/insecure_private_key -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --extra-vars=ansible_user\=\'vagrant\' --limit="virtualbox_windows_server_2016_1" --inventory-file=ansible/inventory.ini -vvvvv ansible/playbook.yml

Интересно, что когда я копирую и вставляю указанную выше команду и запускаю ее отдельно (т.е. на терминале, а не через vagrant), ошибки нет, и все работает так же, как короткая команда ansible-playbook, о которой я упоминал выше.

Он также работает с и без vagrant, если я установил

ansible_port: 5985 # not 5986

В чем здесь проблема?

  • Бродяга 2.2.4
  • ansible 2.8.1
  • Python 3.7.3
  • macOS 10.13.6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...