lueschem / edi

Embedded development infrastructure.
https://www.get-edi.io
GNU Lesser General Public License v3.0
40 stars 12 forks source link

edi fails to bootstrap edi-raspbian container on Debian buster #52

Closed lueschem closed 4 years ago

lueschem commented 4 years ago

Environment detail

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
+ python3 --version
Python 3.7.3
+ ansible-playbook --version
ansible-playbook 2.7.7
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/lueschem-admin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible-playbook
  python version = 3.7.3 (default, Apr  3 2019, 05:39:12) [GCC 8.3.0]
+ lxc --version
3.18
+ grep \(lxd\|ansible\)
+ dpkg -l
ii  ansible                               2.7.7+dfsg-1                         all          Configuration management, deployment, and task execution system

Desired Behavior

Setup should work out of the box.

Actual Behavior

The command

sudo edi -v lxc configure raspbian-buster-cross buster-cross.yml

fails during the playbook run:

PLAY [edi] ***************************************************************************************************************************************************

TASK [Gathering Facts] ***************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ModuleNotFoundError: No module named 'distutils.spawn'
fatal: [raspbian-buster-cross]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}
 [WARNING]: Could not create retry file '/usr/lib/python3/dist-packages/edi/plugins/playbooks/debian/base_system/main.retry'.         [Errno 13] Permission
denied: '/usr/lib/python3/dist-packages/edi/plugins/playbooks/debian/base_system/main.retry'

due to missing python3-distutils.

lueschem commented 4 years ago

As a workaround you can install python3-distutils:

sudo apt install python3-distutils
lueschem commented 4 years ago

A pull request for the Ansible Debian package has been opened: https://salsa.debian.org/debian/ansible/merge_requests/5

Furthermore edi now depends upon python3-distutils where applicable.