Heisenbug: ansible.windows.win_user falla con "Intento de operación ilegal en una clave de registro que ha sido marcada para eliminación".

Heisenbug: ansible.windows.win_user falla con "Intento de operación ilegal en una clave de registro que ha sido marcada para eliminación".

Uso de Packer para crear una AMI basada en Windows Server 2019 y Ansible como aprovisionador.

Esta es la provisionersparte de mi packer-build.json:

    "provisioners": [
        {
            "type": "ansible",
            "playbook_file": "./provisioners/ansible/ansible_playbook.yml",
            "user": "Administrator",
            "use_proxy": false,
            "extra_arguments": ["-e", "ansible_winrm_server_cert_validation=ignore"]
        }
    ]

Este es mi ansible_playbook.yml:

---
- name: Jenkins node playbook
  hosts: all
  tasks:
    - include_tasks: update_system.yml
    - include_tasks: install_dependencies.yml
    - include_tasks: create_user.yml

Puedo confirmar eso al menos update_system.ymly install_dependencies.ymlejecutarlo correctamente.

Este es mi create_user.yml:

---

- name: Ensure user jenkins is present
  ansible.windows.win_user:
    name: jenkins
    password: ***REDACTED***
    state: present
    groups:
      - Users

.
.
.

Recibo un error en este punto:

amazon-ebs: TAREA [Asegúrese de que el usuario jenkins esté presente] **************************************** ****

amazon-ebs: fatal: [predeterminado]: ¡INALCANCE! => {"changed": false, "msg": "basic: Se intentó una operación ilegal en una clave de registro que se ha marcado para su eliminación. (datos de error extendidos: {'transport_message': 'Respuesta HTTP incorrecta devuelta por el servidor. Código 500 ', 'http_status_code': 500, 'wsmanfault_code': '2147943418', 'fault_code': 's:Receiver', 'fault_subcode': 'w:InternalError'})", "inalcanzable": verdadero}

Buscar en Google "intento de operación ilegal ansible en una clave de registro que ha sido marcada para eliminación" no arrojó nada útil.

Mientras escribía esta pregunta, intenté reproducir el problema y, para obtener resultados más rápidos, cambié ansible_playbook.ymlde

---
- name: Jenkins node playbook
  hosts: all
  tasks:
    - include_tasks: update_system.yml
    - include_tasks: install_dependencies.yml
    - include_tasks: create_user.yml

a

---
- name: Jenkins node playbook
  hosts: all
  tasks:
    - include_tasks: create_user.yml
    - include_tasks: update_system.yml
    - include_tasks: install_dependencies.yml

así que poniendo create_user.ymlprimero.

Resultado: el error ya no se pudo reproducir.

Luego restauré la configuración original y ya no tuve el error.

Eso no tiene ningún sentido para mí y no confío en ello. Suena como unHeisenbuga mi.

¿Qué es este error y cómo puedo estar absolutamente seguro de que no vuelva a ocurrir?

@Punto y comapreguntó en los comentarios sobre el contenido de update_system.ymly install_dependencies.yml.

---

- name: Install all critical and security updates
  win_updates:
    category_names:
      - CriticalUpdates
      - SecurityUpdates
    state: installed
  register: update_result

- name: Reboot host if required
  win_reboot:
  when: update_result.reboot_required
---

- name: Install AWS CLI
  win_shell: Import-Module AWSPowerShell

- name: install the Win32-OpenSSH service
  win_chocolatey:
    name: openssh
    package_params: /SSHServerFeature
    state: present

- name: Install required software
  win_chocolatey:
    name: '{{ item }}'
    state: present
  loop:
    - openjdk11
    - maven
    - git
    - ghostscript
    - imagemagick
    - nodejs
    - nuget.commandline
    - visualstudio2017buildtools

información relacionada