Python – Saltstack and Python3 issue

pythonsaltstack

I'm having a bit of an issue with the following recipe:

setup-compose:
  file.managed:
    - source: https://github.com/docker/compose/releases/download/1.21.1/docker-compose-Linux-{{ grains['cpuarch'] }}
    - name: /usr/local/bin/docker-compose
    - source_hash: https://github.com/docker/compose/releases/download/1.21.1/docker-compose-Linux-{{ grains['cpuarch'] }}.sha256
    - user: root
    - mode: 744

When it runs, I'm getting the following error:

[ERROR ] Unable to manage file: 'utf8' codec can't decode byte 0x80 in position 40: invalid start byte

local:


      ID: setup-compose

Function: file.managed

    Name: /usr/local/bin/docker-compose

  Result: False

 Comment: Unable to manage file: 'utf8' codec can't decode byte 0x80 in position 40: invalid start byte

 Started: 18:10:31.784381

Duration: 1932.928 ms

 Changes: 

Now I read about all sorts of issues with unicode under Python2, so I'm wondering:

  • is there a way to get Saltstack to work with python3? (I'm using an Ubuntu 16 DO droplet, updated to latest kernel but installing Saltstack from official repos also installs Python2 and replacing Python2 by 3 results in

Traceback (most recent call last):

File "/usr/bin/salt-call", line 7, in

from salt.scripts import salt_call

ImportError: No module named 'salt'

  • barring that, is something that can be done on Python2? I'm a developer but haven't touched Python until very recently so I'm at a loss.

Thanks!

Best Answer

Execute apt update and apt upgrade on your minion. The issue indicates that you have outdated packages on the minion, not master.

Related Topic