All links of one day
in a single page.
<Previous day - Next day>

rss_feedDaily RSS Feed
floral_left The Daily Shaarli floral_right
——————————— February 15, 2021 - Monday 15, February 2021 ———————————

Je l'ai déjà écrit : nous utilisons Puppet pour configurer des stations de travail. Sur ces machines-là, le CRON qui lance Puppet (pourquoi ?) au démarrage (mot-clé @reboot dans CRON) effectue aussi un dpkg --configure -a afin de réparer les installations cassées (utilisateur qui éteint brutalement la machine en pleine installation / mise à jour…). On a donc dpkg --configure -a && puppet agent --enable && puppet agent -t ; apt -y update && apt -y upgrade. À plusieurs reprises, je constate que puppet n'est pas exécuté et que les mises à jour ne sont pas effectuées.

Pour debug, j'ai fait dans l'habituel : un echo, une commande, un echo, une commande, etc. On ne va pas plus loin que dpkg --configure -a. Rediriger la sortie standard et la sortie d'erreur dans un fichier (1>/tmp/testcron 2>&1) n'apporte pas d'information (si ça avait été le cas, j'aurai reçu un email, car CRON envoie la sortie standard et les erreurs par email). echo $? >/tmp/testcron est plus intéressant : dpkg termine avec le code d'erreur 2. D'après son manuel, il s'agit d'une erreur fatale ou irrécupérable. Rien que ça.

Pour la suite, ça a été un coup de chance. Dans CRON, le PATH n'est pas celui de root, mais « /usr/bin:/bin ». Or, dpkg a besoin de « /usr/sbin:/sbin ». Je ne vois pas trop quels binaires il exécute dedans, mais soit. Ajouter export PATH=$PATH:/sbin:/usr/sbin dans mon script résout mon problème.

Pour les plus attentifs : pourquoi je ne chaîne pas « apt -y upgrade » à « puppet agent -t » avec && ? Lorsqu'il effectue des actions, puppet agent ne termine pas avec le code d'erreur 0 mais 2 (cf son manuel), donc le chaînage en cas de succès (&&) est caduque.

ArubaOS (utilisé dans le produit Aruba Mobility Master v8.6) refuse de démarrer / booter dans une machine virtuelle KVM sur un hyperviseur Proxmox 6 car il manque les instructions CPU SSSE3.

On se dit qu'on va faire un qm set, mais, d'après la doc', les drapeaux activables sont limités, et il n'y a pas SSSE3.

Il y a qu'à choisir un modèle de CPU virtuel qui prend en charge SSSE3. Par défaut, le type de CPU émulé par Proxmox+KVM est kvm64, qui est un Pentium 4 avec des jeux d'instructions retirés.

Dans les propriétés de la VM, onglet « Hardware », « Processors », on peut choisir le modèle de CPU dans la liste déroulante « Type ». SSSE3 étant ancien (2004), n'importe quel modèle de CPU devrait faire l'affaire. Nous avons choisi IvyBridge, fin du problème.

-