Blog

Bienvenue...

...sur mon blog, j'utilise ce site pour noter les petites choses qui me sont utiles, que ça soit informatique ou autre :)

Il y a 2 mois 2 jours

J'ai eu a faire une migration svn-to-git. J'ai été bloqué par de mauvaises révisions presentes dans le repo SVN qui m'enpechaient de faire mon git svn clone. J'ai vu qu'il était possible de bypasser les mauvaises révisions svn en utilisant l'utilitaire svnadmin.

Du coup , j'ai écrit un petit script vite fait (crado mais ça fait le job :) ) pour lancer le dump du repo sans avoir à intervenir lorsqu'une révision était moisie :

#!/bin/sh
echo "removing initial revision dump"
rm -f /home/data01/svn-dumpfile-20190517-1
 
if ! [ -f /home/data01/svn-dumpfile-20190517 ] ; then
    echo "dumping first"
    /usr/bin/svnadmin dump /home/data01/repository > /home/data01/svn-dumpfile-20190517 2> ./dump-start.log
fi
echo "copie du dump"
cp /home/data01/svn-dumpfile-20190517 /home/data01/svn-dumpfile-20190517-1
 
counter=1
counter=$(tail ./dump-start.log |grep "Dumped revision" | tail -1 | awk -F "Dumped revision " '{print  $2}' | awk -F "." '{print  $1}')
((counter++))
echo "last buggy revision is : $counter"
echo "incrementing next revision"
((counter++))
echo "removing last dump.log"
echo > ./dump.log
res=1
echo "ready to start !?"
read toto
#42762
while [ "$counter" -le 42700 ] || [ "$res" -eq 1 ]
do
    echo "dumping from revision $counter"
    /usr/bin/svnadmin dump --incremental -r $counter:HEAD /home/data01/repository >> /home/data01/svn-dumpfile-20190517-1 2>>./dump.log
    res=$?
    if [ "$res" -ne 0 ] ; then
        newcounter=$(tail -20 ./dump.log |grep "Dumped revision" | tail -1 | awk -F "Dumped revision " '{print  $2}' | awk -F "." '{print  $1}')
        if [ "" != "$newcounter" ] && [ $newcounter -gt $counter ] ; then
            echo "found newcounter=$newcounter"
            counter=$newcounter
        fi
        ((counter++))
        echo "buggy revision is : $counter"
    else
        echo "end of the dump !"
        continue
    fi
    echo "skipping revision $counter"
    ((counter++))
done

C'est un script vite fait qui fait le job comme expliqué, je vous laisse le soin de mettre au propre si nécessaire ;)

Il y a 4 mois 1 semaine

Bon, je viens de réinstaller une centos 7, du coup je voulais reconfigurer vite fait le sssd pour que mes users ldap puissent se logguer.

Petites manip a faire pour y parvenir :

yum -y install sssd
echo "[domain/default]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
sudo_provider = ldap
ldap_uri = ldaps://ldap.example.com:636
ldap_default_bind_dn = uid=the_user,cn=users,dc=example,dc=com
ldap_default_authtok = l3passw0rd
ldap_default_authtok_type = password
ldap_id_use_start_tls = True
ldap_tls_reqcert = never
ldap_search_base = dc=example,dc=com
ldap_sudo_search_base = ou=wheel,dc=example,dc=com
ldap_netgroup_search_base = dc=example,dc=com
cache_credentials = True
enumerate = True
autofs_provider = ldap
override_homedir = /home/%u
default_shell = /bin/bash
 
[sssd]
services = nss, sudo, pam, autofs
config_file_version = 2
domains = default
 
[nss]
filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd
 
[pam]
 
[sudo]
 
[autofs]
 
[ssh]
" > /etc/sssd/sssd.conf
chmod 600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
authconfig --enablesssd --enablesssdauth --enablemkhomedir --enablelocauthorize --update
systemctl restart sssd.service

Et voila !

Il y a 1 année 1 mois

Créer le repertoire s'il n'existe pas :

mkdir /etc/systemd/system/docker.service.d/

Créer le fichier :

echo '[Service]
Environment="HTTP_PROXY=http://<proxy-host>:<proxy-port>"
' > /etc/systemd/system/docker.service.d/http-proxy.conf
echo '[Service]
Environment="HTTPS_PROXY=https://<proxy-host>:<proxy-port>"
' > /etc/systemd/system/docker.service.d/https-proxy.conf

Reload systemctl & le daemon docker :

systemctl daemon-reload
systemctl restart docker
Il y a 1 année 2 mois

Editer le fichier /etc/logrotate.conf et dé-commenter la ligne #compress, ensuite ajouter les lignes suivantes :

# use bzip2 rather than gzip
compresscmd /usr/bin/bzip2
uncompresscmd /usr/bin/bunzip2
compressoptions -9
compressext .bz2

Verifiez bien le path vers bzip2... (which bzip2 et yum install bzip2 pour l'installer ;) )

source : Daniel Sokolowski's Blog

Il y a 1 année 2 mois

WORK IN PROGRESS

Ma version du script run.sh fourni dans la doc de sitespeed.io

L'idée ici était surtout de ne pas avoir a downloader l'image docker sytématiquement (1.7Go !), donc je l'ai "pull"ée une première fois, puis j'ai fait un docker save comme dans le script à la fin des runs...

#!/bin/bash
 
echo $$ > /var/run/ssio.pid
 
# Specify the exact version of sitespeed.io. When you upgrade to the next version, pull it down and the chage the tag
BASE_DIR=/var/www/sitespeed.io
SSIO_VER=6.5.4
DOCKER_CONTAINER=sitespeedio/sitespeed.io:$SSIO_VER
 
# Setup the network and default ones we wanna use
$BASE_DIR/start-networks.sh
THREEG="--network 3g"
CABLE="--network cable"
 
# Simplify some configurations
CONFIG="--config /sitespeed.io/config.json"
DOCKER_SETUP="--shm-size=1g --rm -v $BASE_DIR:/sitespeed.io -v /etc/localtime:/etc/localtime:ro --name sitespeed"
 
EXISTS=$(docker images |grep "sitespeed.io" | grep "$SSIO_VER" | wc -l)
if [ $EXISTS -eq 0 ] && [ -f $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar ] ; then
   echo "loading docker image from $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar..."
   docker load -i $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar
elif [ $EXISTS -eq 0 ] ; then
  echo "no current image onboard, pulling it from docker..."
  # Get the container so we have it the next time we wanna use it
  docker pull $DOCKER_CONTAINER
fi
 
# Start running the tests
# We run more tests on our test server but this gives you an idea of how you can configure it
docker run $CABLE $DOCKER_SETUP $DOCKER_CONTAINER -n 3 /sitespeed.io/urls.txt $CONFIG
docker run $THREEG $DOCKER_SETUP $DOCKER_CONTAINER -n 3 --graphite.namespace sitespeed_io.emulatedMobile /sitespeed.io/urls.txt -c 3g --mobile true $CONFIG
docker run $CABLE $DOCKER_SETUP $DOCKER_CONTAINER -n 1 /sitespeed.io/others-urls.txt
 
if ! [ -f $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar ] ; then
  echo "saving pulled image to $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar"
  docker save $DOCKER_CONTAINER > $BASE_DIR/images/sitespeed.io-$SSIO_VER.tar
fi
 
echo "cleaning docker stuff..."
# We remove all docker stuff to get a clean next run
docker system prune --all --volumes -f
 
rm /var/run/ssio.pid

Pages