Unable to upload zip.bin file using uri module

94 views
Skip to first unread message

R Batchen

unread,
Jul 15, 2024, 9:21:10 AM7/15/24
to Ansible Project
Im tring to translate a play i have that is using curl to use uri and nothing works for me
this is the what works for now:

  # - name: install  via shell
  #   shell: "curl -k --fail --connect-timeout 1 --max-time 1200 -X \"POST\" \"https://127.0.0.1:8080/v0/upload\" -H \"Authorization: Bearer {{ login.json.access_token }}\" -H \"Content-Type: multipart/form-data\" -F \"in_file=@/home/user/bundles/{{ item.key }}_docker.zip.bin\""
  #   loop: "{{ template|dict2items }}"

now i have translated this to uri:

  - name: install
    become: yes
    uri:
      url: "https://127.0.0.1:8080/v0/upload"
      headers:
        Authorization: "Bearer {{ login.json.access_token }}"
        Accept: application/json
        Content-Type: multipart/form-data
      validate_certs: no
      body_format: form-multipart
      method: POST
      timeout: 1200
      remote_src: yes
      body:
        in_file:
           filename: "/home/user/bundles/{{ item.key }}_docker.zip.bin"
        mime_type: application/octet-stream
    loop: "{{ template | dict2items }}"

because this file is encrypted for some reason the uri module doesnt upload it correctly
in my server that the file is posted to , need to run some decryped script
and the file using the uri module is uploaded as not binary file if i open it - it looks like a certificate file inside and also the file size is bigger

if i uploads it using curl and open the file i can see the file is binary file and the file size is smaller
what is hapening? why is the uri module changing the file?

please help?

R Batchen

unread,
Jul 16, 2024, 5:37:51 AM7/16/24
to Ansible Project
also the correct file type is seen as "data" when uploaded and from uri it is uploaded as ASCII

ansible==2.10.5
ansible-base==2.10.17
ב-יום שני, 15 ביולי 2024 בשעה 16:21:10 UTC+3, R Batchen כתב/ה:

R Batchen

unread,
Aug 7, 2024, 7:09:05 AM8/7/24
to Ansible Project
well i got my anser in ansible github - it is impossible at a moment to post bin files using uri
thnks

ב-יום שלישי, 16 ביולי 2024 בשעה 12:37:51 UTC+3, R Batchen כתב/ה:

Matt Martz

unread,
Aug 7, 2024, 11:02:46 AM8/7/24
to ansible...@googlegroups.com
That is not a correct assessment of the issue. The server software handling the upload is incapable of utilizing the Content-Transfer-Encoding of multipart form data, and the python standard lib code is only capable of sending binary data with a base64 (or similar) encoding.

It is possible, but may be dependent on the server software that is receiving the data.

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/e2f1ea94-d743-4df2-b30b-ccf9ce8b90c7n%40googlegroups.com.


--
Matt Martz
@sivel
sivel.net
Reply all
Reply to author
Forward
0 new messages