Skip to content

juniper_junos_config - Diff option - TypeError: write() argument 1 must be unicode, not str #323

@eregimbald

Description

@eregimbald

I'm getting this error with some devices when trying to retrieve a diff.

The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_sutk43/ansible_module_juniper_junos_config.py", line 1147, in <module>
    main()
  File "/tmp/ansible_sutk43/ansible_module_juniper_junos_config.py", line 1089, in main
    junos_module.save_text_output('diff', 'diff', diff)
  File "/etc/ansible/roles/Juniper.junos/module_utils/juniper_junos_common.py", line 1836, in save_text_output
    save_file.write(text)
TypeError: write() argument 1 must be unicode, not str

fatal: [rtr-nni-bos1]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_sutk43/ansible_module_juniper_junos_config.py\", line 1147, in <module>\n    main()\n  File \"/tmp/ansible_sutk43/ansible_module_juniper_junos_config.py\", line 1089, in main\n    junos_module.save_text_output('diff', 'diff', diff)\n  File \"/etc/ansible/roles/Juniper.junos/module_utils/juniper_junos_common.py\", line 1836, in save_text_output\n    save_file.write(text)\nTypeError: write() argument 1 must be unicode, not str\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE",
    "rc": 0
}

Task:

  - name: Installing the config via juniper_junos_config
    juniper_junos_config:
      host: '{{ inventory_hostname }}'
      user: '{{ user }}'
      
      commit: '{{ commit }}'
      config_mode: 'exclusive'
      load: 'merge'
      
      src: '{{ playbook_dir }}/configs/{{ inventory_hostname }}/candidate.conf'
      ignore_warning: 'statement not found'
      timeout: 60
      
      diff: True
      retrieve:  "{{ retrieve_type }}"
      dest_dir: '{{ playbook_dir }}/configs/{{ inventory_hostname }}/'
      logfile: '{{ playbook_dir }}/logs/{{ inventory_hostname }}/junos-assemble-apply.log'

-vvv output
https://hastebin.com/qebibicoja.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions