stereum-dev / ethereum2-control-center-web

3 stars 4 forks source link

OS update on Ubuntu throws errors and crashes launcher #108

Closed redtux closed 3 years ago

redtux commented 3 years ago

Hi, as already discussed on Discord, I run a Stereum node that was set up with the now deprecated stereum-control-center-cli. Unattended updates are enabled and working fine, so all docker images are up-to-date (stereum_version_tag: 1.8-198).

Now, the electron launcher (snap on Ubuntu 20.04.3 LTS) sees the remote node (also Ubuntu 20.04.3 LTS) and can connect to it via ssh without problems, but after successfully running the Ansible task Upgrade APT to the latest packages I get an error at Update all packages to the latest version resulting in a crash.

Log output stdout got data TASK [stereum-base : Upgrade APT to the latest packages] *********************** stdout got data changed: [localhost] stdout got data TASK [stereum-base : Update all packages to the latest version] **************** stdout got data An exception occurred during task execution. To see the full traceback, use -vvv. The error was: FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/ansible/modules/packaging/os/apt.py' fatal: [localhost]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""} stdout got data PLAY RECAP ********************************************************************* localhost : ok=9 changed=5 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 stream closed 2 **** problems launch base-installer: Status: 2 ****, ansible logs below: , PLAY RECAP ********************************************************************* localhost : ok=9 changed=5 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 { rc: 2, stdout: '\n' + 'PLAY RECAP *********************************************************************\n' + 'localhost : ok=9 changed=5 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 \n' + '\n', stderr: '' }

The full logs can be found here: https://gist.github.com/redtux/dd95e430dbc86b25c7a020e938565e0e - the relevant part being at the very end: No such file or directory: '/usr/lib/python3/dist-packages/ansible/modules/packaging/os/apt.py'

This in turn results in a broken installation with stopped containers. I am also not able to run stereum-control-center-cli anymore due to strange permission errors. The file /etc/stereum/ethereum2.yaml exists, is readable, and correctly formatted, as can be seen in above log (lines 16, 17):

exec sudo ls /etc/stereum/ethereum2.yaml
stdout got data /etc/stereum/ethereum2.yaml

Nevertheless, I get this error:

sudo stereum-control-center-cli
/usr/local/bin/stereum-control-center-cli: line 399: stereum_config_file_path: command not found
No config found at /etc/stereum/ethereum2.yaml

sudo ls -hal /etc/stereum/
total 12K
d-w----r-T  2 root root 4,0K Okt 13 04:01 .
drwxr-xr-x 98 root root 4,0K Okt 14 21:55 ..
--w----r-T  1 root root 4,0K Okt 13 04:01 ethereum2.yaml

As reported, the electron app crashes as well.

Bildschirmfoto von 2021-10-14 21-06-25

stefa2k commented 3 years ago

Hi, can you please provide some python information like this:

root@eth2-test-stefan:~# which python3
/usr/bin/python3
root@eth2-test-stefan:~# python3 --version
Python 3.8.10
redtux commented 3 years ago

@stefa2k sure! 👍🏼

$ LC_ALL=C apt policy python3-minimal
python3-minimal:
  Installed: 3.8.2-0ubuntu2
  Candidate: 3.8.2-0ubuntu2
  Version table:
 *** 3.8.2-0ubuntu2 500
        500 http://asi-fs-d.contabo.net/ubuntu focal/main amd64 Packages
        100 /var/lib/dpkg/status

$ which python3
/usr/bin/python3

$ python3 --version
Python 3.8.10

$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
stefa2k commented 3 years ago

Thanks, I'm able to reproduce the issue now, keep you posted.

stefa2k commented 3 years ago

python3-apt package update broke the compatibility with ansible. Ansible comes pre-bundled, this means the old ansible pre-packaged in our web-cc installer runnable tries to access an outdated path to run the python module even when the new one is installed.

Looks like we got a fix.