Ansible Chocolatey загадочно проваливается? - PullRequest
3 голосов
/ 15 марта 2019

Я пытаюсь запустить сборник рассказов на виртуальной машине Azure, но столкнулся со странной проблемой. Попытка установить любое программное обеспечение (попытка git, sysinternals, nscp) просто не срабатывает.

win_chocolatey:
        name: git
        state: present  

Даже не вызывает попытки установки. Ничто в журналах, кроме попыток перечислить программное обеспечение. Он просто пытается перечислить программное обеспечение и выдает, что его нет (потому что указанное программное обеспечение не установлено)

win_chocolatey:
        name: git
        state: absent  

Работает отлично, после ручной установки git. Я попытался установить пакет вручную с помощью команды win_chocolatey (в соответствии с документами), и она работает. Использование точно такого же пользователя, как и у playbook. (имеет права администратора)

Я также пытался заставить учетную запись администратора с помощью become, (хотя он уже запускает администратор), но это не имело значения.

-vvvv даже не показывает попытки установки:

TASK [Download and install chocolatey packages] **************************************************************
task path: /usr/user/clouddrive/windows-vm/create-vm-windows.yml:162
Using module file /opt/ansible/local/lib/python2.7/site-packages/ansible/modules/windows/win_chocolatey.ps1
<my.ip.address.here> ESTABLISH WINRM CONNECTION FOR USER: AzureAdministrator on PORT 5986 TO my.ip.address.here
checking if winrm_host my.ip.address.here is an IPv6 address
EXEC (via pipeline wrapper)
failed: [my.ip.address.here] (item={u'choco_name': u'git', u'choco_state': u'present'}) => {
    "changed": false,
    "command": "C:\\ProgramData\\chocolatey\\bin\\choco.exe list --local-only --exact --limit-output git",
    "item": {
        "choco_name": "git",
        "choco_state": "present"
    },
    "msg": "Error checking installation status for the package 'git'",
    "rc": 2,
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []
}

Я что-то упустил? Документы (https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html#examples) говорят, что даже что-то простое, как:

- name: Install git
  win_chocolatey:
    name: git

Следует установить пакет (состояние присутствует или нет, я пробовал его без состояния, и любой другой, только absent работает)

1 Ответ

1 голос
/ 16 марта 2019

Расширенные коды выхода были добавлены в Chocolatey 0.10.12, который указан как критическое изменение.

chocolatey.org / Docs / релиз-примечание

Уже вносятся существенные изменения, чтобы это исправить (см. github.com / chocolatey / choco / Issues / 1758 ), но сейчас вы можете отключить эту функцию в примечаниях к выпуску

choco feature disable --name="'useEnhancedExitCodes'"
...