Closed Aflynn50 closed 1 year ago
Things get funny when you installed this snap as root :D
root@juju-client:~# jhack replay list mysql-innodb-cluster/1
Traceback (most recent call last):
File "/snap/jhack/149/bin/jhack", line 5, in <module>
from jhack.main import main
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/main.py", line 43, in <module>
from jhack.utils.nuke import nuke
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/utils/nuke.py", line 22, in <module>
ASK_FOR_CONFIRMATION = CONFIG["nuke"]["ask_for_confirmation"]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 32, in __getitem__
return self.data[item]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 25, in data
self._load()
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 20, in _load
self._data = toml.load(self._path.open())
File "/usr/lib/python3.8/pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "/usr/lib/python3.8/pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/home/root/.jhack_config.toml'
root@juju-client:~#
root@juju-client:~# mkdir /home/root/.jhack
root@juju-client:~# echo "nuke.ask_for_confirmation = false" > /home/root/.jhack/config.toml
root@juju-client:~# jhack replay list mysql-innodb-cluster/1
Traceback (most recent call last):
File "/snap/jhack/149/bin/jhack", line 5, in <module>
from jhack.main import main
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/main.py", line 43, in <module>
from jhack.utils.nuke import nuke
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/utils/nuke.py", line 22, in <module>
ASK_FOR_CONFIRMATION = CONFIG["nuke"]["ask_for_confirmation"]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 32, in __getitem__
return self.data[item]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 25, in data
self._load()
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 20, in _load
self._data = toml.load(self._path.open())
File "/usr/lib/python3.8/pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "/usr/lib/python3.8/pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/home/root/.jhack_config.toml'
root@juju-client:~# echo "nuke.ask_for_confirmation = false" > /home/root/.jhack_config.toml
root@juju-client:~# jhack replay list mysql-innodb-cluster/1
Traceback (most recent call last):
File "/snap/jhack/149/bin/jhack", line 5, in <module>
from jhack.main import main
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/main.py", line 43, in <module>
from jhack.utils.nuke import nuke
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/utils/nuke.py", line 22, in <module>
ASK_FOR_CONFIRMATION = CONFIG["nuke"]["ask_for_confirmation"]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 32, in __getitem__
return self.data[item]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 25, in data
self._load()
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 20, in _load
self._data = toml.load(self._path.open())
File "/usr/lib/python3.8/pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "/usr/lib/python3.8/pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
PermissionError: [Errno 13] Permission denied: '/home/root/.jhack_config.toml'
root@juju-client:~# chmod 0777-R /home/root
chmod: invalid mode: ‘0777-R’
Try 'chmod --help' for more information.
root@juju-client:~# chmod 0777 -R /home/root
root@juju-client:~# jhack replay list mysql-innodb-cluster/1
Traceback (most recent call last):
File "/snap/jhack/149/bin/jhack", line 5, in <module>
from jhack.main import main
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/main.py", line 43, in <module>
from jhack.utils.nuke import nuke
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/utils/nuke.py", line 22, in <module>
ASK_FOR_CONFIRMATION = CONFIG["nuke"]["ask_for_confirmation"]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 32, in __getitem__
return self.data[item]
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 25, in data
self._load()
File "/snap/jhack/149/lib/python3.8/site-packages/jhack/conf/conf.py", line 20, in _load
self._data = toml.load(self._path.open())
File "/usr/lib/python3.8/pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "/usr/lib/python3.8/pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
PermissionError: [Errno 13] Permission denied: '/home/root/.jhack_config.toml'
root@juju-client:~#
I guess it's something related to snap...
Thanks for the report, folks! It should be fixed now for local installs, and the edge snap is indeed broken. Please use more stable versions for the time being, they should be still working. The issue is that the home-read interface the snap was using does not apply to hidden directories, so I had to request a new interface for that, which however requires manual approval, which is pending. Hopefully I'll get it soon :)
A fresh install with
git clone
,pip install -r requirements
thenpython3 main.py
gives an error that the config file cannot be foundWhen this file is created then we get another error
Which can apparently be fixed by putting
echo "nuke.ask_for_confirmation = false" > ~/.jhack/config.toml