el módulo lineinfile no funciona correctamente con el diccionario de variables Ansible

Mi código está eliminando todas las instancias de variables de socket en el archivo my.cnf y luego repoblando el archivo con la variable correcta y la ubicación del archivo.

La parte de eliminación funciona correctamente, sin embargo, la inserción se cierra después de la primera línea. Por lo tanto, insertará la línea correcta 'socket' directamente debajo de [mysqladmin] pero no se agregará a las secciones restantes del archivo.

- name: modify my.cnf setting
  hosts: dbservers
  remote_user: dbuser
  become: yes

  tasks:
  - name: delete old socket definitions
    lineinfile:
      dest: /etc/mysql/my.cnf
      regexp: "^socket "
      state: absent

  - name: add new socket variable
    lineinfile:
      dest: /etc/mysql/my.cnf
      line: "{{ item.line }}"
      insertafter: "{{ item.insertafter }}"
    with_items:
      - { line: 'socket = /mysql/run/mysqld.sock', insertafter: '^\[mysqladmin\]' }
      - { line: 'socket = /mysql/run/mysqld.sock', insertafter: '^\[mysql\]' }
      - { line: 'socket = /mysql/run/mysqld.sock', insertafter: '^\[mysqldump\]' }
      - { line: 'socket = /mysql/run/mysqld.sock', insertafter: '^\[mysqld\]' }

En una nota adicional, me gustaría que haya una línea de espacio entre el encabezado y la nueva declaración de socket si eso es posible.

He intentado con la versión 2.0.2 y 2.2.0 y ninguno se está comportando como se esperaba.

Respuestas a la pregunta(2)

Su respuesta a la pregunta