Articles

Affichage des articles associés au libellé devops

Unassigned shards in Elasticsearch

Problème Suite à la montée de version d'elasticsearch 5 vers 6 les shards n'étant pas alloués ce qui provoquait un dysfonctionnement du cluster elastic (j'avais 50% des shards alloués et donc un cluster 'Jaune' -> Pas fonctionnel) Solution  Il fallait simplement lire la doc de migration ... Dans la doc de migration d'elastic 5 vers 6 on désactive le setting d'allocation de shards et a la fin de la migration il faut simplement la réactiver (une étape qui a du être oubliée).  Sur un des nœud :  curl -XPUT 'localhost:9200/_cluster/settings' -d '{ "transient": { "cluster.routing.allocation.enable" : "all" } }' Après avoir activé l'allocation, les shards ont été automatiquement activés et le cluster est passé en Vert (fonctionnel a 100%).

ElasticSearch 6 Systemd configuration memory lock pour Redhat 7

Problème Suite à la mise a jour d'elasticsearch 5.x vers 6.x, il m'était impossible de démarrer le demon via systemd car j'avais l'erreur suivante : [1] bootstrap checks failed [1]: memory locking requested for elasticsearch process but memory is not locked Solution C'est tout simplement écrit dans la doc d'elasticsearch mais il faut fouiller un peu. Dans le fichier de configuration systemd elasticsearch.service rajouter apres [Service] , LimitMEMLOCK=infinity: [ Service ] LimitMEMLOCK = infinity Puis recharger le demon systemctl sudo systemctl daemon - reload

Grok pattern conditionnel check

Problème Lorsque l'ont veut appliquer un pattern grok sur une chaine envoyée par filebeat par exemple, il arrive que certains champs qui doivent respecter un pattern donné soit vide ce qui se traduit coté grok par un pattern qui ne correspond pas et donc par un parsing qui n'est pas envoyé correctement à elastic search.  Exemple Soit la chaine suivante :  [27/Oct/2017:15:38:48 +0200] 127.0.0.1 - 200 80 212 GET /show HTTP/1.1 Et le pattern grock suivant :  \[%{MONTHDAY}[./-]%{WORD}[./-]%{YEAR}[:]%{TIME}%{SPACE}[+]%{INT}\]%{SPACE}%{IP:[parameters][remoteip]}%{SPACE}%{USER:[parameters][user]}%{SPACE}%{INT:[parameters][httpcode]}%{SPACE}%{INT:[parameters][localport]}%{SPACE}%{INT:[parameters][processtime]}%{SPACE}%{GREEDYDATA:[parameters][requestfistline]} Le résultat attendu : { "MONTHDAY": [ [ "27" ] ], "WORD": [ [ "Oct" ] ], "YEAR": [ [ "2017" ] ...

Docker registry avec certificat auto-signé (--insecure-registry)

Démarrer le registry sur le serveur docker run -d -p 5000:5000 --restart=always --name registry \ -v {chemin_du_fs_stockage_des_donnes}/data:/var/lib/registry \ registry:2f Authentification auto-signé (Voir https://docs.docker.com/registry/insecure/ )  myregistrydomain => ip, dns du serveur hébergeant le registry Attention! Pas du tout adapté pour un environnement de PROD !  Génération du certificat sur le serveur hébergeant le registry mkdir -p certs && openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \ -x509 -days 365 -out certs/domain.crt Be sure to use the name myregistrydomain.com as a CN. Démarrage du registry avec les certificats docker run -d -p 5000:5000 --restart=always --name registry \ -v {chemin_contenant_les_crt_key}:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2 Coté client Attention testé uniquement sur Ubuntu , la facon diffère ...

Page blanche lors de l'installation de testlink

Problème Après avoir installé (migration testlink 1.9.13 > 1.9.14) testlink j'avais une page blanche sur tout le site. La page blanche survenait lorsque je copias le fichier config_db.inc.php contenant les infos de connexion à la base de donnée. Solution Après avoir déclaré un incident mantis a l'équipe gérant testlink (http://mantis.testlink.org/view.php?id=7311) il s'avère que c'était bêtement un problème de droits sur deux répertoires. Il m'a suffit de changer les droits pour les répertoires en 775:  {testlink_install}/gui/templates_c {testlink_install}/logs

Insufficient privileges avec SonarQube 5.0 et Jenkins

Problème Suite au passage a SonarQube 5.0 les jobs jenkins qui étaient responsable de faire l'analyse Sonar ne fonctionnaient plus.  J'avais comme erreur :  Caused by: java.lang.IllegalStateException: {"errors":[{"msg":"Insufficient privileges"}]} Après quelque recherche je me suis rendu compte que c'était lié au changement de profil qualité (Quality Profiles). Solution Prérequis: Avoir les accès admin sur Sonar et Jenkins Créer dans Sonar un utilisateur  Aller dans le fichier sonar.properties sur le file system Ajouter dans le fichier : sonar.security.localUsers: {utilisateur-technique-crée} Aller dans la configuration Jenkins (Adminstrer Jenkins > Configurer le système) Puis dans la partie 'Installations de Sonar' Dans 'Login du compte Sonar' mettre le  login de l'utilisateur sonar crée Dans 'Mot de passe du compte Sonar' mettre le mdp associé au login Aller dans l'interface we...

Installation de VirtualBox sur Fedora

Ayant galéré sur Fédora pour installer VirtualBox, voici la procédure simplifiée que j'ai suivi afin que celui-ci fonctionne. Tiré du site http://doc.fedora-fr.org/wiki/VirtualBox_:_installation,_configuration,_utilisation Prérequis Mettre a jour le système $ su - # yum update Outils de compilation et bibliothèques $ su - # yum groupinstall "Development Tools" # yum install kernel-devel Ou si noyau PAE $ su - # yum groupinstall "Development Tools" # yum install kernel-PAE-devel Savoir si on a un noyau PAE $ uname -r Installation # cd /etc/yum.repos.d/ # urlgrabber http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo # yum install VirtualBox Ne bien mettre que VirtualBox et non un nom du genre VirtualBox-{version} Attention: Si le noyeau système de Fédora est mis a jour VirtualBox ne fonctionnera plus. Si cela arrive il faut désinstaller VirtualBox avec sudo yum remove VirtualBox.{version achi} puis sudo yum install V...

Processus de release automatisé avec maven-release et Jenkins

Prérequis Jenkins (Et une connaissance de base de celui-ci) Un dépôt de sources (Ici SVN) Un dépôt d’artefacts (Ici Archiva) Un projet maven Paramétrage du projet Maven Aller dans le pom.xml du projet (Pom parent si multi module) Ajouter le lien vers le SCM  scm:svn:{url trunk} scm:svn:{url trunk} Ajouter le pluggin org.apache.maven.plugins maven-release-plugin 2.4.1 @{project.version} deploy true Commit Paramétrage de Jenkins A partir de la page principale de Jenkins cliquer sur 'Administrer Jenkins' Puis 'Gestion des plugins' Si le plugin 'Maven Integration pluggin' n'est pas installé, ajoutez le Ajouter le plugin 'Jenkins Maven Release Plugin' Redemarrer Jenkins Afin que le plugin puisse créer les tags et archivers les artefacts dans le dépôt il faut qu'il puisse s'authentifier. Pour cela j'ai utilisé le setting...