Saltstack и выпуск Python3
У меня есть небольшая проблема со следующим рецептом:
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
Когда он запускается, я получаю следующую ошибку:
[ОШИБКА] Невозможно управлять файлом: кодек "utf8" не может декодировать байт 0x80 в позиции 40: недопустимый начальный байт
местный:
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:
Сейчас я читаю о всевозможных проблемах с юникодом под Python2, поэтому мне интересно:
- Есть ли способ заставить Saltstack работать с python3? (Я использую дроплет Ubuntu 16 DO, обновленный до последнего ядра, но при установке Saltstack из официальных репозиториев также устанавливается Python2 и замена Python2 на 3 приводит к
Traceback (последний вызов был последним):
Файл "/usr/bin/salt-call", строка 7, в
из salt.scripts импортировать salt_call
ImportError: нет модуля с именем 'salt'
- кроме этого, можно ли что-то сделать на Python2? Я разработчик, но до недавнего времени не обращался к Python, поэтому я в растерянности.
Спасибо!
1 ответ
Решение
Казнить apt update
а также apt upgrade
на твоем миньоне. Эта проблема указывает на то, что у вас есть устаревшие пакеты для миньонов, а не для мастеров.