Disclaimer

Je ne voudrais pas que les personnes avec qui je travaille/j'ai travaillé pensent que je parle de leur(s) voisin(s) de bureau !

Les personnages et les situations de ce billet étant purement fictifs, toute ressemblance avec des personnes ou des situations existantes ou ayant existé ne saurait être que fortuite :)


Le problème

Je trouve que depuis quelques temps tout se passe trop bien sur le projet, qu'il n'y a pas beaucoup de tâches de le bac rouge, je décide donc de passer une matinée avec Brenda, je suis à quelques mètres.
1h après mon arrivée j'entends : "Merde, plus d'espace disque, où est Brendon ? "
Je demande à Brenda de m'expliquer la situation :
Brenda : Facile, on n'a plus d'espace disque pour créer notre package
Moi : Ok et dans ce cas on fait quoi ? Brenda : Bah on appelle Brendon !
Moi : Ok allons chercher Brendon.

L'arrivé du super héros

Mais Brendon est déjà en train venir vers nous (rapide l'ingénieur système !)
Brendon : "oui, c'est quoi le problème ? "
Brenda : "on a encore plus d'espace disque pour notre package, donc pas de livraison, pas de tests etc..."
Brendon : "Ok je peux avoir ton clavier ? "
Et là je vois Brendon ouvrir une console Putty, saisir une IP et hop connexion en root.
Je vois défiler des commandes :

df -k
ls -lS | more
cd /tmp
etc...

et hop, je vois un "rm" et en moins de 2 minutes j'entends : Brendon : Voilà c'est réglé.
Brenda le remercie et Brendon saute sur l'occasion pour répondre : "Pas de soucis, vous me paierez un café à l'occasion."

Le débriefing avec Brenda

Alors Brenda qu'en penses-tu ?
Brenda : Rien, l'incident ne m'a interrompu moins de 5 minutes
Moi : Ok c'est vrai, il semble super efficace Brendon, mais cela arrive souvent les problèmes d'espace disque ?
Brenda : Oui de temps en temps, il y a trop de projets, trop de logs, je crois que la base de données aussi utilise aussi beaucoup d'espace sur un autre file system et je crois que Brendon a beaucoup de travail sur plein de chantiers donc l'espace disque ce n'est pas trop sa priorité.
Moi : Ok mais en 2012, on n'a pas le droit d'avoir des problèmes d'espace disque, cela serait quand même bien de ne plus casser notre ligne de production surtout avec un problème d'espace disque. Quelle taille il fait ton package ?
Brenda : 15 Mo
Moi : Ok et quel est le cycle de vie de tes packages ? nombre de créations ? combien tu dois en garder etc...
Brenda : On crée des packages à chaque commit que l'on déploie sur l'environnement de Dev par contre, on déploie tous les 2 ou 3 jours en intégration + le package d'itération que l'on doit garder, donc :

  • 4 à 5 packages par jour,
  • Itérations de 2 semaines,
  • Au maximum, on a 5 versions à garder pour l'intégration,
  • Soit au Max : 50 packages par itération et 10 au minimum,
  • à 15Mo le package ça me fait entre 750Mo par itération au maximum et 150Mo au minimum,


Moi : Ok merci, nous avons toutes les informations nécessaires. Juste par curiosité, il reste combien de place sur le filesystème ou tu crées tes packages ?
Brenda : Il reste un peu plus d'1 Go donc dans un peu plus d'une itération on va se retrouver dans la même situation !!!!
Moi : Je vais aller payer un café à Brendon, je te tiens au courant.


Mon triple coup de boule rotatif avec cassage du tibia sans violence

Je suis donc allé payer un café à Brendon qui m'a expliqué sur le chemin de la machine à café qu'il était content de travailler avec Brenda, qu'heureusement qu'il était là car la dernière fois une équipe est resté planté toute l'après midi car il était en RTT...!!!
Moi : Mais tu ne penses pas que l'on pourrait éviter ce genre de problèmes ?
Brendon : oui on peut toujours s'améliorer mais il faudrait que l'on puisse avoir plus d'espaces disques et puis on ne va pas installer des Nagios sur tous les serveurs non ?

Moi : Ok mais cela serait quand même bien d'être alerté avant qu'il y ai un disque full ?
Brendon : Les développeurs me préviennent quand cela arrive, je ne vais pas passer mes journées à surveiller l'espace disque ?
Moi : C'est quel est ton rôle dans les équipes projets ?
Brendon : Installer les serveurs, régler les problèmes, je suis un peu celui que l'on appelle quand cela rien ne marche.
Moi : Ok, mais ça ne te plairait pas d'être le Monsieur qui fait en sorte que tout marche tout le temps ?
Brendon : Si mais si tout fonctionne, je ne sers plus à rien !

Etc etc et etc !!!
fin super héro

Mes agacements personnels

Brendon savait qu'il y avait un problème d'espace disque ou bien que celui-ci n'allait pas tarder à arriver, je suis presque convaincu qu'il attendait que cela plante pour intervenir...
Je dois être allergique aux personnes qui arrivent sur une console Putty pour taper des commandes ls, df, ls -ail, ls -l super rapidement pour montrer "leur maîtrise sous Unix/Linux".

Mais je pense surtout que le "fautif" n'est pas Brendon, mais son manager actuel et tous les managers qu'il a eu dans sa vie active : aucun ne lui ont expliqués que sont Job n'était pas QUE de régler les problèmes mais surtout de faire en sorte qu'ils n'apparaissent plus.
De plus, on retrouve un Anti-Pattern : "Si je ne sauve pas la planète, je n'existe pas, je peux donc perdre mon poste".

Ce besoin de reconnaissance est complètement légitime mais peu être réalisé d'une autre façon :

  • Communiquer sur les problèmes remontés de la semaine,
  • Communiquer sur l'avancement des chantiers d'amélioration identifiés (impacts, date de fin, ...)
  • Communiquer auprès des équipes projets sur les nouveaux processus,
  • Etc...

Brendon n'est plus que l'Homme qui règle les problèmes, c'est maintenant l'Homme qui fait aussi en sorte que les problèmes ne se reproduisent plus.


Conclusion : les solutions que Brendon a fini par mettre en place.

Installation d'un script de surveillance de l'espace disque pour le FileSystème de Brenda, disponible à cette adresse : http://www.cyberciti.biz/tips/shell-script-to-watch-the-disk-space.html

Ainsi qu'un script supprimant les fichiers plus vieux de 20 jours :

find /tmp/ ! -mtime -20 -exec rm {} \;

Cela nous a permis d'avoir du temps pour comprendre à quoi était utilisé l'espace disque, qui en avait besoin, combien, quelle consommation par semaine, etc...
Et Brendon a commencé à mettre en place des scripts pour protéger tous les projets.
Et maintenant, il a d'autres problèmes, il faut qu'il administre tous ces scripts, je pense qu'il va finir par utiliser un "vrai" produit afin de lui simplifier la vie, mais évènement exceptionnel : Brenda et son équipe n'ont plus eu de problème d'espace disque depuis plusieurs itérations :-)