Closed damonnk closed 6 years ago
@damonnk, is there another minion process running when you try to start a new process?
@jfindlay , no there is not. Just to be sure, i double checked.
# ps -ef | grep salt
root 16251 2571 0 09:20 pts/0 00:00:00 grep salt
# salt-minion -l debug
[DEBUG ] Missing configuration file: /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: pi.home.local
[DEBUG ] Missing configuration file: /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: pi.home.local
@damonnk, this looks like a really strange issue. Salt itself is as portable as python, so as long as its dependencies are installed, it should work. The best I can think of is that there may be a dependency problem that is causing the minion process to erroneously loop as you've demonstrated. Is there any more interesting output with salt-minion -l trace
? Also, will you post the output from salt-minion --versions-report
? Thanks.
I'm seeing similar results on my RPi.
@Heshuge, would you mind posting the output from salt-minion -l trace
and salt-minion --versions-report
? Thanks.
pi@raspberrypi ~ $ salt-minion -l trace
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: raspberrypi
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: raspberrypi
... (loops continuously every minute or so.)
pi@raspberrypi ~ $ salt-minion --versions-report
... (hangs indefinitely.)
pi@raspberrypi ~ $ salt-call
Illegal instruction
(Also, this was output 3x during bootstrapping)
W: There is no public key available for the following key IDs:
7638D0442B90D010
There may be some dependency, upstream issues here. Salt is pure python and I'm sure nothing in python or its standard lib could cause an illegal instruction
. It may be that a raspberry pi (at least an older one) may be too underpowered to run a salt minion, but I am doubtful of this. I have been able to successfully run a salt minion on hardware with lesser capacity.
I have observed the same behaviors during a reinstall on a previously-working Raspberry Pi B+.
Previously I installed a Salt minion on the Pi on 2015-02-22 (I believe I also upgraded it via apt-get on 2015-04-06 although it's unclear from my notes if the new version "took effect" or not). ((EDIT: 2015-09-07): Regardless of whether the oldest version was still running or not, it was definitely talking to the Salt Master.)
Due to filesystem corruption, on 2015-08-15 I was forced to reformat and reinstall the OS (NOOBS v1.4.1), and I noticed that running sudo salt-call --local key.finger
seemed to hang: no response, but no error. Since then I've been trying various combinations of installing and reformatting, and even upgraded the Salt master, but the minion is not working properly and displays many of the behaviors commented above.
For demonstration purposes, I begin with:
sudo apt-get purge --auto-remove salt-minion
sudo rm -rf /etc/salt/minion.d
sudo rm -rf /var/cache/salt-call
sudo reboot
Download and install the bootstrap script:
$ curl -L https://bootstrap.saltstack.com -o install_salt.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 263 100 263 0 0 425 0 --:--:-- --:--:-- --:--:-- 595
100 204k 100 204k 0 0 108k 0 0:00:01 0:00:01 --:--:-- 300k
pi@withknown ~ $ md5sum install_salt.sh
013273b3abbfe22798ba1b611669c0f9 install_salt.sh
Run the installer using sudo sh install_salt.sh -P
and it does a bunch of stuff before ending:
(...)
[ ok ] Starting salt minion control daemon: salt-minion.
* INFO: Running install_debian_check_services()
* INFO: Running install_debian_restart_daemons()
Starting salt minion control daemon: salt-minion.
* INFO: Running daemons_running()
* INFO: Salt installed!
I then try (unsuccessfully) to confirm the versions of the installed software (I hit CTRL-C after about a minute of waiting):
$ date ; salt-minion --versions-report ; date
Tue Sep 8 04:04:12 UTC 2015
^CTue Sep 8 04:05:35 UTC 2015
Attempt to stop the minion and restart in debug mode:
$ sudo /etc/init.d/salt-minion stop
[ ok ] Stopping salt minion control daemon: salt-minion.
pi@withknown ~ $ sudo ps auxwww | grep salt
root 3677 0.2 2.7 15464 12344 ? S 03:48 0:02 /usr/bin/python /usr/bin/salt-minion -d
root 3718 0.2 2.7 15460 12464 ? S 03:49 0:02 /usr/bin/python /usr/bin/salt-minion -d
pi 3856 0.0 0.4 3548 1828 pts/1 S+ 04:06 0:00 grep --color=auto salt
Eh? It's still running?
$ sudo /etc/init.d/salt-minion stop
[ ok ] Stopping salt minion control daemon: salt-minion.
pi@withknown ~ $ sudo /etc/init.d/salt-minion status
[ ok ] salt-minion is running.
Force quit, confirm it's not running:
pi@withknown ~ $ sudo kill -9 3677
pi@withknown ~ $ sudo kill -9 3718
pi@withknown ~ $ sudo ps auxwww | grep salt
pi 3929 0.0 0.4 3548 1832 pts/1 S+ 04:08 0:00 grep --color=auto salt
Now run the minion in a debug mode (hit CTRL-C after several minutes):
$ date ; sudo /usr/bin/salt-minion -l trace ; date
Tue Sep 8 04:09:43 UTC 2015
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: withknown
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: withknown
^CTue Sep 8 04:11:34 UTC 2015
Checking the contents of /tmp/bootstrap-salt.log
shows the following:
[1;32m * INFO[0m: System Information:
[1;32m * INFO[0m: CPU:
[1;32m * INFO[0m: CPU Arch: armv6l
[1;32m * INFO[0m: OS Name: Linux
[1;32m * INFO[0m: OS Version: 3.18.11+
[1;32m * INFO[0m: Distribution: Debian 7.8
[1;32m * INFO[0m: Installing minion
[1;32m * INFO[0m: Found function install_debian_7_deps
[1;32m * INFO[0m: Found function install_debian_7_stable
[1;32m * INFO[0m: Found function install_debian_restart_daemons
[1;32m * INFO[0m: Found function daemons_running
[1;32m * INFO[0m: Found function install_debian_check_services
[1;32m * INFO[0m: Running install_debian_7_deps()
Hit http://debian.saltstack.com wheezy-saltstack Release.gpg
Hit http://debian.saltstack.com wheezy-saltstack Release
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Get:1 http://archive.raspberrypi.org wheezy Release.gpg [473 B]
Get:2 http://mirrordirector.raspbian.org wheezy Release.gpg [490 B]
Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages
Get:3 http://mirrordirector.raspbian.org wheezy Release [14.4 kB]
Hit http://raspberrypi.collabora.com wheezy Release
Get:4 http://archive.raspberrypi.org wheezy Release [17.6 kB]
Get:5 http://httpredir.debian.org wheezy-backports Release.gpg [1,554 B]
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
Get:6 http://mirrordirector.raspbian.org wheezy/main armhf Packages [6,908 kB]
Get:7 http://archive.raspberrypi.org wheezy/main armhf Packages [134 kB]
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB
Get:8 http://httpredir.debian.org wheezy-backports Release [167 kB]
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Get:9 http://httpredir.debian.org wheezy-backports/main armhf Packages [546 kB]
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Get:10 http://httpredir.debian.org wheezy-backports/main Translation-en [363 kB]
Get:11 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.6 kB]
Get:12 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [49.3 kB]
Get:13 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [592 B]
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 8,226 kB in 48s (168 kB/s)
Reading package lists...
W: There is no public key available for the following key IDs:
7638D0442B90D010
Reading package lists...
Building dependency tree...
Reading state information...
wget is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
raspbian-archive-keyring is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
Hit http://debian.saltstack.com wheezy-saltstack Release.gpg
Hit http://mirrordirector.raspbian.org wheezy Release.gpg
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://debian.saltstack.com wheezy-saltstack Release
Hit http://httpredir.debian.org wheezy-backports Release.gpg
Hit http://mirrordirector.raspbian.org wheezy Release
Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages
Hit http://raspberrypi.collabora.com wheezy Release
Hit http://archive.raspberrypi.org wheezy Release
Hit http://httpredir.debian.org wheezy-backports Release
Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
Hit http://archive.raspberrypi.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages
Hit http://httpredir.debian.org wheezy-backports/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages
Get:1 http://httpredir.debian.org wheezy-backports/main Translation-en [363 kB]
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 363 kB in 20s (17.6 kB/s)
Reading package lists...
W: There is no public key available for the following key IDs:
7638D0442B90D010
OK
Hit http://debian.saltstack.com wheezy-saltstack Release.gpg
Hit http://debian.saltstack.com wheezy-saltstack Release
Hit http://mirrordirector.raspbian.org wheezy Release.gpg
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy Release
Hit http://raspberrypi.collabora.com wheezy Release
Hit http://archive.raspberrypi.org wheezy Release
Hit http://httpredir.debian.org wheezy-backports Release.gpg
Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
Hit http://archive.raspberrypi.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages
Hit http://httpredir.debian.org wheezy-backports Release
Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB
Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en
Hit http://httpredir.debian.org wheezy-backports/main armhf Packages
Hit http://httpredir.debian.org wheezy-backports/main Translation-en
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Reading package lists...
W: There is no public key available for the following key IDs:
7638D0442B90D010
Reading package lists...
Building dependency tree...
Reading state information...
python-apt is already the newest version.
python-zmq is already the newest version.
libzmq3 is already the newest version.
libzmq3-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
pciutils is already the newest version.
procps is already the newest version.
python-requests is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
[1;32m * INFO[0m: Running install_debian_7_stable()
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
dctrl-tools dmidecode python-dateutil salt-common
Suggested packages:
debtags salt-doc python-mako python-augeas
The following NEW packages will be installed:
dctrl-tools dmidecode python-dateutil salt-common salt-minion
0 upgraded, 5 newly installed, 0 to remove and 37 not upgraded.
Need to get 0 B/3,300 kB of archives.
After this operation, 11.7 MB of additional disk space will be used.
Selecting previously unselected package dmidecode.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 80665 files and directories currently installed.)
Unpacking dmidecode (from .../dmidecode_2.12-2~bpo70+1_armhf.deb) ...
Selecting previously unselected package dctrl-tools.
Unpacking dctrl-tools (from .../dctrl-tools_2.22.2_armhf.deb) ...
Selecting previously unselected package python-dateutil.
Unpacking python-dateutil (from .../python-dateutil_1.5+dfsg-0.1_all.deb) ...
Selecting previously unselected package salt-common.
Unpacking salt-common (from .../salt-common_2015.5.3+ds-1~bpo70+2_all.deb) ...
Selecting previously unselected package salt-minion.
Unpacking salt-minion (from .../salt-minion_2015.5.3+ds-1~bpo70+2_all.deb) ...
Processing triggers for man-db ...
Setting up dmidecode (2.12-2~bpo70+1) ...
Setting up dctrl-tools (2.22.2) ...
Setting up python-dateutil (1.5+dfsg-0.1) ...
Setting up salt-common (2015.5.3+ds-1~bpo70+2) ...
Setting up salt-minion (2015.5.3+ds-1~bpo70+2) ...
[....] Starting salt minion control daemon: salt-minion[?25l7[1G[[32m ok [39;49m8[?12l[?25h.
[1;32m * INFO[0m: Running install_debian_check_services()
[1;32m * INFO[0m: Running install_debian_restart_daemons()
Starting salt minion control daemon: salt-minion.
[1;32m * INFO[0m: Running daemons_running()
[1;32m * INFO[0m: Salt installed!
Note the presence of warnings about There is no public key available for the following key IDs: 7638D0442B90D010
as was mentioned by others in this thread.
During debugging, at various times I too received errors about "Illegal operation". At the time I thought I had debuged that to be a matter of not running the command as sudo but I have not been able to reliably reproduce this behavior.
I have also tried (and failed) to use the documented instructions to install the second-most-recent version, but it might be better to stop here and keep the focus on the current problem.
Any suggestions?
We ended up switching from Raspbian to Arch. We got it working with a Pi 2 on Raspbian, but in order to support both platforms we had to move to Arch. On Sep 8, 2015 12:21 AM, "neilr8133" notifications@github.com wrote:
I have observed the same behaviors during a reinstall on a previously-working Raspberry Pi B+.
Previously I installed a Salt minion on the Pi on 2015-02-22 (I believe I also upgraded it via apt-get on 2015-04-06 although it's unclear from my notes if the new version "took effect" or not).
Due to filesystem corruption, on 2015-08-15 I was forced to reformat and reinstall the OS (NOOBS v1.4.1), and I noticed that running sudo salt-call --local key.finger seemed to hang: no response, but no error. Since then I've been trying various combinations of installing and reformatting, and even upgraded the Salt master, but the minion is not working properly and displays many of the behaviors commented above.
For demonstration purposes, I begin with:
sudo apt-get purge --auto-remove salt-minion sudo rm -rf /etc/salt/minion.d sudo rm -rf /var/cache/salt-call sudo reboot
Download and install the bootstrap script:
$ curl -L https://bootstrap.saltstack.com -o install_salt.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 263 100 263 0 0 425 0 --:--:-- --:--:-- --:--:-- 595 100 204k 100 204k 0 0 108k 0 0:00:01 0:00:01 --:--:-- 300k pi@withknown ~ $ md5sum install_salt.sh 013273b3abbfe22798ba1b611669c0f9 install_salt.sh
Run the installer using sudo sh install_salt.sh -P and it does a bunch of stuff before ending:
(...) [ ok ] Starting salt minion control daemon: salt-minion.
- INFO: Running install_debian_check_services()
- INFO: Running install_debian_restart_daemons() Starting salt minion control daemon: salt-minion.
- INFO: Running daemons_running()
- INFO: Salt installed!
I then try (unsuccessfully) to confirm the versions of the installed software (I hit CTRL-C after about a minute of waiting):
$ date ; salt-minion --versions-report ; date Tue Sep 8 04:04:12 UTC 2015 ^CTue Sep 8 04:05:35 UTC 2015
Attempt to stop the minion and restart in debug mode:
$ sudo /etc/init.d/salt-minion stop [ ok ] Stopping salt minion control daemon: salt-minion. pi@withknown ~ $ sudo ps auxwww | grep salt root 3677 0.2 2.7 15464 12344 ? S 03:48 0:02 /usr/bin/python /usr/bin/salt-minion -d root 3718 0.2 2.7 15460 12464 ? S 03:49 0:02 /usr/bin/python /usr/bin/salt-minion -d pi 3856 0.0 0.4 3548 1828 pts/1 S+ 04:06 0:00 grep --color=auto salt
Eh? It's still running?
$ sudo /etc/init.d/salt-minion stop [ ok ] Stopping salt minion control daemon: salt-minion. pi@withknown ~ $ sudo /etc/init.d/salt-minion status [ ok ] salt-minion is running.
Force quit, confirm it's not running:
pi@withknown ~ $ sudo kill -9 3677 pi@withknown ~ $ sudo kill -9 3718 pi@withknown ~ $ sudo ps auxwww | grep salt pi 3929 0.0 0.4 3548 1832 pts/1 S+ 04:08 0:00 grep --color=auto salt
Now run the minion in a debug mode (hit CTRL-C after several minutes):
$ date ; sudo /usr/bin/salt-minion -l trace ; date Tue Sep 8 04:09:43 UTC 2015 [DEBUG ] Reading configuration from /etc/salt/minion [DEBUG ] Using cached minion ID from /etc/salt/minion_id: withknown [DEBUG ] Reading configuration from /etc/salt/minion [DEBUG ] Using cached minion ID from /etc/salt/minion_id: withknown ^CTue Sep 8 04:11:34 UTC 2015
Checking the contents of /tmp/bootstrap-salt.log shows the following:
�[1;32m * INFO�[0m: System Information: �[1;32m * INFO�[0m: CPU: �[1;32m * INFO�[0m: CPU Arch: armv6l �[1;32m * INFO�[0m: OS Name: Linux �[1;32m * INFO�[0m: OS Version: 3.18.11+ �[1;32m * INFO�[0m: Distribution: Debian 7.8
�[1;32m * INFO�[0m: Installing minion �[1;32m * INFO�[0m: Found function install_debian_7_deps �[1;32m * INFO�[0m: Found function install_debian_7_stable �[1;32m * INFO�[0m: Found function install_debian_restart_daemons �[1;32m * INFO�[0m: Found function daemons_running �[1;32m * INFO�[0m: Found function install_debian_check_services �[1;32m * INFO�[0m: Running install_debian_7_deps() Hit http://debian.saltstack.com wheezy-saltstack Release.gpg Hit http://debian.saltstack.com wheezy-saltstack Release Hit http://raspberrypi.collabora.com wheezy Release.gpg Get:1 http://archive.raspberrypi.org wheezy Release.gpg [473 B] Get:2 http://mirrordirector.raspbian.org wheezy Release.gpg [490 B] Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages Get:3 http://mirrordirector.raspbian.org wheezy Release [14.4 kB] Hit http://raspberrypi.collabora.com wheezy Release Get:4 http://archive.raspberrypi.org wheezy Release [17.6 kB] Get:5 http://httpredir.debian.org wheezy-backports Release.gpg [1,554 B] Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages Get:6 http://mirrordirector.raspbian.org wheezy/main armhf Packages [6,908 kB] Get:7 http://archive.raspberrypi.org wheezy/main armhf Packages [134 kB] Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB Get:8 http://httpredir.debian.org wheezy-backports Release [167 kB] Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB Get:9 http://httpredir.debian.org wheezy-backports/main armhf Packages [546 kB] Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB Ign http://archive.raspberrypi.org wheezy/main Translation-en Get:10 http://httpredir.debian.org wheezy-backports/main Translation-en [363 kB] Get:11 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.6 kB] Get:12 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [49.3 kB] Get:13 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [592 B] Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en Fetched 8,226 kB in 48s (168 kB/s) Reading package lists... W: There is no public key available for the following key IDs: 7638D0442B90D010 Reading package lists... Building dependency tree... Reading state information... wget is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. Reading package lists... Building dependency tree... Reading state information... raspbian-archive-keyring is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. Hit http://debian.saltstack.com wheezy-saltstack Release.gpg Hit http://mirrordirector.raspbian.org wheezy Release.gpg Hit http://raspberrypi.collabora.com wheezy Release.gpg Hit http://archive.raspberrypi.org wheezy Release.gpg Hit http://debian.saltstack.com wheezy-saltstack Release Hit http://httpredir.debian.org wheezy-backports Release.gpg Hit http://mirrordirector.raspbian.org wheezy Release Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages Hit http://raspberrypi.collabora.com wheezy Release Hit http://archive.raspberrypi.org wheezy Release Hit http://httpredir.debian.org wheezy-backports Release Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages Hit http://archive.raspberrypi.org wheezy/main armhf Packages Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages Hit http://httpredir.debian.org wheezy-backports/main armhf Packages Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages Get:1 http://httpredir.debian.org wheezy-backports/main Translation-en [363 kB] Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en Ign http://archive.raspberrypi.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en Fetched 363 kB in 20s (17.6 kB/s) Reading package lists... W: There is no public key available for the following key IDs: 7638D0442B90D010 OK Hit http://debian.saltstack.com wheezy-saltstack Release.gpg Hit http://debian.saltstack.com wheezy-saltstack Release Hit http://mirrordirector.raspbian.org wheezy Release.gpg Hit http://raspberrypi.collabora.com wheezy Release.gpg Hit http://archive.raspberrypi.org wheezy Release.gpg Hit http://debian.saltstack.com wheezy-saltstack/main armhf Packages Hit http://mirrordirector.raspbian.org wheezy Release Hit http://raspberrypi.collabora.com wheezy Release Hit http://archive.raspberrypi.org wheezy Release Hit http://httpredir.debian.org wheezy-backports Release.gpg Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages Hit http://archive.raspberrypi.org wheezy/main armhf Packages Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages Hit http://httpredir.debian.org wheezy-backports Release Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en_GB Ign http://debian.saltstack.com wheezy-saltstack/main Translation-en Hit http://httpredir.debian.org wheezy-backports/main armhf Packages Hit http://httpredir.debian.org wheezy-backports/main Translation-en Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en Ign http://archive.raspberrypi.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en Reading package lists... W: There is no public key available for the following key IDs: 7638D0442B90D010 Reading package lists... Building dependency tree... Reading state information... python-apt is already the newest version. python-zmq is already the newest version. libzmq3 is already the newest version. libzmq3-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded. Reading package lists... Building dependency tree... Reading state information... pciutils is already the newest version. procps is already the newest version. python-requests is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. �[1;32m * INFO�[0m: Running install_debian_7_stable() Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: dctrl-tools dmidecode python-dateutil salt-common Suggested packages: debtags salt-doc python-mako python-augeas The following NEW packages will be installed: dctrl-tools dmidecode python-dateutil salt-common salt-minion 0 upgraded, 5 newly installed, 0 to remove and 37 not upgraded. Need to get 0 B/3,300 kB of archives. After this operation, 11.7 MB of additional disk space will be used. Selecting previously unselected package dmidecode. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 80665 files and directories currently installed.) Unpacking dmidecode (from .../dmidecode_2.12-2~bpo70+1_armhf.deb) ... Selecting previously unselected package dctrl-tools. Unpacking dctrl-tools (from .../dctrl-tools_2.22.2_armhf.deb) ... Selecting previously unselected package python-dateutil. Unpacking python-dateutil (from .../python-dateutil_1.5+dfsg-0.1_all.deb) ... Selecting previously unselected package salt-common. Unpacking salt-common (from .../salt-common_2015.5.3+ds-1~bpo70+2_all.deb) ... Selecting previously unselected package salt-minion. Unpacking salt-minion (from .../salt-minion_2015.5.3+ds-1~bpo70+2_all.deb) ... Processing triggers for man-db ... Setting up dmidecode (2.12-2~bpo70+1) ... Setting up dctrl-tools (2.22.2) ... Setting up python-dateutil (1.5+dfsg-0.1) ... Setting up salt-common (2015.5.3+ds-1~bpo70+2) ... Setting up salt-minion (2015.5.3+ds-1~bpo70+2) ... [....] Starting salt minion control daemon: salt-minion�[?25l�7�[1G[�[32m ok �[39;49m�8�[?12l�[?25h. �[1;32m * INFO�[0m: Running install_debian_check_services() �[1;32m * INFO�[0m: Running install_debian_restart_daemons() Starting salt minion control daemon: salt-minion. �[1;32m * INFO�[0m: Running daemons_running() �[1;32m * INFO�[0m: Salt installed!
Note the presence of warnings about There is no public key available for the following key IDs: 7638D0442B90D010 as was mentioned by others in this thread.
During debugging, at various times I too received errors about "Illegal operation". At the time I thought I had debuged that to be a matter of not running the command as sudo but I have not been able to reliably reproduce this behavior.
I have also tried (and failed) to use the documented instructions to install the second-most-recent version, but it might be better to stop here and keep the focus on the current problem.
Any suggestions?
— Reply to this email directly or view it on GitHub https://github.com/saltstack/salt/issues/24955#issuecomment-138426424.
Any news on this ? :)
@alkivi-sas, not that I know of. We're working on getting through our backlog of issues.
I just hit this, I had been bootstrapping pi's just fine, albeit with an older version of salt-bootstrap (2015.08.06 + mods). It seems to only be broken on the raspbian lite image for me. I've been using the offical Raspbian jessie images: 2015-09-24-raspbian-jessie (works) 2015-11-21-raspbian-jessie-lite (fails)
So its probably a dependency issue or a botched build of some package in the lite image.
Running: python -vvv /usr/bin/salt-call
gives the following output which may point to openssl, of course I might be on the wrong track....
import cryptography.hazmat.primitives # precompiled from /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/__init__.pyc
import cryptography.hazmat.primitives.twofactor # directory /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor
# trying /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.arm-linux-gnueabihf.so
# trying /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.so
# trying /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__module.so
# trying /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.py
# /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.pyc matches /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.py
import cryptography.hazmat.primitives.twofactor # precompiled from /usr/lib/python2.7/dist-packages/cryptography/hazmat/primitives/twofactor/__init__.pyc
# trying /usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/_openssl.arm-linux-gnueabihf.so
dlopen("/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/_openssl.arm-linux-gnueabihf.so", 2);
Illegal instruction
When following the latest install instructions here: https://github.com/saltstack/salt/blob/2015.8/doc/topics/installation/debian.rst
It will fail to run on a raspberry pi (Illegal Instruction). But after running another apt-get upgrade which unpacks python-tornado 4.2.1-1+b2 (from stretch) over 4.2.0-1~bpo8+1 (from jessie-backports) it magically works.
I think the issues are from using the standard debian repo for binary packages instead of raspbian. The python-tornado package from the standard debian archive doesn't seem to want to run on armv6 which makes sense. I'll test a fresh install without using jessie-backports and if that works i'd suggest we update the documentation for install on raspbian.
@damonnk For now, Salt Bootstrap doesn't support automatic installation on Raspbian. Try to follow installation instruction that @virtualguy has suggested. I guess this issue could closed as a duplicate of saltstack/salt-bootstrap#695. Thanks!
Ping @jfindlay
With the Raspberry 2b, we switch to official Debian image which fully support ARMv7. So for us, it's ok :)
The Raspberry Pi 1 and 2 range are an old ARM 32 bit chip 99% of distros have dropped support for this old ARM chip. Most (if not all) of the other single board chips run the current ARM 32bit chip So for Raspberry Pi 1 and 2 you must get any binaries for the Raspberry Repo and not any other source. Raspberry Pi 3 just release is current 64bit chip which will see the Raspberry Pi being able to run more distros. I run fedora on a WandBoard which uses current 32bit chip and point the repo at the x86 https://repo.saltstack.com/yum/redhat/latest/x86_64/latest/ and run dnf install salt* it picks up the noarch from salt the the binaries come from fedora.
I think it's a real shame that salt-bootstrap does not support raspbian and all raspberry pi's out of the box. At our salt meetup (Paris), we often have people complaining about this. Note that often people want to try out at home this technology before recommending it to their boss or at work, so in my humble opinion, theses users should get the best UX possible, and for all versions of the Pi. Seeing that a project considers Pi1 or 2 as "old" platforms is usually perceived as "oh, so it's meant to run on some cutting edge hardware". I would like to keep on encouraging hobbyists to try out salt for things such as home automation like suggested in https://docs.saltstack.com/en/latest/topics/proxyminion/index.html ... it's getting harder and harder.
@arthurlogilab I think you're very welcome to submit PR to https://github.com/saltstack/salt-bootstrap/pulls
As for now, you're able to install Salt manually from Raspbian testing repo: https://docs.saltstack.com/en/latest/topics/installation/debian.html#installation-from-the-debian-raspbian-official-repository Very simple script (few lines of Bash) could be written following this guide to perform bootstrapping exclusively for Raspbery Pi.
I got Puppet running on ARM, logged a case for better support and got back not supported at all, and no plans to support. SaltStack have a good attitude towards ARM Platform. If the main distro's do not support it older ARM chips its a bit hard for Salt Stack. But no-arch repo for common distros should be enough.
TLDR: Use -P
Ran into the same problem, tried the approach "few lines of bash" but there is also a even simpler workaround. First the bash approach:
if grep -q 'PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"' /etc/os-release ; then
echo "deb http://archive.raspbian.org/raspbian/ stretch main" | sudo tee -a /etc/apt/sources.list
echo "APT::Default-Release "jessie";" | sudo tee /etc/apt/apt.conf.d/10apt
gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553
gpg -a --export 8B48AD6246925553 | sudo apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg -a --export 7638D0442B90D010 | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y python-zmq python-tornado/stretch
sudo apt-mark hold python-tornado
fi
myIP=$(/sbin/ip -4 -o addr show dev eth0| awk '{split($4,a,"/");print a[1]}')
curl -L https://bootstrap.saltstack.com | sudo sh -s -- -M -L -A ${myIP} -i minion-on-saltmaster git v2016.11.1
(The keyserver lines are necessary at least in the current Raspbian 2016-11-25-raspbian-jessie)
But as seen in https://github.com/saltstack/salt-bootstrap/blob/a8e6b950c755779957355fc5c7f1c6ca04024ed8/bootstrap-salt.sh#L3031 , the current default-development-branch's commit, it is already enough to specify the -P option -P Allow pip based installations. as then the required version will be satisfied.
So this is then the currently working bash script to install salt master and minion on a Raspberry:
if grep -q 'PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"' /etc/os-release ; then
gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553
gpg -a --export 8B48AD6246925553 | sudo apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg -a --export 7638D0442B90D010 | sudo apt-key add -
fi; \
myIP=$(/sbin/ip -4 -o addr show dev eth0| awk '{split($4,a,"/");print a[1]}'); \
curl -L https://bootstrap.saltstack.com | sudo sh -s -- -U -P -M -L -A ${myIP} -i minion-on-saltmaster git v2016.11.1
Tested on Raspbian version 2016-11-25-rasbian-jessie.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
If this issue is closed prematurely, please leave a comment and we will gladly reopen the issue.
After bootstrap trying to start
Version
I also tried with an empty minion config, but the problem remains.
I am assuming(ohoh) that it should work out of the box after bootstrapping. Am I doing something wrong ? Or doesn't this version work on a PI ?