kalliope-project / kalliope

Kalliope is a framework that will help you to create your own personal assistant.
https://kalliope-project.github.io/
GNU General Public License v3.0
1.71k stars 229 forks source link

Ansible install error #665

Closed corus87 closed 2 years ago

corus87 commented 2 years ago

Ansible does not get installed by easy_install.

error: Setup script exited with error: SandboxViolation: symlink('../release.py', 'build/lib/ansible/module_utils/ansible_release.py') {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.

Tested with a virtual env but if I remember correctly it also happen with a manual installation.

Fix: pip3 install ansible

Sispheor commented 2 years ago

This way will install the last version. Not sure if the api is still compatible with Kalliope. Not tested.

corus87 commented 2 years ago

I guess you are talking about the python api? For installing our neurons?

Sispheor commented 2 years ago

Yes

corus87 commented 2 years ago

Okay, I will take a look and make some tests.

corus87 commented 2 years ago
kalliope install --git-url https://github.com/kalliope-project/kalliope_neuron_answer_of_everything.git
15-09 21:09:13.126 Cloning repository...
15-09 21:09:13.795 Checking repository...
15-09 21:09:13.816 Starting neuron installation
Sudo password:
[WARNING]: ansible.utils.display.initialize_locale has not been called, this may result in incorrectly calculated text widths that can cause Display to print incorrect line
lengths

PLAY [answer_of_everything] ********************************************************************************************************************************************************

TASK [Dependencies] ****************************************************************************************************************************************************************

It hangs on the dependency task but however it does install the neuron. I will take a look and try to fix it, so we can use the latest ansible.

corus87 commented 2 years ago

I faced another issue when cloning the dev branch.

fatal: [localhost]: FAILED! => {"msg": "timeout waiting for privilege escalation password prompt:\n"}

But I think I fixed it, The dict key has changed to "vault_pass"

kalliope install --git-url https://github.com/kalliope-project/kalliope_neuron_answer_of_everything.git
Cloning repository...
Checking repository...
Starting neuron installation
Sudo password:
[WARNING]: ansible.utils.display.initialize_locale has not been called, this may result in incorrectly calculated text widths that can cause
Display to print incorrect line lengths

PLAY [answer_of_everything] ******************************************************************************************************************

TASK [Dependencies] **************************************************************************************************************************
ok: [localhost]
Module: answer_of_everything installed

I'm only not sure about the warning, couldn't find much or in the ansible docs about it. Maybe there are related to my system locales.

Sispheor commented 2 years ago

So the last version is working? If yes we can set a new value as hard coded version with the current one you have. Maybe it will even fix the last PR.

Sispheor commented 2 years ago

You can try to build the docker image locally with the new version of Ansible. If it's ok locally you can at the change to your PR.

corus87 commented 2 years ago

So the last version is working? If yes we can set a new value as hard coded version with the current one you have. Maybe it will even fix the last PR.

It seems to work, yes. I try to fix some other dependency errors now and make a PR which hopefully will give us a clean installation again.

corus87 commented 2 years ago

Just an update... I still facing the install error

Searching for ansible-core<2.12,>=2.11.4
Reading https://pypi.org/simple/ansible-core/
Downloading https://files.pythonhosted.org/packages/19/c0/d7d23d4bfa04857cab82d2773d68290ce16941b7511163e611d196303bf9/ansible-core-2.11.5.tar.gz#sha256=7d3ce47014122907454704363485e48513f8ad0f00138b88870eb6d88953d121
Best match: ansible-core 2.11.5
Processing ansible-core-2.11.5.tar.gz
Writing /tmp/easy_install-xy94_jc0/ansible-core-2.11.5/setup.cfg
Running ansible-core-2.11.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-xy94_jc0/ansible-core-2.11.5/egg-dist-tmp-5c3spxzn
warning: no previously-included files found matching 'docs/docsite/rst_warnings'
warning: no previously-included files found matching 'docs/docsite/rst/conf.py'
warning: no previously-included files found matching 'docs/docsite/rst/index.rst'
warning: no previously-included files matching '*' found under directory 'docs/docsite/_build'
warning: no previously-included files matching '*.pyc' found under directory 'docs/docsite/_extensions'
warning: no previously-included files matching '*.pyo' found under directory 'docs/docsite/_extensions'
warning: no files found matching '*.ps1' under directory 'lib/ansible/modules/windows'
warning: no files found matching '*.psm1' under directory 'test/support'
warning: no previously-included files found matching 'test/sanity/code-smell/botmeta.*'
error: Setup script exited with error: SandboxViolation: symlink('../release.py', 'build/lib/ansible/module_utils/ansible_release.py') {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.

when running sudo python3 setup.py install on a fresh Ubuntu 20.04 installation. I couldn't find much about it on google but it seems to be related to the setup.py dependencies installation method we use, when easy_install tries to install ansible-core. Installing everything with sudo pip3 install -r install/files/python_requirements.txt works without problems.

But I did found a similar error you @Sispheor already reported in the ansible repo.

Okay I found something, it seems to be related to only python3.8 which may explain why I never faced this issue on the raspberry.

Sispheor commented 2 years ago

Fixed in the last release